Sadržaj:

Kako koristiti GY511 modul s Arduinom [Napravite digitalni kompas]: 11 koraka
Kako koristiti GY511 modul s Arduinom [Napravite digitalni kompas]: 11 koraka

Video: Kako koristiti GY511 modul s Arduinom [Napravite digitalni kompas]: 11 koraka

Video: Kako koristiti GY511 modul s Arduinom [Napravite digitalni kompas]: 11 koraka
Video: Lesson 91: Controlling Servo motor using potentiometer and display angle on LCD 2024, Prosinac
Anonim
Kako koristiti GY511 modul s Arduinom [Napravite digitalni kompas]
Kako koristiti GY511 modul s Arduinom [Napravite digitalni kompas]

Pregled

U nekim elektroničkim projektima moramo znati geografski položaj u svakom trenutku i u skladu s tim izvršiti određenu operaciju. U ovom ćete vodiču naučiti kako koristiti modul kompasa LSM303DLHC GY-511 s Arduinom za izradu digitalnog kompasa. Prvo ćete naučiti o ovom modulu i kako radi, a zatim ćete vidjeti kako spojiti modul LSM303DLHC GY-511 s Arduinom.

Što ćete naučiti

  • Što je modul kompasa?
  • Modul kompasa i sučelje Arduino.
  • Napravite digitalni kompas s modulom GY-511 i Arduinom.

Korak 1: Opće informacije o modulu Compass

Opći podaci o modulu Compass
Opći podaci o modulu Compass

Modul GY-511 uključuje troosni akcelerometar i troosni magnetometar. Ovaj senzor može mjeriti linearno ubrzanje na punoj skali od ± 2 g / ± 4 g / ± 8 g / ± 16 g i magnetska polja na punoj skali od ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gauss.

Kad se ovaj modul postavi u magnetsko polje, prema Lorentzovom zakonu pobudna struja inducira u njegovu mikroskopsku zavojnicu. Modul kompasa pretvara ovu struju u diferencijalni napon za svaki smjer koordinata. Pomoću ovih napona možete izračunati magnetsko polje u svakom smjeru i dobiti zemljopisni položaj.

Savjet

QMC5883L je još jedan često korišteni modul kompasa. Ovaj modul, koji ima sličnu strukturu i primjenu kao i modul LMS303, malo se razlikuje u performansama. Stoga, ako radite na projektima, pripazite na vrstu modula. Ako je vaš modul QMC5882L, upotrijebite odgovarajuću knjižnicu i kodove koji su također uključeni u vodič.

Korak 2: Potrebne komponente

Potrebne komponente
Potrebne komponente

Hardverske komponente

Arduino UNO R3 *1

GY-511 troosni akcelerometar + magnetometar *1

Servo motor TowerPro SG-90 *1

1602 LCD modul *1

Džemperi *1

Softverske aplikacije

Arduino IDE

Korak 3: Povezivanje GY-511 kompasnog modula s Arduinom

Sučelje GY-511 kompasnog modula s Arduinom
Sučelje GY-511 kompasnog modula s Arduinom
Sučelje GY-511 kompasnog modula s Arduinom
Sučelje GY-511 kompasnog modula s Arduinom

Modul kompasa GY-511 ima 8 pinova, ali trebate samo 4 od njih za povezivanje s Arduinom. Ovaj modul komunicira s Arduinom koristeći I2C protokol, pa spojite pinove SDA (I2C izlaz) i SCK (ulaz sata I2C) modula na I2C pinove na Arduino ploči.

Napomena Kao što vidite, u ovom smo projektu koristili modul GY-511. Ali ovu uputu možete koristiti za postavljanje drugih modula kompasa LMS303.

Korak 4: Kalibracija modula kompasa GY-511

Za navigaciju najprije morate kalibrirati modul, što znači postaviti mjerni raspon od 0 do 360 stupnjeva. Da biste to učinili, povežite modul s Arduinom kao što je prikazano u nastavku i postavite sljedeći kod na svoju ploču. Nakon izvršavanja koda, možete vidjeti minimalne i maksimalne vrijednosti mjernog područja za os X, Y i Z u prozoru serijskog monitora. Ovi će vam brojevi biti potrebni u sljedećem dijelu, pa ih zapišite.

Korak 5: Krug

Krug
Krug

Korak 6: Kodiranje

U ovom kodu potrebna vam je knjižnica Wire.h za I2C komunikaciju i knjižnica LMS303.h za modul kompasa. Ove biblioteke možete preuzeti sa sljedećih veza.

Knjižnica LMS303.h

Knjižnica Wire.h

Napomena Ako koristite QMC5883, trebat će vam sljedeća biblioteka:

MechaQMC5883L.h

Ovdje objašnjavamo kôd za LMS303, ali možete preuzeti i kodove za QMC modul.

Pogledajmo neke od novih funkcija:

compass.enableDefault ();

Inicijalizacija modula

kompas.čitaj ();

Očitavanje izlaznih vrijednosti modula kompasa

running_min.z = min (running_min.z, compass.m.z); running_max.x = max (running_max.x, compass.m.x);

Određivanje minimalnih i maksimalnih vrijednosti mjernog područja usporedbom izmjerenih vrijednosti.

Korak 7: Izrada digitalnog kompasa

Nakon kalibracije modula napravit ćemo kompas spajanjem servo motora na modul. Tako da nam servo indikator uvijek pokazuje smjer sjevera, poput crvene strelice na kompasu. Da biste to učinili, najprije modul kompasa najprije izračunava zemljopisni smjer i šalje ga u Arduino, a zatim ćete primjenom odgovarajućeg koeficijenta izračunati kut kojim bi se servo motor trebao okretati tako da njegov indikator pokazuje prema magnetskom sjeveru. Na kraju primjenjujemo taj kut na servo motor.

Korak 8: Krug

Krug
Krug

Korak 9: Kodirajte

Kodirati
Kodirati

Za ovaj dio također vam je potrebna biblioteka Servo.h koja je prema zadanim postavkama instalirana na vašem Arduino softveru.

Pogledajmo neke od novih funkcija:

Servo Servo1;

Inicijalizacija modula

kompas.čitaj ();

Predstavljamo objekt servo motora

Servo1.priključak (servoPin); kompas.init (); compass.enableDefault ();

Inicijalizacija modula kompasa i servo motora

Argument Servo1.attach () je broj pina spojenog na servo motor.

kompas.m_min = (LSM303:: vektor) { -32767, -32767, -32767}; compass.m_max = (LSM303:: vector) { +32767, +32767, +32767};

Pomoću ovih linija definirate minimalne i maksimalne vrijednosti za mjerenje raspona dobivenog u prethodnom dijelu.

float heading = compass.heading ((LSM303:: vector) {0, 0, 1});

Funkcija heading () vraća kut između koordinatne osi i fiksne osi. Fiksnu os možete definirati vektorom u argumentu funkcije. Na primjer, ovdje, definiranjem (LSM303:: vektor) {0, 0, 1}, os Z se smatra konstantnom osi.

Servo1.write (naslov);

Funkcija Servo1.write () primjenjuje očitanu vrijednost od modula kompasa na servo motor.

Napomena Imajte na umu da servo motor može imati magnetsko polje, pa je bolje postaviti servo motor na odgovarajuću udaljenost od modula kompasa kako ne bi došlo do odstupanja modula kompasa.

Preporučeni: