Мазмуну:
- 1 -кадам: Аппараттык камсыздоо талап кылынат:
- 2 -кадам: Аппараттык туташуу:
- 3 -кадам: Магниттик талаанын интенсивдүүлүгүн өлчөө үчүн Java коду:
- 4 -кадам: Тиркемелер:
Video: HMC5883 жана Raspberry Pi колдонуу менен магниттик талааны өлчөө: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
HMC5883-төмөн талаадагы магниттик сезүү үчүн иштелип чыккан санариптик компас. Бул аппараттын магнит талаасынын кенен диапазону +/- 8 Oe жана чыгаруу ылдамдыгы 160 Гц. HMC5883 сенсоруна автоматтык түрдө ажыратуучу драйверлер, офсеттин жокко чыгарылышы жана компастын багытынын 1 °-2 ° тактыгын камсыз кылган 12 биттик ADC кирет. Бардык I²C Mini модулдары 5VDCде иштөө үчүн иштелип чыккан.
Бул окуу куралында, HMC5883тин Raspberry pi менен деталдуу иштешин жана Java программалоо тилин колдонуу менен анын программаланышын түшүндүрөбүз.
1 -кадам: Аппараттык камсыздоо талап кылынат:
Тапшырманы аткаруу үчүн керектүү жабдыктар төмөндөгүдөй:
1. HMC5883
2. Raspberry Pi
3. I2C кабели
4. Raspberry Pi үчүн I2C Shield
5. Ethernet кабели
2 -кадам: Аппараттык туташуу:
Аппараттык туташуу бөлүмү негизинен сенсор менен малина пи ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:
HMC5883 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.
Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!
Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.
Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.
3 -кадам: Магниттик талаанын интенсивдүүлүгүн өлчөө үчүн Java коду:
Малина пи колдонуунун артыкчылыгы, сенсорго интерфейс үчүн тактаны программалоону каалаган программалоо тилинин ийкемдүүлүгүн камсыз кылат. Бул тактанын артыкчылыгын колдонуп, биз бул жерде Java тилинде программалоону көрсөтүп жатабыз. HMC5883 үчүн java кодун биздин github коомчулугунан жүктөп алса болот Dcube Store.
Колдонуучулардын ыңгайлуулугу үчүн, биз бул жерде кодду түшүндүрүп жатабыз:
Коддоонун биринчи кадамы катары java болгон учурда pi4j китепканасын жүктөп алуу керек, анткени бул китепкана коддо колдонулган функцияларды колдойт. Ошентип, китепкананы жүктөө үчүн төмөнкү шилтемеге кире аласыз:
pi4j.com/install.html
Бул сенсордун java кодун бул жерден көчүрүп алсаңыз болот:
com.pi4j.io.i2c. I2CBus импорттоо;
com.pi4j.io.i2c. I2CDevice импорттоо;
mport com.pi4j.io.i2c. I2CFactory;
java.io. IOException импорттоо; коомдук класс HMC5883
{
public static void main (String args ) Exception ыргытат
{
// I2C шинасын түзүү
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C түзмөгүн алыңыз, HMC5883 I2C дареги 0x1E (30)
I2CDevice түзмөгү = Bus.getDevice (0x1E);
// Конфигурация регистрин тандоо А.
// Кадимки өлчөө конфигурациясы, маалымат ылдамдыгы o/p = 0,75 Гц
device.write (0x00, (байт) 0x60);
// Режимди тандаңыз
// Үзгүлтүксүз өлчөө режими
device.write (0x02, (байт) 0x00);
Thread.sleep (500);
// 0x03төн 6 байт маалыматтарды окуу (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
байт маалымат = жаңы байт [6];
device.read (0x03, маалыматтар, 0, 6);
// Маалыматты конвертациялоо
int xMag = ((маалыматтар [0] & 0xFF) * 256 + (маалыматтар [1] & 0xFF));
эгер (xMag> 32767)
{
xMag -= 65536;
}
int zMag = ((маалыматтар [2] & 0xFF) * 256 + (маалыматтар [3] & 0xFF));
эгер (zMag> 32767)
{
zMag -= 65536;
}
int yMag = ((маалыматтар [4] & 0xFF) * 256 + (маалыматтар [5] & 0xFF));
эгер (yMag> 32767)
{
yMag -= 65536;
}
// Экранга маалыматтарды чыгаруу
System.out.printf ("X огунда магнит талаасы: %d %n", xMag);
System.out.printf ("Y огунда магнит талаасы: %d %n", yMag);
System.out.printf ("Z огунда магнит талаасы: %d %n", zMag);
}
}
Write () жана read () функциялары буйруктарды жазуу жана сенсордун чыгышын окуу үчүн колдонулат. Кийинки бөлүк магнит талаасынын маанилерин көрсөтөт.
// 0x03төн 6 байт маалыматтарды окуу (3)
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
байт маалымат = жаңы байт [6];
device.read (0x03, маалыматтар, 0, 6);
Чыгаруу жогорудагы сүрөттө көрсөтүлгөн.
4 -кадам: Тиркемелер:
HMC5883-бул төмөн баалуу компас жана магнитометрия сыяктуу колдонмолор үчүн санарип интерфейси бар, аз талаадагы магниттик сезүү үчүн иштелип чыккан, көп чиптүү модуль. Анын бирден эки даражага чейин жогорку деңгээлдеги тактык жана тактык жөө навигацияны жана LBS тиркемелерин иштетет.
Сунушталууда:
BH1715 жана Raspberry Pi колдонуу менен жарык интенсивдүүлүгүн өлчөө: 5 кадам
BH1715 жана Raspberry Pi менен жарыктын интенсивдүүлүгүн өлчөө: Кечээ биз ЖК дисплейлерде иштеп жатканбыз жана алардын үстүндө иштеп жатканда жарыктын интенсивдүүлүгүн эсептөөнүн маанилүүлүгүн түшүндүк. Жарык интенсивдүүлүгү бул дүйнөнүн физикалык чөйрөсүндө гана маанилүү эмес, бирок анын биологияда жакшы айтылган ролу бар
HMC5883 жана Arduino Nano колдонуу менен магниттик талааны өлчөө: 4 кадам
HMC5883 жана Arduino Nano аркылуу магниттик талааны өлчөө: HMC5883-бул аз талаадагы магниттик сезүү үчүн иштелип чыккан санариптик компас. Бул аппараттын магнит талаасынын кенен диапазону +/- 8 Oe жана чыгаруу ылдамдыгы 160 Гц. HMC5883 сенсоруна автоматтык түрдө ажыратуучу боонун драйверлери, ордун жокко чыгаруу жана
HMC5883 жана бөлүкчө фотонун колдонуу менен магниттик талааны өлчөө: 4 кадам
HMC5883 жана Бөлүк Фотонун колдонуу менен магниттик талааны өлчөө: HMC5883-бул аз талаадагы магниттик сезүү үчүн иштелип чыккан санариптик компас. Бул аппараттын магнит талаасынын кенен диапазону +/- 8 Oe жана чыгаруу ылдамдыгы 160 Гц. HMC5883 сенсоруна автоматтык түрдө ажыратуучу боонун драйверлери, ордун жокко чыгаруу жана
HIH6130 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HIH6130 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HIH6130 - бул санариптик чыгышы бар нымдуулук жана температура сенсору. Бул сенсорлор ± 4% RH тактыгын камсыз кылат. Өнөр жайдын алдыңкы узак мөөнөттүү туруктуулугу, чыныгы температуранын ордун толтуруучу санариптик I2C, индустриянын алдыңкы ишенимдүүлүгү, энергияны үнөмдөө
HTS221 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HTS221 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HTS221 - салыштырмалуу нымдуулук жана температура үчүн өтө компакт сыйымдуу санарип сенсор. Бул санариптик серия аркылуу өлчөө маалыматын берүү үчүн сезгич элементти жана аралаш сигналдын атайын интегралдык схемасын (ASIC) камтыйт