Hey, ich verwende für mein Projekt momentan ein MPU 6050 Gyroskop/Accelerometer Breakout Board zusammen mit einem Teensy 3.0 und der Arduino Programmierumgebung. Mein Problem ist, dass ich nicht weiß, wie ich ein Schütteln feststellen kann. Im Datenblatt ist zwar die Rede von "shake detection", im weiteren Verlauf des Dokuments wird davon allerdings nicht mehr geredet. Ich steuere den Chip per I2C über die Bibliothek von Jeff Rowberg an, zu finden hier: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 Darüber kann ich problemlos auf alle möglich verfügbaren Daten zugreifen. Eigentlich sollte im Interruptregister Platz für einen Schüttelinterrupt sein, allerdings kann ich dazu nichts finden. Meine Frage ist daher: Kennt jemand eine gute Methode, um aus den Accelerometer/Gyroskop Daten eine eigene Schüttelerkennung zu berechnen? Danke für jede Hilfe!
Der Baustein erlaubt die Erkennung des Schüttelns durch die Auswertung der Messwerte. Dies bedeutet, dass die Messrate so hoch ist, dass Schüttelbewegungen erkannt werden können, z.B. größer als 5Hz. Bei Datensätzen im Sekundenabstand oder noch langsamer ist ein Schütteln nicht zu erkennen. Die Berechnung/Erkennung einer Schüttelbewegung läuft über eine FFT-Auswertung. W.
Ah ok. Das macht Sinn. Ich hatte vorher ein Accelerometer mit integrierter Schüttelerkennung. Dabei wurde immer dann ein Interrupt geschaltet, wenn ein Schütteln erkannt wurde. Ich dachte, das wäre hier genauso. Dann fehlt ja nur eine clevere Strategie um ein Schütteln zu erkennen. Im allerbesten Fall wird nicht nur das Schütteln erkannt, sondern auch die Stärke. Gibt es dafür etablierte Herangehensweisen? Ich konnte bislang nichts finden.
Das geht beim 6050 auch. Über register 31 kannst du den "Register 31 – Motion Detection Threshold" einstellen. Sobald einer der Accels eine Beschleunigung oberhalb des eingestellten Wertes misst, wird ein IRQ ausgelöst.
Danke pitschu, das hat funktioniert. Shake detection ist jetzt mörglich. Kennt jemand noch eine Methode um evtl die Stärke des Schüttelns festzustellen (ausgehend vom Threshold)? Ich will im konkreten den LFO eines Musikinstruments damit steuern. Bei stärkeren Schüttlern könnt ich die LFO Frequenz noch mit variieren.
Na du könntest die x,y,z-Register des Accelerometers auslesen. Wo die stehen steht im Datenblatt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.