2016-03-27 15 views
0

Ich muss erkennen, in welche Richtung sich das Objekt bewegt. Ich möchte wissen, ob sich der Gegenstand nach oben oder unten bewegt.Arduino - Erkennung von Bewegung/Bewegung?

Ist dies mit dieser Plattform und mit einer speziellen Abschirmung möglich?

Ich hatte in Gedanken den Ultraschallsensor, mit dem ich messen würde, wie weit der Gegenstand von einem bestimmten Punkt entfernt ist, und damit vorschlagen, welche Art von Bewegung aufgrund der Abstandsänderungen stattfindet. Ich denke, das könnte schwierig sein und wollte sehen, ob es bessere Alternativen gibt.

UPDATE: Ich aktualisierte die Frage, korrigierte Richtungen - es ist nicht vorwärts/rückwärts aber aufwärts/abwärts.

+1

Mein erster Gedanke wäre, einen Beschleunigungsmesser zu verwenden. Der Haken bei diesem Ansatz ist jedoch, dass Sie nur Beschleunigungsdaten von ihm erhalten - Sie müssten dies dann integrieren, um die Bewegungsrichtung zu bestimmen. (Berechnen Sie die Fläche unter einer Kurve - eine mit der Zeit auf der X-Achse und die Beschleunigung auf der Y-Achse. Sie würden 3 dieser Kurven benötigen) Sie würde jedoch im Weltraum oder an einem anderen Ort arbeiten, an dem es keinen sofort verfügbaren Bezugspunkt gibt Prellen Sie einen Ton/Licht/Radiowelle aus. 3-Achsen-Beschleunigungssensoren sind spottbillig - ein paar Dollar auf Flohbucht. – enhzflep

+1

Der MPU6050 ist ein kostengünstiger und einfach zu implementierender Beschleunigungssensor. Es gibt viele Tutorials und Beispiele wie https://www.youtube.com/watch?v=89-UkKhdIOE im Internet. Auch Sie können eine große Bibliothek finden, um den Chip zu verwenden – Fruchtzwerg

+0

Danke Jungs für Sie Antworten, sie waren sicherlich hilfreich :) – Adrian

Antwort

1

Um die Bewegungsrichtung zu kennen, müssen im Allgemeinen Gyro-Messergebnisse verwendet werden, die normalerweise als Quaternionen dargestellt werden. Um Distanz zu erhalten, müssen Sie Beschleunigungsdaten integrieren. Aber beachte, dass diese Methode nicht sehr toleriert wird. Sie können 6 Achsen Mems Sensoren verwenden, die Beschleunigung und Drehzahl messen. Es gibt Arduino Shields basierend auf den ICs mpu6050 und mpu9250 von Invensense. Versuchen Sie Bibliotheken wie i2cdevlib. Auch vielleicht nützlich, um native Invensense-Firmware zu implementieren, ist es auf ARM-und Mikrochip-Plattformen portiert, und sollte einfach sein, die Codes auf Arduino-Plattform zu bewegen. Ein weiterer nützlicher Link ist freeImu.

+0

Danke auch für deine Antwort, es war auch sehr hilfreich! Übrigens, wenn Sie "tolerieren" sagten, wollten Sie "präzise" sagen, oder? – Adrian

+1

ja, sicher, die beste toleranz, die ich bei der gyrowinkelmessung erhielt, lag bei 3-4%. Es ist auch zeitabhängig. Nach ungefähr 5 Minuten der Messung muss ich die Sensorkalibrierung zusammen mit dem Vektor durchführen. –

+0

Vielen Dank für Ihren Kommentar, ich denke, diese Sensoren sind heutzutage immer noch nicht präzise? Oder liege ich falsch ?Entschuldigung, ich tauche einfach in diese Welt ein :) – Adrian