Inhaltsverzeichnis:

Extrem einfacher, unkalibrierter Servokompass - Gunook
Extrem einfacher, unkalibrierter Servokompass - Gunook

Video: Extrem einfacher, unkalibrierter Servokompass - Gunook

Video: Extrem einfacher, unkalibrierter Servokompass - Gunook
Video: Wie du mit einer Scheiß-Egal Einstellung Frauen verführen kannst bis der Arzt kommt 2024, November
Anonim
Extrem einfacher, unkalibrierter Servokompass
Extrem einfacher, unkalibrierter Servokompass

Dies ist nur ein grundlegendes instructable für ein Projekt, an dem ich arbeite. Dies ist nicht kalibriert und ist ein sehr einfacher Prototyp für den Unterricht. In einem späteren anweisbaren werde ich zeigen, wie man es kalibriert.

An deiner Stelle würde ich davon nicht viel Großartiges erwarten, es dokumentiert eher den Prozess.

Lieferungen

  • Micro Servo (ich habe das HXT900 Micro Servo von Hobby King verwendet)
  • Arduino (ich habe Uno verwendet)
  • LSM303DLHC ist der Sensor
  • Kabel, Lötzinn usw.
  • Steckbrett

Schritt 1: Alles zusammenbauen

Alles zusammenbauen
Alles zusammenbauen
Alles zusammenbauen
Alles zusammenbauen

Stellen Sie sicher, dass Ihre Header richtig auf Ihren Sensor gelötet sind und Sie Ihre Drähte und das Steckbrett haben.

Schritt 2: Codebibliotheken

Codebibliotheken
Codebibliotheken
Codebibliotheken
Codebibliotheken

Sie sollten sicherstellen, dass Sie diese heruntergeladen haben.

Die anderen Bibliotheken, die Sie verwenden werden, wire.h und servo.h sollten standardmäßig bereits installiert sein.

Schritt 3: Code

Öffnen Sie die Skizzenbibliothek 'Kompass' von dem, was Sie gerade heruntergeladen haben. Um das Servo zu verwenden, möchten Sie den Servocode in diesen Code einfügen. Ich habe es mit Hanie Kianas Code von hier kombiniert. Das Original stammt von Hanie Kiani, nicht von mir. Es sollte so aussehen.

#enthalten

#include #include #include #include Adafruit_LSM303DLH_Mag_Unified mag = Adafruit_LSM303DLH_Mag_Unified(12345); int servoPin = 3; Servo-Servo1; Void setup (void) {Serial.begin (9600); Wire.begin(); Servo1.attach (servoPin); Serial.println ("Magnetometertest"); Serial.println(""); if (!mag.begin()) { Serial.println("Ooops, kein LSM303 erkannt … Überprüfen Sie Ihre Verkabelung!"); während (1); aufrechtzuerhalten. aufrechtzuerhalten. Void loop (void) {/* Holen Sie sich ein neues Sensorereignis */ sensor_event_t event; mag.getEvent(&event); Schwimmer Pi = 3,14159; // Berechne den Winkel des Vektors y, x float Kurs = (atan2(event.magnetic.y, event.magnetic.x) * 180) / Pi; // Auf 0-360 normalisieren if (Überschrift < 0) { Überschrift = 360 + Überschrift; } Serial.print ("Kompassüberschrift: "); Serial.println (Überschrift); Servo1.write (180-Überschrift); Verzögerung(10); }

Schritt 4: Verdrahten Sie es zusammen

Verdrahten Sie es zusammen
Verdrahten Sie es zusammen

Sie möchten, dass der ganz linke Pin - SCL - mit dem A5-Dateneingang verbunden ist

Der daneben - SDA - an den A4-Port angeschlossen.

Masse geht zu Masse.

VIN geht an den 5V-Port.

Schritt 5: Servo zur Verkabelung hinzufügen

Servo zur Verkabelung hinzufügen
Servo zur Verkabelung hinzufügen

Masse und Spannung sprechen für sich, aber Sie möchten, dass der Daten-Pin ~3 beträgt.

Schritt 6: Testen Sie den Code

Testen Sie den Code
Testen Sie den Code

Wenn Sie das Magnetometer langsam bewegen, sollte sich das Servo mitbewegen. Es ist wahrscheinlich nicht ganz genau, aber es funktioniert zumindest mit dem Code, sodass Teil eins abgeschlossen ist. Es ist noch nicht kalibriert, aber es funktioniert.

Empfohlen: