Schritt 1: Testen den elektronischen Kompass / LSM303DLH
Testen Sie die Funktionen der elektronischen Kompassen Tannen. Dann die Sechsachs-Vektor-Parameter in Weg Winkel und schicken Sie es für den seriellen Anschluss Druck. Horizontal platzieren Sie den Chip, und überprüfen Sie, ob die X-Achse die imaginäre Himmelsnordpol überlappt. Spin die Pitman arm volle 360 Grad
Entnehmen Sie bitte den Hardware-Beitrag für Tilt Entschädigung Methode für den elektronischen Kompass.
Schaltplan
HINWEIS:
(1) für Arduino pro Mini ist die Standard-I2C-Schnittstelle A4(SDA),A5(SCL).
(2) als Arduino pro Mini keine DAC für USB hat, können Benutzer das Programm mit USB-Kabel nicht verbrennen. Benutzer können nicht das Programm brennen oder testen und stellen Sie die serielle Schnittstelle ohne FTDI.
3. Antrieb von FTDI Downloader ist unter unter Arduino IDE Treiber-Datei gespeichert. Wenn Sie den Antrieb installieren, wählen Sie bitte FTDI USB-Treiber im Dialogfeld, das erscheint, und klicken Sie dann auf starten.
PROGRAMM HERUNTERLADEN
Der Testcode steht an der Befestigung zur Verfügung. Es wird unter dem Dach-Datei gespeichert >> el-compass_test.ino. Du musst vor dem Test die LSM303DLH-Bibliothek zu importieren.
Codeanalyse, die über den elektronischen Kompass
Satz: Wire.begin()
Beschreibung: Start der I2C-Hauptlinie (Hauptwerk), da Kommunikation von LSM303DLH über I2C und Arduino durchgeführt wird.
Satz: LSM303DLH Kompass;
Beschreibung: Initialisieren Sie der elektronischen Compasss und richten Sie ein LSM303DLH-Typ-Thema namens Kompass.
Sentence:Compass.read();
Beschreibung: Sammeln Sie LSM303DLHs Parameter und ordnen sie dann compass.m.x/y/z (MEG-Daten für die drei Vektor-Richtungen). Übertragen Sie den Radian-Wert in den Grad des Winkels
Int compass_angle=round(atan2(H_y,H_x)*180/PI); übertragen Sie auf den Grad der Winkel
If(compass_angle<0) Compass_angle += 360; //transfer in den Grad der Winkel im Bereich von 0 ~ 360°
TESTERGEBNIS
Horizontal platzieren Sie den Chip mit Bezug auf die X, y und Z Richtungen. Halten Sie ein Auge auf den Rückgabewert des seriellen Ports. Wenn die X-Achse den magnetischen Nordpol überlappt, würde Rückgabewert des seriellen Ports Null sein. Gegen den Uhrzeigersinn drehen des Chips. Due west beträgt 90 und im Süden ist 180. Der zurückgegebene Wert wächst allmählich auf 360°.