Kapazitiver Touch Schalter statt physischer Schalter

Sind das diese TTP223 Sensoren? Wenn ja, wie sind die denn aktuell „kodiert“ , also sind die Lötbrücken A / B verbunden?

1 „Gefällt mir“

Das ist die Standardeinstellung, von mir nichts geändert.

BlueMail for Android herunterladen

Das geht über einen Port-Expander. Also der Interrupt wird von einem Port-Expander geworfen, da sich die Zustand eines Inputs ändert.

hängt der Touch an Dauer 3,3V (ebenso der Inverter)?

Eigentlich sollst du den Inverter nicht benötigen, sondern das Signal sollte so schon passen…

Denke ich auch. Deshalb hatte ich nach der Kodierung gefragt:

A B Einstellung
0 0 Taster (TTL-Pegel HIGH) (Standard)
0 1 Schalter (TTL-Pegel HIGH)
1 0 Taster (TTL-Pegel LOW)
1 1 Schalter (TTL-Pegel LOW)

In der Standard-ESPuino-Konfig müsste ja „Taster / LOW“ gefragt sein, oder? Also die Lötbrücke „A“ geschlossen.

ESPuino arbeitet mit „low active“, das ist korrekt.
Der Port-Expander reagiert allerdings auf Zustandsänderungen und wirft dann Interrupts. Also das kann auch anders rum sein. Also wie gesagt: Wenn wir der Default-Config folgen, dann würde ich da einen PullUp hinmachen.

Also gemäß der angehängten Grafik oben hängt es an EXT.2. Das ist tatsächlich ein SW3.3; also ein Dauer-3.3.
@hnymphius Gehe mal ab EXT.6 oder EXT.8. Ggf. erledigt sich das Problem damit schon.

Ansonsten bitte bisschen besser beschreiben, welche Platine verwendet wird. Weil das weiß ansonsten nur ich. Und merken kann ich es mir auch nur deswegen, weil du als einziger User deine Platine abgeholt hast hier, hehe.

sind nicht die PullUps im PE aktiv?

und nein das Signal passt nicht in der Default Config, Fehler von mir :slight_smile: aber mit Brücke auf A sollte es pasen

1 „Gefällt mir“

Doch, die sind immer aktiv, wenn ein Eingang als Input konfiguriert wird. Möglicherweise bringt ein PullUp auch nix, muss man testen. Die internen PullUps sind aber „weak“.

Ich muss zugeben, dass ich hätte den oberen Teil wieder anpassen müssen, als ich im Anschluss (im unteren Teil) entdeckt habe, dass hier tatsächlich SW3.3 verwendet wird. Das Wissen hatte ich oben noch nicht :slight_smile:

Also ich vermute stark, dass das eigentliche Problem SW3.3 ist. Weil das Problem hatte ich bei der Kopfhörerplatine exakt auch so. D.h. der Eingang ist HIGH, dann überführst du den ESP32 in den Deepsleep und damit fällt auch die Spannung an der Peripherie, weil sie ja ausgeschaltet wird. Der Eingang ist dann nicht mehr HIGH und der PE löst einen Interrupt aus und der ESP32 wacht direkt wieder auf. Mangels wirklicher Alternativen habe ich bei der Kopfhörerplatine ja den zugehörigen Eingang vor dem Schlafen zum Ausgang umkonfiguriert.

1 „Gefällt mir“

HI,

erst einmal vielen Dank für die Hinweise und Tipps. Leider musste ich andere Arbeiten dazwischen schieben und kam erst jetzt wieder dazu, die Versuche fortzusetzen.
Also ich habe eine 10kOhm Widerstand von Plus zum Pin 2 vom CD4049 (Inverter) eingebaut, aber das Verhalten ändert sich dadurch nicht. D.h. der Espuino startet von selbst nach Abschaltung.

…???

Hier stehe ich nun und es sieht fast danach aus, dass ich die Idee mit dem Touchschalter aufgeben muss…

Schau mal, dass du dein Board nicht an SW3.3 sondern an 3.3 hängst. Ich vermute, dass das dein Problem löst.

Torsten,

ja SW3.3 ist das auslösende Problem. Habe es jetzt auf Ext.Pin 6 (3.3) gehängt und es läuft, ESP geht schlafen und wacht nicht von selbst auf. Top, so kann ich weiter machen. Danke für die Lösung.

