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
Falls jemand damit schon mal Erfahrung gesammelt freue ich mich über jeden Hinweis
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.
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?
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.