Turinys:
- 1 žingsnis: Bendra informacija apie kompaso modulį
- 2 žingsnis: reikalingi komponentai
- 3 žingsnis: GY-511 kompaso modulio sąsaja su „Arduino“
- 4 žingsnis: GY-511 kompaso modulio kalibravimas
- 5 žingsnis: grandinė
- 6 žingsnis: kodas
- 7 žingsnis: sukurkite skaitmeninį kompasą
- 8 žingsnis: grandinė
- 9 žingsnis: kodas
- 10 žingsnis: kas toliau?
Video: Kaip naudoti GY511 modulį su „Arduino“[Sukurkite skaitmeninį kompasą]: 11 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Apžvalga
Kai kuriuose elektronikos projektuose bet kuriuo metu turime žinoti geografinę vietą ir atitinkamai atlikti tam tikrą operaciją. Šioje pamokoje sužinosite, kaip naudoti „LSM303DLHC GY-511“kompaso modulį su „Arduino“skaitmeniniam kompasui gaminti. Pirmiausia sužinosite apie šį modulį ir kaip jis veikia, o tada pamatysite, kaip sujungti „LSM303DLHC GY-511“modulį su „Arduino“.
Ko išmoksi
- Kas yra kompaso modulis?
- Kompaso modulis ir „Arduino“sąsaja.
- Sukurkite skaitmeninį kompasą naudodami modulį GY-511 ir „Arduino“.
1 žingsnis: Bendra informacija apie kompaso modulį
GY-511 modulį sudaro 3 ašių akselerometras ir 3 ašių magnetometras. Šis jutiklis gali išmatuoti tiesinį pagreitį esant visoms ± 2 g / ± 4 g / ± 8 g / ± 16 g skalėms ir magnetinius laukus esant visoms skalėms ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gausas.
Įdėjus šį modulį į magnetinį lauką, pagal Lorenco įstatymą jo mikroskopinėje ritėje sužadinama sužadinimo srovė. Kompaso modulis konvertuoja šią srovę į skirtingą įtampą kiekvienai koordinačių krypčiai. Naudodami šias įtampas galite apskaičiuoti magnetinį lauką kiekviena kryptimi ir gauti geografinę padėtį.
Patarimas
QMC5883L yra dar vienas dažniausiai naudojamas kompaso modulis. Šis modulis, turintis panašią struktūrą ir pritaikymą kaip ir LMS303 modulis, yra šiek tiek kitoks. Taigi, jei vykdote projektus, būkite atsargūs dėl savo modulio tipo. Jei jūsų modulis yra QMC5882L, naudokite atitinkamą biblioteką ir kodus, kurie taip pat įtraukti į mokymo programą.
2 žingsnis: reikalingi komponentai
Techninės įrangos komponentai
„Arduino UNO R3“*1
GY-511 3 ašių akselerometras + magnetometras *1
„TowerPro“servo variklis SG-90 *1
1602 LCD modulis *1
Džemperiai *1
Programinės įrangos programos
„Arduino IDE“
3 žingsnis: GY-511 kompaso modulio sąsaja su „Arduino“
„GY-511“kompaso modulis turi 8 kaiščius, tačiau norint prisijungti prie „Arduino“, reikia tik 4 iš jų. Šis modulis bendrauja su „Arduino“naudodamas I2C protokolą, todėl prijunkite modulio SDA (I2C išvestis) ir SCK (I2C laikrodžio įvestis) kaiščius prie „Arduino“plokštės I2C kaiščių.
Pastaba. Kaip matote, šiame projekte panaudojome modulį GY-511. Tačiau šią instrukciją galite naudoti nustatydami kitus LMS303 kompaso modulius.
4 žingsnis: GY-511 kompaso modulio kalibravimas
Norėdami naršyti, pirmiausia turite sukalibruoti modulį, o tai reiškia, kad reikia nustatyti matavimo diapazoną nuo 0 iki 360 laipsnių. Norėdami tai padaryti, prijunkite modulį prie „Arduino“, kaip parodyta žemiau, ir įkelkite šį kodą į savo plokštę. Įvykdę kodą, serijinio monitoriaus lange galite pamatyti mažiausią ir didžiausią X, Y ir Z ašių matavimo diapazono reikšmes. Šių skaičių jums reikės kitoje dalyje, todėl užsirašykite.
5 žingsnis: grandinė
6 žingsnis: kodas
Šiame kode jums reikia „Wire.h“bibliotekos, skirtos „I2C“ryšiui, ir „LMS303.h“bibliotekos, skirtos kompaso moduliui. Šias bibliotekas galite atsisiųsti iš šių nuorodų.
LMS303.h biblioteka
Wire.h biblioteka
Pastaba. Jei naudojate QMC5883, jums reikės šios bibliotekos:
MechaQMC5883L.h
Čia paaiškiname LMS303 kodą, tačiau taip pat galite atsisiųsti QMC modulio kodus.
Pažvelkime į kai kurias naujas funkcijas:
compass.enableDefault ();
Modulio inicijavimas
kompasas.skaityti ();
Kompaso modulio išvesties verčių skaitymas
run_min.z = min (running_min.z, kompasas.m.z); bėgimo_max.x = maks. (bėgimo_max.x, kompasas.m.x);
Mažiausių ir didžiausių matavimo diapazono verčių nustatymas lyginant išmatuotas vertes.
7 žingsnis: sukurkite skaitmeninį kompasą
Kalibravę modulį, mes sukursime kompasą, prijungę servo variklį prie modulio. Taigi, kad servo indikatorius visada parodytų mums šiaurės kryptį, kaip raudona kompaso rodyklė. Norėdami tai padaryti, pirmiausia kompaso modulis apskaičiuoja geografinę kryptį ir siunčia ją „Arduino“, o tada, taikydami atitinkamą koeficientą, apskaičiuosite kampą, kurį servo variklis turėtų pasukti, kad jo indikatorius būtų nukreiptas į magnetinę šiaurę. Galų gale mes pritaikome šį kampą servo varikliui.
8 žingsnis: grandinė
9 žingsnis: kodas
Šiai daliai jums taip pat reikia „Servo.h“bibliotekos, kuri pagal numatytuosius nustatymus yra įdiegta jūsų „Arduino“programinėje įrangoje.
Pažvelkime į kai kurias naujas funkcijas:
Servo servo1;
Modulio inicijavimas
kompasas.skaityti ();
Pristatome servo variklio objektą
Servo1.attach (servoPin); kompasas.init (); kompasas.enableDefault ();
Kompaso modulio ir servo variklio inicijavimas
„Servo1.attach“() argumentas yra prie servo variklio prijungto kaiščio numeris.
kompasas.m_min = (LSM303:: vektorius) { -32767, -32767, -32767}; kompasas.m_max = (LSM303:: vektorius) { +32767, +32767, +32767};
Naudodamiesi šiomis eilutėmis, apibrėžiate minimalias ir maksimalias ankstesnėje dalyje gauto diapazono matavimo vertes.
plūdės antraštė = kompasas. antraštė ((LSM303:: vektorius) {0, 0, 1});
Funkcija head () grąžina kampą tarp koordinačių ašies ir fiksuotos ašies. Fiksuotą ašį galite apibrėžti vektoriumi funkcijos argumente. Pavyzdžiui, čia, apibrėžiant (LSM303:: vektorių) {0, 0, 1}, Z ašis laikoma pastovia ašimi.
Servo1.raštas (antraštė);
Funkcija Servo1.write () servo varikliui taiko kompaso modulio nuskaitymo reikšmę.
Pastaba Atkreipkite dėmesį, kad servo variklis gali turėti magnetinį lauką, todėl geriau jį pastatyti tinkamu atstumu nuo kompaso modulio, kad kompaso modulis nenukryptų.
Rekomenduojamas:
Kaip nugriauti skaitmeninį apkabą ir kaip veikia skaitmeninis apkaba: 4 žingsniai
Kaip nugriauti skaitmeninį apkabą ir kaip veikia skaitmeninis apkaba: Daugelis žmonių žino, kaip naudoti suportus matavimui. Ši pamoka išmokys jus, kaip išardyti skaitmeninį suportą, ir paaiškins, kaip veikia skaitmeninis apkaba
Visuino Kaip naudoti mygtuką kaip įvestį valdyti tokius dalykus kaip LED: 6 žingsniai
Visuino Kaip naudoti mygtuką kaip įvestį valdyti tokius dalykus kaip LED: Šioje pamokoje mes sužinosime, kaip įjungti ir išjungti šviesos diodą naudojant paprastą mygtuką ir Visuino. Žiūrėkite demonstracinį vaizdo įrašą
[„Docker Pi“serija] Kaip naudoti „IoT Node“(A) modulį „Raspberry Pi“: 18 žingsnių
[„Docker Pi“serija] Kaip naudoti „IoT Node“(A) modulį „Raspberry Pi“: kas yra „IoT Node“(A) modulis? „IoT Node“(A) yra vienas iš „Docker Pi“serijos modulių. IOT mazgas (A) = GPS/BDS + GSM + Lora. I2C tiesiogiai valdo Lora, siunčia ir gauna duomenis, valdo GSM/GPS/BDS modulį per SC16IS752, pagrindinei plokštei reikia tik I2C palaikymo
Kaip naudoti „Wemos ESP-Wroom-02 D1 Mini WiFi“modulį ESP8266 + 18650 naudojant „Blynk“: 10 žingsnių
Kaip naudotis „Wemos ESP-Wroom-02 D1 Mini WiFi“moduliu ESP8266 + 18650 naudojant „Blynk“: Specifikacija: Suderinama su „nodemcu 18650“įkrovimo sistemos integracija Indikatoriaus šviesos diodas (žalias reiškia visiškai raudoną reiškia įkrovimą) gali būti naudojamas kraunant. jungtis gali būti naudojama miego režimui · 1 pridėti
Kaip naudoti „Wiimote“kaip kompiuterio pelę naudojant žvakes kaip jutiklį !!: 3 žingsniai
Kaip naudoti „Wiimote“kaip kompiuterio pelę naudojant žvakes kaip jutiklį !!: Šis vadovas parodys, kaip susieti „Wii Remote“(„Wiimote“) su kompiuteriu ir naudoti kaip pelę