Indholdsfortegnelse:
- Trin 1: Generel information om kompasmodul
- Trin 2: Påkrævede komponenter
- Trin 3: Grænseflade GY-511 kompasmodul med Arduino
- Trin 4: Kalibrering af GY-511 kompasmodul
- Trin 5: Kredsløb
- Trin 6: Kode
- Trin 7: Lav et digitalt kompas
- Trin 8: Kredsløb
- Trin 9: Kode
- Trin 10: Hvad er det næste?
Video: Sådan bruges GY511 -modulet med Arduino [Lav et digitalt kompas]: 11 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Oversigt
I nogle elektronikprojekter skal vi til enhver tid kende den geografiske placering og udføre en bestemt operation i overensstemmelse hermed. I denne vejledning lærer du, hvordan du bruger LSM303DLHC GY-511 kompasmodulet med Arduino til at lave et digitalt kompas. Først lærer du om dette modul og hvordan det fungerer, og derefter vil du se, hvordan du tilslutter LSM303DLHC GY-511-modulet til Arduino.
Hvad du vil lære
- Hvilket kompasmodul er?
- Kompasmodul og Arduino -interface.
- Lav et digitalt kompas med GY-511-modulet og Arduino.
Trin 1: Generel information om kompasmodul
GY-511-modulet indeholder et 3-akset accelerometer og et 3-akset magnetometer. Denne sensor kan måle den lineære acceleration ved fulde skalaer på ± 2 g / ± 4 g / ± 8 g / ± 16 g og magnetfelter i fuld skala på ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gauss.
Når dette modul placeres i et magnetfelt, fremkalder en excitationsstrøm i henhold til Lorentz -loven i sin mikroskopiske spole. Kompasmodulet konverterer denne strøm til differentialspændingen for hver koordinatretning. Ved hjælp af disse spændinger kan du beregne magnetfeltet i hver retning og opnå den geografiske position.
Tip
QMC5883L er et andet almindeligt brugt kompasmodul. Dette modul, der har en lignende struktur og anvendelse som LMS303 -modulet, er lidt anderledes i ydelse. Så hvis du laver projekterne, skal du være forsigtig med din modultype. Hvis dit modul er QMC5882L, skal du bruge det relevante bibliotek og koder, der også er inkluderet i selvstudiet.
Trin 2: Påkrævede komponenter
Hardware -komponenter
Arduino UNO R3 *1
GY-511 3-akset accelerometer + magnetometer *1
TowerPro Servomotor SG-90 *1
1602 LCD -modul *1
Jumpere *1
Software -apps
Arduino IDE
Trin 3: Grænseflade GY-511 kompasmodul med Arduino
GY-511 kompasmodul har 8 ben, men du har kun brug for 4 af dem for at kommunikere med Arduino. Dette modul kommunikerer med Arduino ved hjælp af I2C protokol, så tilslut SDA (I2C output) og SCK (I2C clock input) benene på modulet til I2C benene på Arduino kortet.
Bemærk Som du kan se, har vi brugt GY-511-modulet i dette projekt. Men du kan bruge denne instruktion til opsætning af andre LMS303 kompasmoduler.
Trin 4: Kalibrering af GY-511 kompasmodul
For at navigere skal du først kalibrere modulet, hvilket betyder at indstille måleområdet fra 0 til 360 grader. For at gøre dette skal du slutte modulet til Arduino som vist herunder og uploade følgende kode på dit bord. Efter udførelse af koden kan du se minimums- og maksimumværdierne for måleområdet for X-, Y- og Z -aksen i det serielle monitorvindue. Du skal bruge disse tal i den næste del, så skriv dem ned.
Trin 5: Kredsløb
Trin 6: Kode
I denne kode har du brug for Wire.h -biblioteket til I2C -kommunikation og LMS303.h -biblioteket til kompasmodulet. Du kan downloade disse biblioteker fra følgende links.
LMS303.h Bibliotek
Wire.h bibliotek
Bemærk Hvis du bruger QMC5883, skal du bruge følgende bibliotek:
MechaQMC5883L.h
Her forklarer vi koden til LMS303, men du kan også downloade koderne til QMC -modulet.
Lad os se nogle af de nye funktioner:
compass.enableDefault ();
Modulinitialisering
kompas.læse ();
Læsning af kompassmodulets outputværdier
running_min.z = min (running_min.z, compass.m.z); running_max.x = max (running_max.x, kompas.m.x);
Bestemmelse af minimums- og maksimumværdier for måleområde ved at sammenligne måleværdierne.
Trin 7: Lav et digitalt kompas
Efter kalibrering af modulet skal vi bygge et kompas ved at forbinde en servomotor til modulet. Så servoindikatoren altid viser os den nordlige retning, ligesom den røde pil på kompasset. For at gøre dette beregner kompassmodulet først den geografiske retning først og sender den til Arduino, og derefter beregner du ved hjælp af en passende koefficient den vinkel, servomotoren skal rotere, så dens indikator peger mod det magnetiske nord. Til sidst anvender vi den vinkel på servomotoren.
Trin 8: Kredsløb
Trin 9: Kode
Til denne del har du også brug for Servo.h -biblioteket, der er installeret på din Arduino -software som standard.
Lad os se nogle af de nye funktioner:
Servo Servo1;
Modulinitialisering
kompas.læse ();
Introduktion til servomotorobjektet
Servo1.attach (servoPin); compass.init (); compass.enableDefault ();
Initialisering af kompasmodul og servomotor
Servo1.attach () -argumentet er nummeret på den pin, der er forbundet til servomotoren.
compass.m_min = (LSM303:: vektor) { -32767, -32767, -32767}; compass.m_max = (LSM303:: vektor) { +32767, +32767, +32767};
Ved hjælp af disse linjer definerer du minimums- og maksimumværdierne for måling af det område, der er opnået i den foregående del.
float heading = compass.heading ((LSM303:: vektor) {0, 0, 1});
Funktionen heading () returnerer vinklen mellem koordinataksen og en fast akse. Du kan definere den faste akse med en vektor i funktionsargumentet. For eksempel her, ved at definere (LSM303:: vektor) {0, 0, 1}, betragtes Z -aksen som en konstant akse.
Servo1.skriv (overskrift);
Servo1.write () -funktionen anvender kompasmodulets læseværdi på servomotoren.
Bemærk Bemærk, at servomotoren kan have et magnetfelt, så det er bedre at placere servomotoren i en passende afstand fra kompasmodulet, så det ikke får kompasmodulet til at afvige.
Anbefalede:
Digitalt kompas og Heading Finder: 6 trin
Digitalt kompas og Heading Finder: Forfattere: Cullan Whelan Andrew Luft Blake Johnson Anerkendelser: California Maritime Academy Evan Chang-Siu Introduktion: Grundlaget for dette projekt er et digitalt kompas med overskriftssporing. Dette gør det muligt for brugeren at følge en overskrift på lang afstand
Digitalt kompas ved hjælp af Arduino og HMC5883L magnetometer: 6 trin
Digitalt kompas ved hjælp af Arduino og HMC5883L Magnetometer: Hej fyre, Denne sensor kan indikere det geografiske nord, syd, øst og vest, vi mennesker kunne også bruge det til tider, når det er nødvendigt. Så. I denne artikel lad os prøve at forstå, hvordan Magnetometersensor fungerer, og hvordan den kan kobles til en mikrokontro
Sådan bruges RPLIDAR 360 ° laserscanner med Arduino: 3 trin (med billeder)
Sådan bruges RPLIDAR 360 ° laserscanner med Arduino: Jeg er en stor fan af at bygge sumobotter, og jeg er altid på udkig efter nye interessante sensorer og materialer, der skal bruges til at bygge en bedre, hurtigere og smartere robot. Jeg fandt ud af om RPLIDAR A1, som du kan få for $ 99 på DFROBOT.com. Jeg sagde, at jeg ikke var
Sådan bruges Si4703 FM -radiokortet med RDS - Arduino -vejledning: 5 trin (med billeder)
Sådan bruges Si4703 FM -radiokort med RDS - Arduino -vejledning: Dette er et evalueringskort til Silicon Laboratories Si4703 FM -tunerchip. Udover at være en simpel FM -radio, er Si4703 også i stand til at registrere og behandle både Radio Data Service (RDS) og Radio Broadcast Data Service (RBDS) oplysninger. T
Sådan bruges FC-37 regnsensoren med en Arduino: 4 trin (med billeder)
Sådan bruges FC-37 regnsensoren med en Arduino: Hej! I min første instruerbare vil jeg vise dig, hvordan du bruger FC-37 regnsensoren med en arduino. Jeg bruger en arduino nano, men andre versioner fungerer fint