Мазмұны:
- 1 -қадам: Қажетті жабдық:
- 2 -қадам: Жабдықты қосу:
- 3 -қадам: магнит өрісінің қарқындылығын өлшеу үшін Java коды:
- 4 -қадам: Өтініштер:
Бейне: HMC5883 және Raspberry Pi көмегімен магниттік өрісті өлшеу: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
HMC5883-бұл төмен өрісті магнитті сезуге арналған цифрлық компас. Бұл құрылғыда магнит өрісінің кең диапазоны +/- 8 Oe және шығыс жылдамдығы 160 Гц. HMC5883 сенсорында композитті бағыттау дәлдігін 1 °-2 ° дәлдікке қосатын автоматты ажырату таспасының драйверлері, офсетті жою және 12 биттік ADC бар. Барлық I²C шағын модульдері 5VDC жұмыс істеуге арналған.
Бұл оқулықта біз HMC5883 -тің Raspberry pi -мен егжей -тегжейлі жұмыс істеуін және оны java программалау тілінің көмегімен бағдарламалауын түсіндіреміз.
1 -қадам: Қажетті жабдық:
Тапсырманы орындау үшін келесі жабдық қажет:
1. HMC5883
2. Raspberry Pi
3. I2C кабелі
4. Raspberry Pi үшін I2C қалқаны
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 ) Ерекшеліктерді шығарады
{
// I2C шинасын жасаңыз
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// I2C құрылғысын алыңыз, HMC5883 I2C мекенжайы - 0x1E (30)
I2CDevice құрылғысы = Bus.getDevice (0x1E);
// Конфигурация регистрін таңдаңыз A
// Қалыпты өлшеу конфигурациясы, мәліметтер жиілігі o/p = 0,75 Гц
device.write (0x00, (байт) 0x60);
// Режим регистрін таңдаңыз
// Үздіксіз өлшеу режимі
device.write (0x02, (байт) 0x00);
Thread.sleep (500);
// 0x03 (3) 6 байт деректерді оқу
// 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 (3) 6 байт деректерді оқу
// xMag msb, xMag lsb, zMag msb, zMag lsb, yMag msb, yMag lsb
байт деректер = жаңа байт [6];
device.read (0x03, деректер, 0, 6);
Шығару жоғарыдағы суретте көрсетілген.
4 -қадам: Өтініштер:
HMC5883-бұл төмен бағалы компас пен магнитометрия сияқты қосымшаларға арналған цифрлық интерфейсі бар, төмен өрісті магнитті зондтауға арналған жер үсті, көп чипті модуль. Оның бір -екі дәрежелі дәлдігі мен дәлдігі жаяу жүру навигациясы мен LBS қосымшаларын қосады.
Ұсынылған:
AD7416ARZ және Raspberry Pi көмегімен температураны өлшеу: 4 қадам
AD7416ARZ және Raspberry Pi көмегімен температураны өлшеу: AD7416ARZ-бұл цифрлық түрлендіргіштерге аналогты төрт бір арналы аналогы бар 10 биттік температура сенсоры және оған қосылған борттық температура сенсоры. Бөлшектердегі температура сенсорына мультиплексорлық арналар арқылы қол жеткізуге болады. Бұл жоғары дәлдіктегі температура
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 сенсорында автоматты ажырату белбеу драйверлері, офсетті жою және
Arduino Milligaussmeter - магниттік өлшеу: 4 қадам
Arduino Milligaussmeter - магниттік өлшеу: күшті магниттерді ұшаққа жіберуге бола ма? Біз көптеген магниттерді жібереміз және магнитті материалды, әсіресе ұшақта тасымалдаудың белгілі бір ережелері бар. Бұл мақалада біз өзіңіздің әуе тасымалдау үшін өз миллигауссметрін қалай жасауға болатынын қарастырамыз