Zuerst ein paar grundlegende Informationen:
Gyroskope messen Drehbewegung in Grad pro Sekunde. Sie werden Ihnen nicht direkt Informationen zu kippen, nur Bewegung um eine Achse sagen. Beschleunigungssensoren messen Beschleunigung, einfach diese Informationen können Sie um die Neigung eines Objekts durch Subtrahieren der aktuellen Beschleunigungsmesser-Daten von einem Wert, den Sie kennen keine Neigung zu berechnen.
Für dieses Projekt habe ich die 5 Freiheitsgrade IDG500/ADXL335-Board von Sparkfun. Ich mag dieses Board, weil es die Beschleunigungsmesser und Kreisel Daten als 5 analoge Spannungen ausgibt, die mit fünf von der Arduino analog input-Pins leicht gelesen werden können. Einige Beschleunigungssensoren und Gyroskope Daten digital durch Kodierung es in eine Pulsweiten modulierte (PWM) Signalausgeben. Wenn Sie auf Ihrem Arduino kurz auf analoge input-Pins sind, möglicherweise eine gute Idee, einen dieser digitalen Chips verwenden, aber die analogen Chips sind nett, weil sie erfordern wenig Aufwand zum laufen zu bringen.
Teileliste:
IMU analoge Combo Board - 5 Freiheitsgrade IDG500/ADXL335 Sparkfun SEN-11072
Arduino Uno Sparkfun DEV-11021
männliche Header Stifte Sparkfun PRT-00116
22 gauge Draht
Steckbrett
Schritte:
Löten Sie Header-Pins, um den Beschleunigungssensor/Gyro Board. Auf einem Steckbrett verbinden Sie Arduino 5V "RAW" PIN, Arduino Boden zu Boden, dann schließen Sie den Stift mit der Bezeichnung X-Acc, A0, Y-Acc auf A1 und Z-Acc auf A2
Im folgenden Code wird der X-, Y- und Z-Beschleunigung her dein Board in den seriellen Monitor (Strg/Befehl + Shift + M) angezeigt. Ich habe versucht, die Werte um einen Nullpunkt zu zentrieren, indem Sie die Variable "Null" in meinem Code und dann subtrahieren alle meine eingehenden Daten von dieser Nummer. Diese Weise, wenn die Kammer ist parallel zum Boden, die Beschleunigung von X und Y beide 0 gelesen. Wenn das Board zu positiven X gekippt wird, zeigt es eine positive Zahl, und wenn sie negative x gekippt wird, zeigt es eine negative Zahl (gilt auch für Y). Dieser Beschleunigungsmesser-Code können Sie die Ausrichtung deines Boards im 3D-Raum zu bestimmen.
//Analog Accerometer w Serial //by Amanda Ghassaei
Manchmal empfiehlt es sich, mithilfe ein Kreisels Rotations informieren über Ihr Board mit einem Beschleunigungsmesser nicht berechnet werden kann. Verbinden Sie auf einem Steckbrett die Pin mit der Bezeichnung Vref, A0, yRate, A1, xRate, A2, y4.5, A3 und A4 x4.5.
Sie wundern sich über den Unterschied zwischen dem X / YRate und X / Y4.5 Ausgänge. Gyroskope messen Grad pro Sekunde, das Gyroskop Ausgänge eine Spannung, die basierend auf den Grad der Bewegung pro Sekunde, so wir sagen können, dass es die Ausgabe ist Volt pro Grad pro Sekunde (V / ° / s). Aus dem Datenblatt des Kreisels können wir sehen, dass die X / YRate Ausgabe von Daten mit 2.0mV/°/s Sensibilität und die X / Y4.5 Ausgabe von Daten mit etwa 4,5 Mal die Empfindlichkeit oder 9.1mV/°/s.
Laden Sie den folgenden Code, um die Ausgabe von jedem von diesen (Abb. 6).
//Analog Gyro w Serial //by Amanda Ghassaei
Ich wollte diesen Code Null, wie ich mit den obigen Code Beschleunigungsmesser. Ich hatte erwartet, dass die Ausgaben von x und y Kreisel gleich die Ausgabe von Vref, während das Gerät stationär gehalten ist, aber wie Sie in Abb. 6 sehen können, dies ist nicht der Fall (wenn jemand eine Erklärung dafür würde ich gerne hören!). Da Vref nicht Gott Referenz für mich auf meine Leistung zu Null war, ich habe einige voreingestellte Werte, basierend auf den Daten von Abb. 6, finden sie in meinem print-Anweisungen in den folgenden Code. Entfernte ich auch die Überwachung der Vref, da es schien egal wieviel ich das Gerät zog stabil sein, dies auch mich gerettet eine analoge input-Pin auf dem Arduino.
//Analog Gyro w Serial //by Amanda Ghassaei
Die Ergebnisse aus diesem Code sind in Abbildung 7 dargestellt. Rotation um die x und y Achsen ändern die Werte der xRate, x4.5, yRate und y4.5.
Ich habe diese Beschleunigungsmesser/Gyro in einem Arduino-basierte MIDI-Controller, die, dem ich gearbeitet habe. Unten ist der Code für die zwei Anwendungen, die ich in dem Video oben davon vorgeführt instructable. Alle drei Achsen der Beschleunigungssensor und die zwei 4.5gyro-Ausgänge für dieses Projekt angeschlos-
einzelne Pixel bewegen, Auslösung MIDI (verwendet nur x und y Beschleunigungsmesser):
//accelerometer test- single pixel //by Amanda Ghassaei 2012
vier Pixel Prellen (verwendet nur x Beschleunigungsmesser, verwendet x Gyro Pixel löschen):
//accelerometer test- bounce //by Amanda Ghassaei 2012