ESPuino mit mpu6050 Sensor

Hallo zusammen,

Aktuell plane ich meinen ersten ESPuino, die meisten Teile hab ich nun auch schon (Danke an @biologist).
Nun ist es so dass die original Toniebox den Track Wechsel via Beschleunigungssensor durchführen kann, indem man auf eine Seite der Box klopft.
Nun war ich am überlegen ob man das auch mit eine. Mpu6050 sensor nach bauen kann?
Theoretisch ist das ja über den i2c Anschluss am Portexpander einfach anzuschließen und entsprechende Bibliotheken gibt es auch für den Esp32.
Hat schon jemand Erfahrung damit wie das auslesen des Sensor auf die Performance geht?
Hab den sensor mal für 2€ bestellt aber aus China dauert es immer ein paar Tage weshalb ich es noch nicht selber testen kann und andere Teile sind auch noch nicht da :unamused:
Falls jemand damit schon mal Erfahrung gesammelt freue ich mich über jeden Hinweis :grinning:

Beste Grüße
Morik

Ich wollte die Umsetzung nicht „zu nah“ an der genannten Box haben, daher habe ich das niemals umgesetzt. Aber funktionieren sollte es.

Eine Sache nur (weil ich weiß, dass du die mini verwendest): Wenn der Power-Button die 115 ist, dann heißt das, dass der Port-Expander die Ansteuerung des Mosfets vornimmt. Ich habe den i2c-Konnektor auf dem mini-Board jedoch so vorgesehen, dass dessen 3.3 V ebenfalls ausgeschaltet wird, wenn der ESP32 im Deepsleep ist. Hängt man hier nun ein i2c-Device dran, dann wird dessen Versorgungsspannung entsprechend abgeschaltet. Der Port-Expander hängt ja auch an i2c und das führt jetzt dazu, dass man den ESPuino nicht aufwecken kann, da das externe i2c-Device den i2c-Bus „runterzieht“. D.h. dann funktioniert der Port-Expander beim Start nicht richtig, was aber für den Einschaltvorgang essentiell ist (wenn 115).

Das ist mir erst kürzlich aufgefallen und ich werde das in einer künftigen Revision fixen. Fixen im Sinne von: Es gibt eine Lötbrücke, mit der man konfigurieren kann, ob die 3.3V vom Konnektor des externen i2c-Devices im Deepsleep geschaltet werden oder nicht. Hoffe es wird klar, was ich meine.

Fixes:
a) Die 3.3 V für das externe i2c-Device holst du dir ersatzweise vom doppelreihigen Pinheader.
b) Du verwendest als Power nicht 115 sondern 32. Da muss man hinten die Lötbrücke JP5 entsprechend auf 1+2 konfigurieren. Kostet halt einen GPIO mehr, aber ist vermutlich egal, da die wenigsten Leute den für was Anderes brauchen werden.

Von der Umsetzung würde ich erstmal mit einem ganz kleinen Aufbau starten (ohne ESPuino) und dort bisschen testen, welche Werte man so erhält. Dann kannst du das in die ESPuino-Software integrieren und halt Aktionen auslösen: ESPuino/Cmd.cpp at fff303c953a715b9fc45c12d40f352dc9e56d9ec · biologist79/ESPuino · GitHub bzw. ESPuino/values.h at fff303c953a715b9fc45c12d40f352dc9e56d9ec · biologist79/ESPuino · GitHub.

Hallo @biologist,

Danke für die Informationen, wenn ich es richtig verstanden habe kann ich die Problematik mit dem abschalten am einfachsten über den fix mit der Lötbrücke lösen?
Ich benötige tatsächlich keine weiteren GPIOS.
Oder führt das dann dazu dass die normalen Buttons am Portexpander auch nicht mehr den ESPuino aufwecken können?

Bezüglich des kleinen Aufbaus hatte ich dies eh geplant, ich muss ja erst mal das System kalibrieren für die offsets und dann ein wenig spielen um die Beschleunigung Werte einordnen zu können.

Wenn ich deine Ausführungen richtig verstehe besteht auch kein Interesse daran das ganze später als Pull request in deinen Code einzupfegen?

Beste Grüße
Morik

Ich überlege gerade, ob ich was Falsches gesagt habe. Also was auf jeden Fall funktioniert, ist sich die 3.3 V vom doppelreihigen Pinheader zu holen. Wegen 32/115 bin ich mir gerade gar nicht mehr ganz so sicher. Also mit 115 funktioniert es auf keinen Fall, man die 3.3 V nicht extra zuführt. Bei 32 bin ich mir gerade nicht mehr 100% sicher, aber ich glaube das hatte funktioniert.

Korrekt. Ich möchte mich da nicht zu sehr „anlehnen“.

Kann ich die einfach via Brücke an den jst Header senden oder muss ich die original Leitung trennen?
Wenn der Sensor da ist werde ich mal ein wenig probieren.

Das mit der Brücke würde ich sein lassen, weil damit brückst du ja 3.3 auf SW3.3 und setzt damit die Spannungsabschaltung außer Kraft.
Ich würde hingehen und die Leitung für 3.3V am JST nicht anschließen und stattdessen die Spannung vom Pinheader holen. Aber wie gesagt: Teste vorher erstmal, ob es die Änderung auf 32 nicht schon tut. Ich meine das ist so.

Werde ich tun, mal schauen wie lange der Versand dauert :sweat_smile:

Gibt es hier schon etwas neues ? Hätte ebenfalls Interesse an der Integration des Sensors.
Grüße!

Hallo,

Von mir bisher nicht, ich hab zwar die Teile jetzt hier, aber fand bisher keine Zeit mehr dazu mich mit dem Thema zu beschäftigen.

Beste Grüße
Morik