A HMC5883 Digitális Iránytű Csatlakoztatása Az Arduino-hoz

Tartalomjegyzék:

A HMC5883 Digitális Iránytű Csatlakoztatása Az Arduino-hoz
A HMC5883 Digitális Iránytű Csatlakoztatása Az Arduino-hoz

Videó: A HMC5883 Digitális Iránytű Csatlakoztatása Az Arduino-hoz

Videó: A HMC5883 Digitális Iránytű Csatlakoztatása Az Arduino-hoz
Videó: Использование 3-осевого датчика HMC5883L с Arduino - Учебное пособие 2024, December
Anonim

Vizsgáljuk meg a GY-273 modul és a Honeywell HMC5883L háromtengelyes digitális iránytű kapcsolatát. Ez a mikrokapcsolat használható magnetometrikus mérésekhez, navigációhoz, ha nincs szükség nagy mérési pontosságra (1 … 2 fokos hibával és a kalibrálás lehetőségével). A készülék az I2C interfészen keresztül csatlakozik.

HMC5883 digitális iránytű
HMC5883 digitális iránytű

Szükséges

  • - HMC5883 digitális iránytű;
  • - Arduino;
  • - prototípus tábla és összekötő vezetékek;
  • - számítógép.

Utasítás

1. lépés

Ezek a mágneses iránytű főbb jellemzői:

- 3 tengelyes mágnesesen érzékeny érzékelő;

- 12 bites ADC 2 mGs (milligauss) felbontással;

- beépített önteszt;

- alacsony üzemi feszültség és alacsony fogyasztás;

- digitális interfész I2C;

- magas szavazási arány - akár másodpercenként 160-szor (egy mérés ideje körülbelül 6 ms);

- az irány meghatározásának pontossága 1 °… 2 °;

- erős mágneses mezőkben alkalmazható (± 8 Gaus-ig).

A HMC5883L mágneses érzékelő és az Arduino összekapcsolásának diagramját az ábra mutatja. Nagyon kompakt és egyszerű, mert A kétvezetékes I2C interfész remek, mert kevés kapcsolatot igényel. Használhat kenyérlapot.

A HMC5883 digitális iránytű csatlakoztatása az Arduino-hoz
A HMC5883 digitális iránytű csatlakoztatása az Arduino-hoz

2. lépés

Valami olyannak kell kinéznie, mint a fénykép. Csatlakoztatok egy logikai elemzőt az SCL és az SDA buszokhoz is, hogy figyelemmel kísérjem az Arduino és a HMC5883 modul közötti információcserét. Nem kötelező.

HMC5883 digitális iránytű csatlakozik az Arduinóhoz a kenyérlapon
HMC5883 digitális iránytű csatlakozik az Arduinóhoz a kenyérlapon

3. lépés

Első ismeretségként próbáljuk meg elolvasni a HMC5883 digitális iránytű 10 (0xA), 11 (0xB) és 12 (0xC) azonosító regisztereit, és írjunk egy ilyen vázlatot, mint az ábrán látható. Részletes megjegyzésekkel látjuk el.

Vázlat a HMC5883 azonosító regisztereinek olvasásáról
Vázlat a HMC5883 azonosító regisztereinek olvasásáról

4. lépés

A logikai analizátorral kapott jel az ábrán látható lesz.

Mit jelent? Az első bájt az I2C cím, amellyel mi (a master eszköz, Arduino) kapcsolatot létesítünk (magas 7 bit 0x1E), és az írási mód (alacsony bit - 0x0); a szám 0x3C. A második bájt a 0xA szám, amelyet a 0x1E címre írtunk, és a HMC5883L érzékelő megerősítő bitjét, amely a slave. Ez az a regiszterszám, ahonnan az adatokat olvasni kezdjük. Ezzel lezárul az első tranzakció. A következő kezdődik. A harmadik bájt a szolga olvasási kérelme (a legjelentősebb 7 bit a 0x1E cím, a 8. bit pedig a 0x1 olvasási művelet; az így kapott szám 0x3D). Az utolsó 3 három bájt a HMC5883L slave válasza a 0xA, 0xB és 0xC regiszterből.

A HMC5883L digitális iránytű folyamatos olvasás közben önállóan mozog a regisztereken. Azok. nem szükséges (de nem is tilos) minden esetben megadni az esetet. Például, ha 0xA helyett 0x3-at írnánk, és tízszer olvasnánk, akkor 10 regiszterben kapnánk értékeket, a 3-tól 12-ig kezdődően.

És mi ez a három szám - 0x48, 0x34, 0x33? A HMC5883L digitális iránytű adatlapjának újbóli felhasználásával látni fogjuk, hogy ezek a három azonosító regiszter alapértelmezett értékei.

Az I2C és a HMC5883 digitális iránytű cseréjének időzítési diagramja
Az I2C és a HMC5883 digitális iránytű cseréjének időzítési diagramja

5. lépés

Ahhoz, hogy a digitális iránytű adatait a mágneses mezőre vegye, el kell olvasnia a 3–8 regisztereket, ugyanúgy, mint mi az azonosító regisztereket. Az egyetlen különbség az, hogy az X, Y és Z három tengely mindegyikének adatait kettős bájtos számként mutatjuk be. Tízes számokká konvertálva a három tengely mentén kapunk irányokat.

Ajánlott: