Përmbajtje:
- Hapi 1: Informacione të përgjithshme rreth modulit të busullës
- Hapi 2: Komponentët e kërkuar
- Hapi 3: Ndërfaqja e modulit të busullës GY-511 me Arduino
- Hapi 4: Kalibrimi i modulit të busullës GY-511
- Hapi 5: Qarku
- Hapi 6: Kodi
- Hapi 7: Krijimi i një busull dixhital
- Hapi 8: Qarku
- Hapi 9: Kodi
- Hapi 10: Çfarë vijon?
Video: Si të përdorni modulin GY511 me Arduino [Bëni një busull dixhitale]: 11 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:19
Vështrim i përgjithshëm
Në disa projekte elektronike, ne duhet të dimë vendndodhjen gjeografike në çdo moment dhe të bëjmë një operacion specifik në përputhje me rrethanat. Në këtë tutorial, do të mësoni se si të përdorni modulin e busullës LSM303DLHC GY-511 me Arduino për të bërë një busull dixhitale. Së pari, do të mësoni për këtë modul dhe si funksionon, dhe më pas do të shihni se si të ndërlidhni modulin LSM303DLHC GY-511 me Arduino.
Çfarë Do Mësoni
- Çfarë është moduli i busullës?
- Moduli i busullës dhe ndërfaqja Arduino.
- Krijoni një busull dixhitale me modulin GY-511 dhe Arduino.
Hapi 1: Informacione të përgjithshme rreth modulit të busullës
Moduli GY-511 përfshin një akselerometër me 3 boshte dhe një magnetometër me 3 boshte. Ky sensor mund të masë nxitimin linear në shkallë të plotë ± 2 g / ± 4 g / ± 8 g / ± 16 g dhe fusha magnetike në shkallë të plotë ± 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / ± 5.6 / ± 8.1 Gauss.
Kur ky modul vendoset në një fushë magnetike, sipas ligjit të Lorentzit një rrymë ngacmimi shkakton në spiralen e tij mikroskopike. Moduli i busullës e konverton këtë rrymë në tensionin diferencial për secilin drejtim koordinativ. Duke përdorur këto tensione, mund të llogaritni fushën magnetike në secilin drejtim dhe të merrni pozicionin gjeografik.
Këshillë
QMC5883L është një tjetër modul i busullës që përdoret zakonisht. Ky modul, i cili ka një strukturë dhe aplikim të ngjashëm me modulin LMS303, është paksa i ndryshëm në performancë. Pra, nëse jeni duke bërë projekte, jini të kujdesshëm në lidhje me llojin e modulit tuaj. Nëse moduli juaj është QMC5882L, përdorni bibliotekën dhe kodet e duhura që përfshihen gjithashtu në tutorial.
Hapi 2: Komponentët e kërkuar
Komponentet e harduerit
Arduino UNO R3 *1
GY-511 Përshpejtues 3-Bosht + Magnetometër *1
TowerPro Servo Motor SG-90 *1
1602 Moduli LCD *1
Kërcimtarët *1
Aplikacionet e Softuerit
Arduino IDE
Hapi 3: Ndërfaqja e modulit të busullës GY-511 me Arduino
Moduli i busullës GY-511 ka 8 kunja, por ju duhen vetëm 4 prej tyre për t'u ndërlidhur me Arduino. Ky modul komunikon me Arduino duke përdorur protokollin I2C, kështu që lidhni kunjat SDA (dalja I2C) dhe SCK (hyrja e orës I2C) të modulit në kunjat I2C në bordin Arduino.
Siç mund ta shihni, ne kemi përdorur modulin GY-511 në këtë projekt. Por mund ta përdorni këtë udhëzim për vendosjen e moduleve të tjera të busullës LMS303.
Hapi 4: Kalibrimi i modulit të busullës GY-511
Për të lundruar, së pari duhet të kalibroni modulin, që do të thotë të vendosni diapazonin e matjes nga 0 në 360 gradë. Për ta bërë këtë, lidhni modulin me Arduino siç tregohet më poshtë dhe ngarkoni kodin e mëposhtëm në tabelën tuaj. Pas ekzekutimit të kodit, mund të shihni vlerat minimale dhe maksimale të intervalit matës për boshtin X, Y dhe Z në dritaren e monitorit serik. Këta numra do t'ju duhen në pjesën tjetër, prandaj shkruajini ato.
Hapi 5: Qarku
Hapi 6: Kodi
Në këtë kod, keni nevojë për bibliotekën Wire.h për komunikim I2C dhe bibliotekën LMS303.h për modulin e busullës. Ju mund t'i shkarkoni këto biblioteka nga lidhjet e mëposhtme.
Biblioteka LMS303.h
Biblioteka Wire.h
ShënimNëse jeni duke përdorur QMC5883, do t'ju duhet biblioteka e mëposhtme:
MechaQMC5883L.h
Këtu, ne shpjegojmë kodin për LMS303, por ju mund të shkarkoni kodet edhe për modulin QMC.
Le të shohim disa nga funksionet e reja:
compass.enableDefault ();
Fillimi i modulit
busull.lexo ();
Leximi i vlerave dalëse të modulit të busullës
running_min.z = min (running_min.z, busull.m.z); running_max.x = max (running_max.x, busull.m.x);
Përcaktimi i vlerave minimale dhe maksimale të intervalit të matjes duke krahasuar vlerat e matura.
Hapi 7: Krijimi i një busull dixhital
Pas kalibrimit të modulit, ne do të ndërtojmë një busull duke lidhur një servo motor në modul. Kështu që treguesi servo, na tregon gjithmonë drejtimin verior, si shigjeta e kuqe në busull. Për ta bërë këtë, së pari moduli i busullës llogarit drejtimin gjeografik së pari dhe dërgojeni atë në Arduino dhe më pas, duke aplikuar një koeficient të përshtatshëm, do të llogaritni këndin që duhet të rrotullohet servo motori në mënyrë që treguesi i tij të tregojë veriun magnetik. Përfundimisht, ne e zbatojmë atë kënd në motorin servo.
Hapi 8: Qarku
Hapi 9: Kodi
Për këtë pjesë ju nevojitet edhe biblioteka Servo.h, e cila është e instaluar në programin tuaj Arduino si parazgjedhje.
Le të shohim disa nga funksionet e reja:
Servo Servo1;
Fillimi i modulit
busull.lexo ();
Prezantimi i objektit servo motorik
Servo1.attach (servoPin); busull.init (); compass.enableDefault ();
Fillimi i modulit të busullës dhe servo motorit
Argumenti Servo1.attach () është numri i kunjit të lidhur me servo motorin.
busull.m_min = (LSM303:: vektori) { -32767, -32767, -32767}; busull.m_max = (LSM303:: vektori) { +32767, +32767, +32767};
Duke përdorur këto rreshta ju përcaktoni vlerat minimale dhe maksimale për matjen e diapazonit të marrë në pjesën e mëparshme.
titulli notues = busulla. kreu ((LSM303:: vektori) {0, 0, 1});
Funksioni heading () kthen këndin midis boshtit koordinativ dhe një boshti fiks. Ju mund të përcaktoni boshtin fiks me një vektor në argumentin e funksionit. Për shembull, këtu, duke përcaktuar (LSM303:: vektorin) {0, 0, 1}, boshti Z konsiderohet si një bosht konstant.
Servo1.shkruani (titulli);
Funksioni Servo1.write () zbaton vlerën e lexuar nga moduli i busullës në motorin servo.
Shënim Vini re se servo motori mund të ketë një fushë magnetike, kështu që është më mirë të vendosni servo motorin në një distancë të përshtatshme nga moduli i busullës, që të mos shkaktojë devijimin e modulit të busullës.
Recommended:
Një busull e vogël me ATtiny85: 12 hapa (me fotografi)
Një busull e vogël me ATtiny85: Ky është projekti ynë i parë me ATtiny85; një busull dixhital i thjeshtë xhepi (në bashkëpunim me J. Arturo Espejel Báez) .ATtiny85 është një mikrokontrollues me performancë të lartë dhe fuqi të ulët. Ka 8 Kbytes memorie flash të programueshme. Për shkak të kësaj, sfida
Ekran LCD I2C / IIC - Përdorni një ekran SPI në ekranin LCD I2C duke përdorur modulin SPI në IIC me Arduino: 5 hapa
Ekran LCD I2C / IIC | Përdorni një ekran SPI në ekranin LCD I2C Duke përdorur modulin SPI në IIC Me Arduino: Përshëndetje djema pasi një SPI LCD 1602 normal ka shumë tela për t'u lidhur, kështu që është shumë e vështirë ta ndërlidhni me arduino, por ekziston një modul i disponueshëm në treg i cili mund të shndërroni ekranin SPI në ekranin IIC kështu që atëherë ju duhet të lidhni vetëm 4 tela
Udhëzues për modulin E32-433T LoRa - Bordi i shpërthimit DIY për modulin E32: 6 hapa
Udhëzues për modulin E32-433T LoRa | Bordi i shpërthimit DIY për modulin E32: Hej, çfarë ka, djema! Akarsh këtu nga CETech. Ky projekt i imi është më shumë një kurbë mësimi për të kuptuar funksionimin e modulit E32 LoRa nga eByte i cili është një modul transmetues me fuqi të lartë 1 vat. Pasi ta kuptojmë punën, unë kam dizajn
Si të bëni një animacion të lehtë duke përdorur një tabletë dixhitale: 6 hapa
Si të bëni një animacion të lehtë duke përdorur një tabletë dixhitale: Këtë verë, me ndihmën e prindërve të mi unë kam qenë në gjendje të marr Wacom Intous Pro të vogël. Mësova redaktimin e fotografive, vizatimin dhe skicimin e filmave vizatimorë, etj. Pastaj vendosa të bëj një Instructable. Në fund u vendosa për krijimin e një animacioni të shkurtër dhe argëtues
Përdorni modulin Bluetooth 4.0 HC -08 për të kontrolluar LED -të e adresueshme - një tutorial Arduino Uno: 4 hapa (me fotografi)
Përdorni modulin Bluetooth 4.0 HC -08 për të kontrolluar LED -të e adresueshme - një Udhëzues Arduino Uno: A jeni futur në module komunikimi akoma me Arduino? Bluetooth hap një botë mundësish për projektet tuaja Arduino dhe përdorimin e internetit të gjërave. Këtu do të fillojmë me një hap për fëmijë dhe do të mësojmë se si të kontrollojmë LED -të e adresueshme me një sma