Inhaltsverzeichnis:
- Schritt 1: Allgemeine Informationen zum Kompassmodul
- Schritt 2: Erforderliche Komponenten
- Schritt 3: GY-511 Kompassmodul mit Arduino verbinden
- Schritt 4: Kalibrierung des GY-511 Kompassmoduls
- Schritt 5: Schaltung
- Schritt 6: Code
- Schritt 7: Einen digitalen Kompass erstellen
- Schritt 8: Schaltung
- Schritt 9: Code
- Schritt 10: Wie geht es weiter?
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
Überblick
Bei einigen Elektronikprojekten müssen wir jederzeit den geografischen Standort kennen und entsprechend eine bestimmte Operation durchführen. In diesem Tutorial erfahren Sie, wie Sie das Kompassmodul LSM303DLHC GY-511 mit Arduino verwenden, um einen digitalen Kompass zu erstellen. Zuerst lernen Sie dieses Modul und seine Funktionsweise kennen, und dann sehen Sie, wie Sie das Modul LSM303DLHC GY-511 mit Arduino verbinden.
Was du lernen wirst
- Was ist ein Kompassmodul?
- Kompassmodul und Arduino-Schnittstelle.
- Machen Sie einen digitalen Kompass mit dem GY-511-Modul und Arduino.
Schritt 1: Allgemeine Informationen zum Kompassmodul
Das GY-511-Modul enthält einen 3-Achsen-Beschleunigungsmesser und einen 3-Achsen-Magnetometer. Dieser Sensor kann die Linearbeschleunigung bei Skalenendwerten von ± 2 g / ± 4 g / ± 8 g / ± 16 g und Magnetfelder bei Skalenendwerten von ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 messen / ± 8,1 Gauss.
Wird dieses Modul in ein Magnetfeld gebracht, induziert nach dem Lorentz-Gesetz in seiner mikroskopischen Spule ein Erregerstrom. Das Kompassmodul wandelt diesen Strom für jede Koordinatenrichtung in die Differenzspannung um. Mit diesen Spannungen können Sie das Magnetfeld in jede Richtung berechnen und die geografische Position ermitteln.
Spitze
QMC5883L ist ein weiteres häufig verwendetes Kompassmodul. Dieses Modul, das eine ähnliche Struktur und Anwendung wie das LMS303-Modul hat, unterscheidet sich geringfügig in der Leistung. Wenn Sie die Projekte durchführen, achten Sie also auf Ihren Modultyp. Wenn Ihr Modul QMC5882L ist, verwenden Sie die entsprechende Bibliothek und die Codes, die ebenfalls im Lernprogramm enthalten sind.
Schritt 2: Erforderliche Komponenten
Hardware-Komponenten
Arduino UNO R3 *1
GY-511 3-Achsen-Beschleunigungsmesser + Magnetometer *1
TowerPro Servomotor SG-90 *1
1602 LCD-Modul *1
Jumper * 1
Software-Apps
Arduino-IDE
Schritt 3: GY-511 Kompassmodul mit Arduino verbinden
Das Kompassmodul GY-511 hat 8 Pins, aber Sie benötigen nur 4 davon, um mit Arduino verbunden zu werden. Dieses Modul kommuniziert mit Arduino über das I2C-Protokoll, also verbinden Sie die SDA (I2C-Ausgang) und SCK (I2C-Takteingang)-Pins des Moduls mit den I2C-Pins auf der Arduino-Platine.
HinweisWie Sie sehen, haben wir in diesem Projekt das Modul GY-511 verwendet. Sie können diese Anleitung aber auch zum Einrichten anderer LMS303 Kompassmodule verwenden.
Schritt 4: Kalibrierung des GY-511 Kompassmoduls
Um zu navigieren, müssen Sie das Modul zunächst kalibrieren, d. h. den Messbereich von 0 bis 360 Grad einstellen. Verbinden Sie dazu das Modul wie unten gezeigt mit Arduino und laden Sie den folgenden Code auf Ihr Board hoch. Nach Ausführung des Codes sehen Sie im seriellen Monitorfenster die Minimal- und Maximalwerte des Messbereichs für X-, Y- und Z-Achse. Sie werden diese Nummern im nächsten Teil benötigen, also schreiben Sie sie auf.
Schritt 5: Schaltung
Schritt 6: Code
In diesem Code benötigen Sie die Bibliothek Wire.h für die I2C-Kommunikation und die Bibliothek LMS303.h für das Kompassmodul. Sie können diese Bibliotheken über die folgenden Links herunterladen.
LMS303.h Bibliothek
Wire.h-Bibliothek
HinweisWenn Sie QMC5883 verwenden, benötigen Sie die folgende Bibliothek:
MechaQMC5883L.h
Hier erklären wir den Code für LMS303, aber Sie können auch die Codes für das QMC-Modul herunterladen.
Sehen wir uns einige der neuen Funktionen an:
Kompass.enableDefault();
Modulinitialisierung
Kompass.lesen();
Auslesen der Ausgabewerte des Kompassmoduls
running_min.z = min(running_min.z, kompass.m.z); running_max.x = max(running_max.x, Kompass.m.x);
Ermittlung der Minimal- und Maximalwerte des Messbereichs durch Vergleich der Messwerte.
Schritt 7: Einen digitalen Kompass erstellen
Nach der Kalibrierung des Moduls bauen wir einen Kompass, indem wir einen Servomotor an das Modul anschließen. Damit uns die Servoanzeige immer die Nordrichtung anzeigt, wie der rote Pfeil auf dem Kompass. Dazu berechnet das Kompassmodul zuerst die geografische Richtung und sendet sie an Arduino und dann berechnen Sie durch Anwenden eines entsprechenden Koeffizienten den Winkel, um den sich der Servomotor drehen soll, damit sein Indikator auf den magnetischen Norden zeigt. Schließlich wenden wir diesen Winkel auf den Servomotor an.
Schritt 8: Schaltung
Schritt 9: Code
Für diesen Teil benötigen Sie auch die Servo.h-Bibliothek, die standardmäßig auf Ihrer Arduino-Software installiert ist.
Sehen wir uns einige der neuen Funktionen an:
Servo-Servo1;
Modulinitialisierung
Kompass.lesen();
Einführung in das Servomotor-Objekt
Servo1.attach (servoPin); kompass.init(); Kompass.enableDefault();
Initialisierung des Kompassmoduls und des Servomotors
Das Argument Servo1.attach() ist die Nummer des Pins, der mit dem Servomotor verbunden ist.
Kompass.m_min = (LSM303::Vektor){-32767, -32767, -32767}; Kompass.m_max = (LSM303::Vektor){+32767, +32767, +32767};
Mit diesen Zeilen definieren Sie die minimalen und maximalen Werte für die Messung des im vorherigen Teil erhaltenen Bereichs.
float header =compass.heading((LSM303::vector){0, 0, 1});
Die Funktion header() gibt den Winkel zwischen der Koordinatenachse und einer festen Achse zurück. Sie können die feste Achse mit einem Vektor im Funktionsargument definieren. Hier wird beispielsweise durch die Definition des (LSM303:: Vektor) {0, 0, 1} die Z-Achse als konstante Achse betrachtet.
Servo1.write (Überschrift);
Die Funktion Servo1.write() wendet den vom Kompassmodul gelesenen Wert auf den Servomotor an.
HinweisBeachten Sie, dass der Servomotor ein Magnetfeld haben kann, daher ist es besser, den Servomotor in einem geeigneten Abstand vom Kompassmodul zu platzieren, damit das Kompassmodul nicht abweicht.
Empfohlen:
So verwenden Sie das Webtool in Fusion 360: 5 Schritte
So verwenden Sie das Web-Tool in Fusion 360: Es ist eines dieser unterschätzten Tools, die Sie wahrscheinlich nicht verwenden, aber lesen Sie weiter und Sie werden sehen, warum Sie das Web-Tool in Fusion 360 nutzen müssen. Das Web-Tool bietet eine schnelle und super effiziente Möglichkeit, Kreuzstreben zu
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: 7 Schritte
Wir stellen vor: 'Deodorino' - das Infrarot-gesteuerte Arduino in einem leeren Deodorant-Stick. Klicken Sie auf das 1. Foto: Jetzt zum Detail
So verwenden Sie das Snipping-Tool unter Windows 7: 7 Schritte
So verwenden Sie das Snipping-Tool unter Windows 7: Öffnen Sie das Fenster, von dem Sie einen Screenshot machen möchten
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nic
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für
Fügen Sie eine PC-Sync-Buchse zu einem Nikon Sc-28 Ttl-Kabel hinzu (verwenden Sie die automatischen Einstellungen für einen Blitz an der Kamera und lösen Sie Kamerablitze aus !!):
Fügen Sie eine PC-Sync-Buchse zu einem Nikon Sc-28 Ttl-Kabel hinzu (verwenden Sie die automatischen Einstellungen für einen Kamerablitz und lösen Sie die Kamerablitze aus !!): In dieser Anleitung zeige ich Ihnen, wie Sie einen dieser lästigen proprietären 3-Pin-TTL-Anschlüsse auf entfernen die Seite eines Nikon SC-28 Off-Camera-TTL-Kabels und ersetzen Sie es durch einen Standard-PC-Sync-Anschluss. Auf diese Weise können Sie einen dedizierten Blitz verwenden, s