Fórum témák
» Több friss téma |
Cikkek » HMC6352 iránytűmodul - I2C (TWI) használata AVR-rel HMC6352 iránytűmodul - I2C (TWI) használata AVR-rel
Szerző: Fizikus, idő: Nov 27, 2010, Olvasva: 23922, Oldal olvasási idő: kb. 1 perc
Tomi_Bp az előző oldalon említett modulok közül csak az I2C-t használót próbálta ki, és megosztotta velünk az eredményeit. Köszönet érte! (a videóhoz kattints a képre) Ez a modul az I2C buszon keresztül a mágneses mező X és Y komponensét adja meg. Komponensenként 2 bájtban (egy magas és egy alacsony bájt). A mért adatokból egy ATMega16-ossal, trigonometriai függvények használatával számolja ki a tényleges irányszöget. Az iránytűmodulról az alábbi I2C függvényekkel kérdezi le a mágneses mező X és Y komponensét:
A magas és alacsony bájtokból kiszámolja X és Y értékek:
A linkelt videón látható. hogy a mérést a modul kalibrációjával kezdi (a modult lassan körbeforgatja). Ekkor az AVR megkeresi az mért X és Y komponensek minimumát és maximumát (az ábrán Xmin, Xmax, Ymin és Ymax). Kiszámolja X és Y átlagértékét is (Xoffset, Yffset). Ezután kiszámolja az egyes irányszögeknél mért X és Y értékek átlagtól való eltérését (deltaX és deltaY). Mivel a Föld mágneses mezeje Magyarországon nem vízszintes irányú, hanem enyhén "lefelé" mutat, ha a mért értékeket ábrázoljuk, akkor nem kört hanem egy ellipszist kapunk. Ezért az X és Y komponenseket normalizálja (elosztja deltaX-et és Y-t az adott komponenshez tartozó intervallummal: az ábrán Xsensitivity és Ysensitivity jelöli az intervallumot). Az átskálázott adatokból (a kódban xx és yy) egy atan() függvénnyel már kiszámolható az irányszög. ATMega16 C kód (szerző: Tomi_Bp): LCD driverek (szerző: gtk):
Értékeléshez bejelentkezés szükséges! |
Bejelentkezés
Hirdetés |