Bewegungserkennung MPU6050

Hallo,

ich benötige bitte eure Unterstützung bei einem "Herzens-Projekt".

Folgende Ausgangssituation:
Ein Freund von mir hat bei einem Unfall einen Arm verloren und kann den noch vorhanden Arm nur sehr eingeschränkt benutzen. Nach wie vor ließt er sehr gerne und wir haben ihn folgende "Fernbedienung" für sein Kindle Paperwhite besorgt. Link
Prinzipiell eine tolle Sache, nur leider ist die Fernbedienung für ihn sehr schwer einsetzbar. Also bin ich angefangen zu überlegen:
Punkt 1:
Die Fernbedienung habe ich umgebaut, so das hier nun ein Wemos D1 Mini dran hängt, der nun über FHEM und MQTT einen Optokoppler schaltet und die Taste zum Weiterblättern brückt. Soweit Punkt eins abgeschlossen.

Punkt 2
Als "Impulsgeber" dachte ich an einen MPU6050 (mit Wemos D1) welcher am Zeh des Freundes "hängt" und auf eine plötzliche und schnelle Bewegung reagiert, egal wie ein Kumpel liegt oder sitz.
Dieses soll dann per MQTT an FHEM gehen und den Schaltvorgang am WEMOS (aus Punkt 1) anstoßen.
Also fix mal was versuchsweise aufgebaut und kläglich gescheitert. :frowning:
Ich kann natürlich die Werte von x - y und z auslesen, kann diese aber nicht interpretieren bzw scheitere an der Logik dahinter, da ja je nach dem in welcher Position man sich befindet, die Achsen sich verschieben und die Werte auch negativ sein können.

Ich hoffe ich habe mein vorhaben verständlich beschrieben.
Ich würde hier sehr gern meinem Freund weiterhelfen und ihm ein Stück Lebensqualität geben.

Kann mir jemand von euch hier weiter helfen wie ich diese Bewegungserkennung realisieren kann?

Vielen lieben Dank in Vorraus.

Wenn der MPU6050 in Ruhe ist, sollte man aus den drei Beschleunigungswerten rausbekommen, in welche Richtung "unten" ist.
Außerdem sollte man herausbekommen können, ob das Ding überhaupt in Ruhe ist, auch wenn die Werte zugegebenermaßen gerne zappeln.

Welche Bewegung möglich sind und ob das Ziel ist, verschiedene unterscheiden zu können, weiß ich nicht.

Schau mal hier:

Das hilft dir bestimmt.

Du kannst Dich entscheiden, ob Du die Beschleunigungswerte oder die Gyroskopwerte verwenden willst. Zunächst ist wichtig, dass Du die Sensorsignale verstehst. Dazu kann man sich die Werte anzeigen lassen und den Sensor bewegen
Bei der Beschleunigung mißt man in Ruhe immer die Erdbeschleunigung. a = Wurzel ( ax^2 + ay^2 + az^2 ). Wie sich das auf die einzelnen Komponenten ax, ay und az verteilt, hängt von der Lage des Sensors ab. sie können zwischen -1g und + 1g schwanken. Wenn Du sie als Signal verwenden willst, ist aber nur die Änderung relevant, nicht der absolute Wert.
Die Werte des Gyroskops sind in Ruhe immer Null. Nur bei einer Drehung gibt es ein Signal.
Für die Auswertung ist es hilfreich, wenn die Richtung der Beschleunigung bzw. Drehung mit einer der Achsen des Sensors übereinstimmt.
Das ganze Thema Störsignale läßt sich hier nur beurteilen, wenn man die Gesamtsituation kennt.
Sitzt Dein Freund beim Lesen oder liegt er? Wäre ein mit dem Fuß bedienbarer Schalter die Lösung?

Hi @ausriss,

erst einmal wünsche ich Dir viel Erfolg mit Deinem Projekt! Der Einsatz von Technik, um Lebensqualität zu verbessern, verdient bestmögliche Unterstützung.

Neben der schon von @Plumps verlinkten sehr empfehlenswerten Seite bin ich noch auf dieses Projekt gestoßen

https://www.meine-schaltung.de/schaltung/arduino/autopilot/

Möglicherweise wäre davon schon einiges Brauchbares abzuleiten... Gerne mal reinschauen.

Alles Gute
ec2021

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.