![Ako používať modul GY511 s Arduino [Make a Digital Compass]: 11 krokov Ako používať modul GY511 s Arduino [Make a Digital Compass]: 11 krokov](https://i.howwhatproduce.com/images/002/image-5459-37-j.webp)
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
![Ako používať modul GY511 s Arduino [Make a Digital Compass] Ako používať modul GY511 s Arduino [Make a Digital Compass]](https://i.howwhatproduce.com/images/002/image-5459-38-j.webp)
Prehľad
Pri niektorých projektoch elektroniky musíme každú chvíľu poznať geografickú polohu a podľa toho vykonať konkrétnu operáciu. V tomto tutoriále sa naučíte používať kompasový modul LSM303DLHC GY-511 s Arduino na výrobu digitálneho kompasu. Najprv sa dozviete o tomto module a o tom, ako funguje, a potom uvidíte, ako prepojiť modul LSM303DLHC GY-511 s Arduino.
Čo sa naučíte
- Čo je to modul kompasu?
- Modul kompasu a rozhranie Arduino.
- Vytvorte digitálny kompas s modulom GY-511 a Arduino.
Krok 1: Všeobecné informácie o module Compass

Modul GY-511 obsahuje 3-osový akcelerometer a 3-osový magnetometer. Tento senzor môže merať lineárne zrýchlenie v plných mierkach ± 2 g / ± 4 g / ± 8 g / ± 16 g a magnetické polia v plných mierkach ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gaussa.
Keď je tento modul umiestnený do magnetického poľa, podľa Lorentzovho zákona v jeho mikroskopickej cievke indukuje budiaci prúd. Modul kompasu prevádza tento prúd na diferenciálne napätie pre každý smer súradnice. Pomocou týchto napätí môžete vypočítať magnetické pole v každom smere a získať geografickú polohu.
Tip
QMC5883L je ďalší bežne používaný modul kompasu. Tento modul, ktorý má podobnú štruktúru a aplikáciu ako modul LMS303, sa výkonovo mierne líši. Ak teda robíte projekty, dávajte si pozor na typ svojho modulu. Ak je vašim modulom QMC5882L, použite príslušnú knižnicu a kódy, ktoré sú tiež zahrnuté v návode.
Krok 2: Požadované súčasti

Hardvérové komponenty
Arduino UNO R3 *1
Trojosový akcelerometer GY-511 + magnetometer *1
Servomotor TowerPro SG-90 *1
Modul LCD 1602 *1
Svetre *1
Softvérové aplikácie
Arduino IDE
Krok 3: Prepojenie kompasového modulu GY-511 s Arduino


Kompasový modul GY-511 má 8 pinov, ale na prepojenie s Arduinom ich potrebujete iba 4. Tento modul komunikuje s Arduinom pomocou protokolu I2C, preto prepojte piny modulu SDA (výstup I2C) a SCK (hodinový vstup I2C) s kolíkmi I2C na doske Arduino.
Poznámka Ako vidíte, v tomto projekte sme použili modul GY-511. Tento návod však môžete použiť na nastavenie ďalších modulov kompasu LMS303.
Krok 4: Kalibrácia kompasového modulu GY-511
Na navigáciu je potrebné najskôr kalibrovať modul, to znamená nastaviť rozsah merania od 0 do 360 stupňov. Za týmto účelom pripojte modul k Arduinu podľa nižšie uvedeného obrázku a nahrajte na svoju dosku nasledujúci kód. Po vykonaní kódu môžete v okne sériového monitora vidieť minimálne a maximálne hodnoty meracieho rozsahu pre os X, Y a Z. Tieto čísla budete potrebovať v ďalšej časti, preto si ich zapíšte.
Krok 5: Okruh

Krok 6: Kód
V tomto kóde potrebujete knižnicu Wire.h na komunikáciu I2C a knižnicu LMS303.h na modul kompasu. Tieto knižnice si môžete stiahnuť z nasledujúcich odkazov.
Knižnica LMS303.h
Knižnica Wire.h
Poznámka Ak používate QMC5883, budete potrebovať nasledujúcu knižnicu:
MechaQMC5883L.h
Tu vysvetľujeme kód pre LMS303, ale môžete si stiahnuť aj kódy pre modul QMC.
Pozrime sa na niektoré z nových funkcií:
compass.enableDefault ();
Inicializácia modulu
compass.read ();
Čítanie výstupných hodnôt modulu kompasu
running_min.z = min (running_min.z, compass.m.z); running_max.x = max (running_max.x, compass.m.x);
Stanovenie minimálnych a maximálnych hodnôt rozsahu merania porovnaním nameraných hodnôt.
Krok 7: Vytvorenie digitálneho kompasu
Po kalibrácii modulu ideme zostaviť kompas pripojením servomotora k modulu. Servo indikátor nám teda vždy ukazuje severný smer, ako napríklad červená šípka na kompase. Za týmto účelom najskôr modul kompasu vypočíta geografický smer a odošle ho do Arduina a potom pomocou vhodného koeficientu vypočítate uhol, ku ktorému by sa mal servomotor otáčať, aby jeho indikátor smeroval k magnetickému severu. Nakoniec tento uhol použijeme na servomotor.
Krok 8: Okruh

Krok 9: Kód

Pre túto časť potrebujete aj knižnicu Servo.h, ktorá je predvolene nainštalovaná vo vašom softvéri Arduino.
Pozrime sa na niektoré z nových funkcií:
Servo Servo1;
Inicializácia modulu
compass.read ();
Predstavujeme objekt servomotora
Servo1.attach (servoPin); compass.init (); compass.enableDefault ();
Inicializácia modulu kompasu a servomotora
Argument Servo1.attach () je číslo kolíka pripojeného k servomotoru.
kompas.m_min = (LSM303:: vektor) { -32767, -32767, -32767}; kompas.m_max = (LSM303:: vektor) { +32767, +32767, +32767};
Pomocou týchto riadkov definujete minimálne a maximálne hodnoty na meranie rozsahu získaného v predchádzajúcej časti.
plávajúci nadpis = compass.heading ((LSM303:: vector) {0, 0, 1});
Funkcia nadpis () vracia uhol medzi súradnicovou osou a pevnou osou. Pevnú os môžete definovať vektorom v argumente funkcie. Napríklad tu, definovaním (vektora LSM303:: vektora) {0, 0, 1}, je os Z považovaná za konštantnú os.
Servo1.pis (nadpis);
Funkcia Servo1.write () aplikuje načítanú hodnotu modulu kompasu na servomotor.
Poznámka: Servomotor môže mať magnetické pole, preto je lepšie umiestniť servomotor vo vhodnej vzdialenosti od modulu kompasu, aby nedošlo k vychýleniu modulu kompasu.
Odporúča:
Ako používať modul RFID-RC522 s Arduino: 5 krokov

Ako používať modul RFID-RC522 s Arduino: V tomto návode vám predstavím základný pracovný princíp modulu RFID spojeného s jeho značkami a čipmi. Poskytnem tiež stručný príklad projektu, ktorý som urobil pomocou tohto modulu RFID s RGB LED. Ako obvykle s mojimi Ins
Visuino Ako používať tlačidlo ako vstup na ovládanie vecí ako LED: 6 krokov

Visuino Ako používať tlačidlo ako vstup na ovládanie vecí ako LED: V tomto návode sa naučíme, ako zapnúť a vypnúť LED diódu jednoduchým tlačidlom a Visuino. Pozrite si ukážkové video
Ako používať terminál Mac a ako používať kľúčové funkcie: 4 kroky

Ako používať terminál Mac a ako používať kľúčové funkcie: Ukážeme vám, ako otvoriť terminál MAC. V termináli vám tiež ukážeme niekoľko funkcií, ako napríklad ifconfig, zmena adresárov, prístup k súborom a arp. Ifconfig vám umožní skontrolovať vašu IP adresu a vašu MAC adresu
Ako používať modul IR senzora TCRT5000 s Arduino UNO: 7 krokov (s obrázkami)

Ako používať modul IR senzora TCRT5000 s Arduino UNO: V tomto tutoriále vás naučíme niekoľko základov používania modulu IR senzora TCRT5000. Tieto základné informácie vám zobrazujú analógové a digitálne hodnoty na sériovom monitore. Popis: Tento IR reflektívny senzor používa TCRT5000 na detekciu farieb a
Ako používať Wiimote ako počítačovú myš pomocou sviečok ako senzora !!: 3 kroky

Ako používať Wiimote ako počítačovú myš pomocou sviečok ako senzora !!: Táto príručka vám ukáže, ako prepojiť diaľkový ovládač Wii Remote (Wiimote) s počítačom a používať ho ako myš