Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11
Översikt
I vissa elektronikprojekt måste vi när som helst känna till den geografiska platsen och utföra en specifik operation därefter. I denna handledning lär du dig hur du använder LSM303DLHC GY-511 kompassmodulen med Arduino för att göra en digital kompass. Först lär du dig om den här modulen och hur den fungerar, och sedan ser du hur du kopplar LSM303DLHC GY-511-modulen till Arduino.
Vad du kommer att lära dig
- Vilken kompassmodul är?
- Kompassmodul och Arduino -gränssnitt.
- Gör en digital kompass med GY-511-modulen och Arduino.
Steg 1: Allmän information om kompassmodul
GY-511-modulen innehåller en 3-axlig accelerometer och en 3-axlig magnetometer. Denna sensor kan mäta den linjära accelerationen vid fulla skalor på ± 2 g / ± 4 g / ± 8 g / ± 16 g och magnetfält vid hela skalor på ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gauss.
När denna modul placeras i ett magnetfält, inducerar en excitationsström enligt dess Lorentz -lag i dess mikroskopiska spole. Kompassmodulen omvandlar denna ström till differentialspänningen för varje koordinatriktning. Med hjälp av dessa spänningar kan du beräkna magnetfältet i varje riktning och få den geografiska positionen.
Dricks
QMC5883L är en annan vanligt förekommande kompassmodul. Denna modul, som har en liknande struktur och applikation som LMS303 -modulen, är något annorlunda i prestanda. Så om du gör projekten, var försiktig med din modultyp. Om din modul är QMC5882L, använd lämpligt bibliotek och koder som också ingår i självstudien.
Steg 2: Obligatoriska komponenter
Hårdvarukomponenter
Arduino UNO R3 *1
GY-511 3-axlig accelerometer + magnetometer *1
TowerPro Servomotor SG-90 *1
1602 LCD -modul *1
Byxor *1
Programvara
Arduino IDE
Steg 3: Gränssnitt GY-511 kompassmodul med Arduino
GY-511 kompassmodul har 8 stift, men du behöver bara 4 av dem för att ansluta till Arduino. Denna modul kommunicerar med Arduino med hjälp av I2C -protokollet, så anslut SDA (I2C -utgången) och SCK (I2C -klockingången) på modulen till I2C -stiften på Arduino -kortet.
Som du kan se har vi använt GY-511-modulen i detta projekt. Men du kan använda denna instruktion för att konfigurera andra LMS303 kompassmoduler.
Steg 4: GY-511 kompassmodulkalibrering
För att navigera måste du först kalibrera modulen, vilket innebär att ställa in mätområdet från 0 till 360 grader. För att göra detta, anslut modulen till Arduino enligt nedan och ladda upp följande kod på ditt kort. När koden har körts kan du se minimi- och maxvärdena för mätområdet för X-, Y- och Z -axeln i det seriella övervakningsfönstret. Du behöver dessa nummer i nästa del, så skriv ner dem.
Steg 5: Krets
Steg 6: Kod
I den här koden behöver du Wire.h -biblioteket för I2C -kommunikation och LMS303.h -biblioteket för kompassmodulen. Du kan ladda ner dessa bibliotek från följande länkar.
LMS303.h bibliotek
Wire.h bibliotek
Obs! Om du använder QMC5883 behöver du följande bibliotek:
MechaQMC5883L.h
Här förklarar vi koden för LMS303, men du kan också ladda ner koderna för QMC -modulen.
Låt oss se några av de nya funktionerna:
compass.enableDefault ();
Modulinitialisering
kompass.läs ();
Läser utgångsvärdena för kompassmodulen
running_min.z = min (running_min.z, compass.m.z); running_max.x = max (running_max.x, kompass.m.x);
Bestämning av lägsta och högsta värden för mätområdet genom att jämföra mätvärdena.
Steg 7: Gör en digital kompass
Efter kalibrering av modulen ska vi bygga en kompass genom att ansluta en servomotor till modulen. Så att servoindikatorn alltid visar oss norrut, som den röda pilen på kompassen. För att göra detta beräknar kompassmodulen först den geografiska riktningen först och skickar den till Arduino och sedan, genom att tillämpa en lämplig koefficient, beräknar du vinkeln som servomotorn ska rotera så att dess indikator pekar mot den magnetiska norr. Så småningom applicerar vi den vinkeln på servomotorn.
Steg 8: Krets
Steg 9: Kod
För den här delen behöver du också Servo.h -biblioteket som är installerat på din Arduino -programvara som standard.
Låt oss se några av de nya funktionerna:
Servo Servo1;
Modulinitialisering
kompass.läs ();
Vi presenterar servomotorobjektet
Servo1.attach (servoPin); compass.init (); compass.enableDefault ();
Initierar kompassmodulen och servomotorn
Argumentet Servo1.attach () är numret på stiftet som är anslutet till servomotorn.
compass.m_min = (LSM303:: vektor) { -32767, -32767, -32767}; kompass.m_max = (LSM303:: vektor) { +32767, +32767, +32767};
Med hjälp av dessa rader definierar du lägsta och högsta värden för att mäta intervallet som erhölls i föregående del.
float heading = compass.heading ((LSM303:: vektor) {0, 0, 1});
Funktionen rubrik () returnerar vinkeln mellan koordinataxeln och en fast axel. Du kan definiera den fasta axeln med en vektor i funktionsargumentet. Till exempel, här, genom att definiera (LSM303:: vektor) {0, 0, 1}, betraktas Z -axeln som en konstant axel.
Servo1.write (rubrik);
Servo1.write () -funktionen tillämpar läsvärdet av kompassmodulen på servomotorn.
Obs! Observera att servomotorn kan ha ett magnetfält, så det är bättre att placera servomotorn på lämpligt avstånd från kompassmodulen, så att den inte får kompassmodulen att avvika.
Rekommenderad:
Hur man gör analog klocka och digital klocka med LED -remsa med Arduino: 3 steg
Hur man gör analog klocka och digital klocka med LED -remsa med Arduino: Idag kommer vi att göra en analog klocka & Digital klocka med Led Strip och MAX7219 Dot -modul med Arduino. Den kommer att korrigera tiden med den lokala tidszonen. Den analoga klockan kan använda en längre LED -remsa, så den kan hängas på väggen för att bli en konstverk
Hur man skapar en Linux -boot -enhet (och hur man använder den): 10 steg
Hur man skapar en Linux Boot Drive (och hur man använder den): Detta är en enkel introduktion om hur man kommer igång med Linux, särskilt Ubuntu
Hur man gör en drönare med Arduino UNO - Gör en quadcopter med mikrokontroller: 8 steg (med bilder)
Hur man gör en drönare med Arduino UNO | Gör en Quadcopter Med Microcontroller: Introduktion Besök min Youtube -kanal En Drone är en mycket dyr gadget (produkt) att köpa. I det här inlägget ska jag diskutera, hur gör jag det billigt ?? Och hur kan du göra din egen så här till billigt pris … Tja i Indien alla material (motorer, ESC
Hur man använder Mac Terminal och hur man använder viktiga funktioner: 4 steg
Så här använder du Mac Terminal och hur du använder viktiga funktioner: Vi visar dig hur du öppnar MAC Terminal. Vi kommer också att visa dig några funktioner i terminalen, till exempel ifconfig, ändra kataloger, komma åt filer och arp. Ifconfig låter dig kontrollera din IP -adress och din MAC -annons
HUR MAN GÖR ARDUINO NANO/MINI - Hur man bränner bootloader: 5 steg
HUR MAN GÖR ARDUINO NANO/MINI | Hur man bränner bootloader: I denna instruktionsbok kommer jag att visa dig hur man gör en Arduino MINI från Scratch.Förfarandet som skrivs i denna instruktion kan användas för att göra alla arduino -brädor för dina anpassade projektkrav.Se videon för bättre förståelse