Tartalomjegyzék:
- 1. lépés: Általános információk az iránytű modulról
- 2. lépés: Szükséges összetevők
- 3. lépés: A GY-511 iránytűmodul illesztése az Arduino-val
- 4. lépés: A GY-511 iránytű modul kalibrálása
- 5. lépés: Áramkör
- 6. lépés: Kód
- 7. lépés: Digitális iránytű készítése
- 8. lépés: Áramkör
- 9. lépés: Kód
- 10. lépés: Mi a következő lépés?
Videó: A GY511 modul használata Arduino -val [Készítsen digitális iránytűt]: 11 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Áttekintés
Egyes elektronikai projekteknél bármikor ismernünk kell a földrajzi helyet, és ennek megfelelően kell elvégeznünk egy adott műveletet. Ebben az oktatóanyagban megtudhatja, hogyan használhatja az LSM303DLHC GY-511 iránytűmodult az Arduino-val digitális iránytű készítéséhez. Először is megismerheti ezt a modult és működését, majd látni fogja, hogyan illesztheti össze az LSM303DLHC GY-511 modult az Arduino-val.
Mit fog tanulni
- Mi az iránytű modul?
- Iránytű modul és Arduino interfész.
- Készítsen digitális iránytűt a GY-511 modul és az Arduino segítségével.
1. lépés: Általános információk az iránytű modulról
A GY-511 modul 3 tengelyes gyorsulásmérőt és 3 tengelyes magnetométert tartalmaz. Ez az érzékelő képes mérni a lineáris gyorsulást ± 2 g / ± 4 g / ± 8 g / ± 16 g teljes skálán és a mágneses mezőt ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 teljes skálán / ± 8,1 Gauss.
Amikor ezt a modult mágneses mezőbe helyezzük, a Lorentz -törvény szerint gerjesztőáramot indukál a mikroszkopikus tekercsében. Az iránytű modul ezt az áramot minden koordinátairányra differenciális feszültséggé alakítja át. Ezekkel a feszültségekkel kiszámíthatja a mágneses mezőt minden irányban, és megkaphatja a földrajzi helyzetet.
Tipp
A QMC5883L egy másik általánosan használt iránytű modul. Ez a modul, amelynek szerkezete és alkalmazása hasonló az LMS303 modulhoz, teljesítményében kissé eltér. Tehát ha a projekteket végzi, ügyeljen a modul típusára. Ha a modul QMC5882L, használja a megfelelő könyvtárat és kódokat, amelyek szintén megtalálhatók az oktatóanyagban.
2. lépés: Szükséges összetevők
Hardver alkatrészek
Arduino UNO R3 *1
GY-511 3 tengelyes gyorsulásmérő + magnetométer *1
TowerPro szervomotor SG-90 *1
1602 LCD modul *1
Jumper *1
Szoftveralkalmazások
Arduino IDE
3. lépés: A GY-511 iránytűmodul illesztése az Arduino-val
A GY-511 iránytűmodul 8 tűvel rendelkezik, de csak négyből kell csatlakoznia az Arduino-hoz. Ez a modul az Arduino -val kommunikál az I2C protokoll használatával, ezért csatlakoztassa a modul SDA (I2C kimenete) és SCK (I2C óra bemenet) csapjait az Arduino kártya I2C csapjaihoz.
Megjegyzés: Mint látható, ebben a projektben a GY-511 modult használtuk. De ezt az utasítást más LMS303 iránytű modulok beállítására is használhatja.
4. lépés: A GY-511 iránytű modul kalibrálása
A navigáláshoz először kalibrálnia kell a modult, ami azt jelenti, hogy a mérési tartományt 0 és 360 fok között kell beállítani. Ehhez csatlakoztassa a modult az Arduino -hoz az alábbiak szerint, és töltse fel a következő kódot a táblára. A kód végrehajtása után a soros monitor ablakban láthatja az X, Y és Z tengely mérési tartományának minimális és maximális értékeit. Ezekre a számokra lesz szüksége a következő részben, ezért írja le őket.
5. lépés: Áramkör
6. lépés: Kód
Ebben a kódban szüksége van a Wire.h könyvtárra az I2C kommunikációhoz, és az LMS303.h könyvtárra az iránytű modulhoz. Ezeket a könyvtárakat az alábbi linkekről töltheti le.
LMS303.h Könyvtár
Wire.h Könyvtár
Megjegyzés: Ha QMC5883 -at használ, a következő könyvtárra lesz szüksége:
MechaQMC5883L.h
Itt elmagyarázzuk az LMS303 kódját, de letöltheti a QMC modul kódjait is.
Lássunk néhány új funkciót:
compass.enableDefault ();
A modul inicializálása
iránytű.olvasás ();
Az iránytű modul kimeneti értékeinek leolvasása
fut_min.z = perc (fut_min.z, iránytű.m.z); futó_max.x = max (futó_max.x, iránytű.m.x);
A mérési tartomány minimális és maximális értékeinek meghatározása a mért értékek összehasonlításával.
7. lépés: Digitális iránytű készítése
A modul kalibrálása után iránytűt fogunk építeni úgy, hogy egy szervo motort csatlakoztatunk a modulhoz. Annak érdekében, hogy a szervo jelző mindig északi irányt mutasson nekünk, mint az iránytű piros nyílja. Ehhez először az iránytű modul kiszámítja a földrajzi irányt, majd elküldi az Arduino -nak, majd a megfelelő együttható alkalmazásával kiszámítja azt a szöget, amelyet a szervomotornak el kell forgatnia, hogy jelzője a mágneses észak felé mutasson. Végül ezt a szöget alkalmazzuk a szervomotorra.
8. lépés: Áramkör
9. lépés: Kód
Ehhez a részhez szüksége van a Servo.h könyvtárra is, amely alapértelmezés szerint az Arduino szoftverre van telepítve.
Lássunk néhány új funkciót:
Szervo szervo1;
A modul inicializálása
iránytű.olvasás ();
Bemutatjuk a szervomotoros objektumot
Servo1.attach (servoPin); iránytű.init (); compass.enableDefault ();
Az iránytű modul és a szervomotor inicializálása
A Servo1.attach () argumentum a szervomotorhoz csatlakoztatott csapok száma.
iránytű.m_min = (LSM303:: vektor) { -32767, -32767, -32767}; iránytű.m_max = (LSM303:: vektor) { +32767, +32767, +32767};
Ezekkel a sorokkal határozhatja meg az előző részben kapott tartomány mérésének minimális és maximális értékeit.
float head = compass.heading ((LSM303:: vektor) {0, 0, 1});
A head () függvény a koordináta tengely és a rögzített tengely közötti szöget adja vissza. A fix tengelyt egy vektorral definiálhatja a függvény argumentumban. Például itt az (LSM303:: vektor) {0, 0, 1} meghatározásával a Z tengely állandó tengelynek számít.
Servo1.write (fejléc);
A Servo1.write () függvény az iránytű modul olvasási értékét alkalmazza a szervomotorra.
Megjegyzés Vegye figyelembe, hogy a szervomotor mágneses mezővel rendelkezhet, ezért jobb, ha a szervomotort megfelelő távolságra helyezi el az iránytűmodultól, hogy ne okozzon eltérést az iránytűmodultól.
Ajánlott:
STONE HMI HASZNÁLATA Készítsen otthoni vezérlőrendszert: 9 lépés
A STONE HMI HASZNÁLATA Készítsen otthoni vezérlőrendszert: A projekt bemutatása Az alábbi oktatóanyag bemutatja, hogyan kell használni a STONE STVC050WT-01 érintőképernyős modult egy egyszerű háztartási készülék vezérlő rendszer létrehozásához. STONE STVC050WT - 01 az érintőképernyős kijelző modul 5 hüvelykes, 480 * 272 felbontású
Hogyan kell lebontani a digitális féknyerget és hogyan működik a digitális féknyereg: 4 lépés
Hogyan kell lebontani a digitális féknyerget és hogyan működik a digitális féknyereg: Sokan tudják, hogyan kell a féknyerget használni a méréshez. Ez az oktatóanyag megtanítja, hogyan kell lebontani a digitális féknyerget, és elmagyarázza, hogyan működik a digitális féknyereg
Készítsen 30 dolláros digitális képkeretet: 7 lépés
Készítsen 30 dolláros digitális képkeretet: Ez az oktatóanyag megmutatja, hogyan lehet 2,5 hüvelykes digitális képkeretet készíteni Mattel Juicebox segítségével. Az alkatrészek összköltsége körülbelül 30 dollár körül volt. Tudom, hogy ezt a típusú oktatóanyagot sokszor elvégezték, de gondoltam közzéteszem az előadásomat
Készítsen hordozható digitális magasságmérőt. Készült a TechShop Detroitban: 3 lépés (képekkel)
Készítsen hordozható digitális magasságmérőt. Made in TechShop Detroit. Nagyon hordozható is. Esetenként digitális magasságmérőt kell használnunk. Nemrég létrehoztam 2 félgömb alakú par
Készítsen digitális hőmérőt: 5 lépés
Készítsen digitális hőmérőt: Ebben az oktatóanyagban megtanulja, hogyan lehet egyszerű digitális hőmérőt készíteni 10 font alatti súlyhoz néhány egyszerű alkatrész és 1 IC használatával. A kész projektnek valahogy így kell kinéznie: