Inhoudsopgave:
- Stap 1: Algemene informatie over de kompasmodule
- Stap 2: Vereiste componenten
- Stap 3: Interface GY-511 kompasmodule met Arduino
- Stap 4: Kalibratie GY-511 kompasmodule
- Stap 5: Circuit
- Stap 6: Coderen
- Stap 7: Een digitaal kompas maken
- Stap 8: Circuit
- Stap 9: Coderen
- Stap 10: wat nu?
Video: Hoe de GY511-module met Arduino te gebruiken [Maak een digitaal kompas] - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Overzicht
In sommige elektronicaprojecten moeten we op elk moment de geografische locatie weten en dienovereenkomstig een specifieke bewerking uitvoeren. In deze tutorial leer je hoe je de LSM303DLHC GY-511 kompasmodule met Arduino gebruikt om een digitaal kompas te maken. Eerst leer je over deze module en hoe deze werkt, en dan zul je zien hoe je de LSM303DLHC GY-511-module met Arduino kunt verbinden.
Wat je gaat leren
- Welke kompasmodule is dat?
- Kompasmodule en Arduino-interface.
- Maak een digitaal kompas met de GY-511 module en Arduino.
Stap 1: Algemene informatie over de kompasmodule
De GY-511-module bevat een 3-assige versnellingsmeter en een 3-assige magnetometer. Deze sensor kan de lineaire versnelling meten bij volledige schalen van ± 2 g / ± 4 g / ± 8 g / ± 16 g en magnetische velden bij volledige schalen van ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gauss.
Wanneer deze module in een magnetisch veld wordt geplaatst, induceert volgens de Lorentz-wet een excitatiestroom in zijn microscopisch kleine spoel. De kompasmodule zet deze stroom om in de differentiële spanning voor elke coördinaatrichting. Met behulp van deze spanningen kunt u het magnetische veld in elke richting berekenen en de geografische positie verkrijgen.
Tip
QMC5883L is een andere veelgebruikte kompasmodule. Deze module, die een vergelijkbare structuur en toepassing heeft als de LMS303-module, is iets anders in prestaties. Dus als u de projecten uitvoert, wees dan voorzichtig met uw moduletype. Als uw module QMC5882L is, gebruikt u de juiste bibliotheek en codes die ook in de zelfstudie zijn opgenomen.
Stap 2: Vereiste componenten
Hardware onderdelen
Arduino UNO R3 *1
GY-511 3-assige versnellingsmeter + magnetometer * 1
TowerPro-servomotor SG-90 *1
1602 LCD-module * 1
Truien *1
Software-apps
Arduino IDE
Stap 3: Interface GY-511 kompasmodule met Arduino
De GY-511-kompasmodule heeft 8 pinnen, maar je hebt er maar 4 nodig om te communiceren met Arduino. Deze module communiceert met Arduino via het I2C-protocol, dus sluit de SDA (I2C-uitgang) en SCK (I2C-klokingang) pinnen van de module aan op de I2C-pinnen op het Arduino-bord.
Opmerking Zoals u kunt zien, hebben we de GY-511-module in dit project gebruikt. Maar u kunt deze instructie gebruiken voor het instellen van andere LMS303-kompasmodules.
Stap 4: Kalibratie GY-511 kompasmodule
Om te navigeren moet je eerst de module kalibreren, dat wil zeggen het meetbereik instellen van 0 tot 360 graden. Sluit hiervoor de module aan op Arduino zoals hieronder weergegeven en upload de volgende code op uw bord. Na het uitvoeren van de code ziet u de minimum- en maximumwaarden van het meetbereik voor de X-, Y- en Z-as in het seriële monitorvenster. Je hebt deze nummers nodig in het volgende deel, dus schrijf ze op.
Stap 5: Circuit
Stap 6: Coderen
In deze code heb je de Wire.h-bibliotheek nodig voor I2C-communicatie en de LMS303.h-bibliotheek voor de kompasmodule. U kunt deze bibliotheken downloaden via de volgende links.
LMS303.h Bibliotheek
Wire.h-bibliotheek
Opmerking Als u QMC5883 gebruikt, hebt u de volgende bibliotheek nodig:
MechaQMC5883L.h
Hier leggen we de code voor LMS303 uit, maar u kunt ook de codes voor de QMC-module downloaden.
Laten we eens kijken naar enkele van de nieuwe functies:
kompas.enableDefault();
Module-initialisatie
kompas.lezen();
De uitvoerwaarden van de kompasmodule lezen
running_min.z = min (running_min.z, kompas.m.z); running_max.x = max(running_max.x, kompas.m.x);
Bepalen van de minimum- en maximumwaarden van het meetbereik door de gemeten waarden te vergelijken.
Stap 7: Een digitaal kompas maken
Na het kalibreren van de module gaan we een kompas bouwen door een servomotor op de module aan te sluiten. Zodat de servo-indicator ons altijd de noordrichting laat zien, zoals de rode pijl op het kompas. Om dit te doen, berekent de kompasmodule eerst de geografische richting en stuurt deze naar Arduino en vervolgens, door een geschikte coëfficiënt toe te passen, berekent u de hoek die de servomotor moet draaien zodat de indicator naar het magnetische noorden wijst. Uiteindelijk passen we die hoek toe op de servomotor.
Stap 8: Circuit
Stap 9: Coderen
Voor dit onderdeel heb je ook de Servo.h-bibliotheek nodig, die standaard op je Arduino-software is geïnstalleerd.
Laten we eens kijken naar enkele van de nieuwe functies:
Servo Servo1;
Module-initialisatie
kompas.lezen();
Introductie van het servomotorobject
Servo1.attach (servoPin); kompas.init(); kompas.enableDefault();
Initialisatie van de kompasmodule en servomotor
Het argument Servo1.attach() is het nummer van de pin die op de servomotor is aangesloten.
kompas.m_min = (LSM303::vector){-32767, -32767, -32767}; kompas.m_max = (LSM303::vector){+32767, +32767, +32767};
Met behulp van deze lijnen definieert u de minimum- en maximumwaarden voor het meten van het in het vorige deel verkregen bereik.
zwevende kop = kompas.kop ((LSM303::vector){0, 0, 1});
De functie heading() retourneert de hoek tussen de coördinaatas en een vaste as. U kunt de vaste as definiëren met een vector in het functieargument. Door hier bijvoorbeeld de (LSM303:: vector) {0, 0, 1} te definiëren, wordt de Z-as als een constante as beschouwd.
Servo1.write (kop);
De functie Servo1.write() past de gelezen waarde van de kompasmodule toe op de servomotor.
Opmerking Houd er rekening mee dat de servomotor een magnetisch veld kan hebben, het is dus beter om de servomotor op een geschikte afstand van de kompasmodule te plaatsen, zodat de kompasmodule niet afwijkt.
Aanbevolen:
Digitaal kompas en koerszoeker: 6 stappen
Digitaal kompas en koerszoeker: Auteurs: Cullan Whelan Andrew Luft Blake Johnson Erkenningen: California Maritime Academy Evan Chang-Siu Inleiding: De basis van dit project is een digitaal kompas met koersbepaling. Hierdoor kan de gebruiker een koers volgen over lange afstand
Hoe de GPIO-pinnen en Avrdude van een Raspberry Pi te gebruiken om DIMP 2 of DA PIMP te Bit-bang-programma te gebruiken 2: 9 stappen
Hoe de GPIO-pinnen van een Raspberry Pi en Avrdude te gebruiken voor Bit-bang-programma DIMP 2 of DA PIMP 2: Dit zijn stapsgewijze instructies voor het gebruik van een Raspberry Pi en het gratis open-source commando avrdude to bit-bang -programmeer een DIMP 2 of DA PIMP 2. Ik neem aan dat je bekend bent met je Raspberry Pi en de LINUX-opdrachtregel. Je hoeft niet
Een debugger gebruiken op een ESP32: 11 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe een debugger op een ESP32 te gebruiken: Heb je ooit een kijkje in je code willen nemen om te zien waarom het zich gedraagt zoals het is? Traditioneel zou je in ESP32-projecten eindeloze printinstructies moeten toevoegen om te proberen te achterhalen wat er aan de hand was, maar er is een betere manier! Een debugger
Hoe maak je een stopwatch met Arduino 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe maak je een stopwatch met behulp van Arduino: dit is een zeer eenvoudige Arduino 16 * 2 lcd-scherm stopwatch ……….. Als je deze Instructable leuk vindt, abonneer je dan op mijn kanaal https://www.youtube.com /ZenoModiff
Hoe maak je een lijnvolger met Arduino 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe maak je een lijnvolger met Arduino: Als je aan de slag gaat met robotica, bevat een van de eerste projecten die beginners maken een lijnvolger. Het is een speciale speelgoedauto met eigenschap om langs een lijn te rijden die normaal gesproken zwart van kleur is en contrasteert met de achtergrond. Let's get star