Ich hänge mich mal hier dran :smiling_face:

Ich habe das gleiche Problem erfahren, habe aber einen anderen Grund.

Ich wollte gerne die Touch Button an den geschalteten 3.3V hängen, damit der ESPuino beim rum tragen auch aus bleibt (Touch Button sind rechts und links angebracht). Dadurch geht er nicht mehr in den Deep sleep, bzw. bleibt nicht dort.

Also Touch Buttons wieder an 3.3V Dauer. Aber dann habe ich mein erstes Problem wieder. ESPuino ist in Deepsleep und wird bewegt oder angefasst und wacht ungewollt auf….

Zur Info. Ich habe noch zwei physische Buttons, daher müssen die Touch ihn nicht wecken können.

Ich nutze die mini 4L Platine LiFePo4.

Hat jemand eine Idee wie ich das lösen könnte ?!

Also Touch Buttons die nicht den Deep Sleep beenden ?!

Vielen Dank ! :smiling_face:

Habe nochmal weiter überlegt so gut ich konnte :smiling_face: könnte ich die beiden Touch Signale auf GPIO 5 und 32 an EXT hängen. Dann wären sie vom Port Expander weg und würden die Box nicht mehr aufwecken. Oder spricht etwas gegen die beiden GPIOs für Taster?

Vielen Dank

Spricht aus meiner Sicht erstmal nix dagegen.
Irgendwas war jedoch mit GPIO5 mal komisch. Ich meine ich hätte das mal genutzt, um bei der Kopfhörerplatine zu erkennen, ob ob was eingesteckt ist (damals haben wir noch keinen Port-Expander genutzt). Und das hat irgendwie nicht gescheit funktioniert.
Findet man bestimmt hier im Forum was zu. @compactflash kann sich vielleicht erinnern - ist glaube ich in das gleiche Problem mal gelaufen, oder?

Aber kannst es ja einfach mal testen.

Hört sich gut an. Dann teste das mal aus.

Vielen Dank

grafik

Quelle: ESP32 Pinout Reference: Which GPIO pins should you use? | Random Nerd Tutorials

Hey, ich hab leider den Überblick verloren. Wenn ich rein die TTP223 Sensoren nutzen möchte: Wie muss ich die dann anschließen und konfigurieren? Idealerweise anhand der mini-Platine (aktuelle Version).

Ohne es selbst getestet zu haben:
VCC an 3.3 V (holst dir von ext.6 oder ext.8) - muss auf jeden Fall dauerhaft 3.3 V sein und darf nicht abgeschaltet werden im Deepsleep!

GND an GND (entweder auch von ext oder du gehst oben auf die Buttons drauf).

I/O schließt du an BTN Prev, Next, PPlay, 4 bzw 5. Dabei musst du darauf achten, dass bei den Buttons oben immer GND liegt und unten das Signal. Deswegen musst du immer unten dran. Bei Pplay und Prev kannst du auf auf dem nachfolgenden Bild auch sehen, wie Leiterbahnen vom unteren Kontakt zum Port-Expander gehen. Bei den Anschlüssen oben gibt’s keine Leiterbahn-Anschlüsse, da alles, was „satt grün“ erscheint, GND-Plane ist

1 „Gefällt mir“

Super, vielen Dank. Funktioniert :slight_smile:
Habe die 3,3V von der Unterseite genommen. Wieso darf der die Versorgungsspannung sich nicht abschalten im Deep Sleep? Da ich das WakeUp nur über die RFIDs nutzen möchte (wegen umher tragen / abstauben usw) soll sich die Box nicht einschalten, wenn man auf die Tasten kommt. Oder gibts noch andere Gründe, die dafür/dagegen sprechen aus technischer Sicht?
Viele Grüße

Gut, wenn du nur mit RFIDs wecken möchtest, dann relativiert sich das ein wenig.

Dennoch: Hängt man das an sw3.3, dann ist es so, dass die 3.3 V im Moment, wenn der ESP32 in den Deepsleep geht, weggeschaltet werden. Damit verschwindet das HIGH an den PE-Eingängen, an denen deine Touch-Buttons hängen und es kann passieren, dass das Ganze als Tastendruck gewertet wird und der ESP32 direkt wieder aufwacht.
Ist das der Fall und du willst es dennoch durchziehen, dann gibt es einen Workaround.