ESP32 / Lolin32 und KeyPad funktioniert nicht

Hallo,

ich möchte ein KeyPad mit einem ESP32/LoLin32 verwenden. Habe bereits mehrere der Folientastaturen 4x4 an Arduino/Atmel erfolgreich in Betrieb.
Mit dem ESP32 funktioniert es derzeit nicht. Da vermultlich Spalten/Zeilen angesteuert und rückgelesen werden (4xIn,4xOut) die Inputs mit Pullup beschaltet sein müssen.
Ist das aus eurer Sicht die Ursache? Wenn ja, hat der ESP32 intern zuschaltbare PullUps. Finde im Netz unterschiedliche Angaben.
Verwende die Lib KeyPad

Gruß Arduino4Fun

Sicher brauchst Du Pullup/Pulldown-Widerstände.
Mal 4 Widerstände dazuschalten bzw mal einfach versuchen ob das dazuschalten von internen Pullups funktioniert ist Dir versuchsweise nicht in den sinn gekommen?

Ich kann Dir die Frage ob der ESP zuschaltbare Widerstände hat leider nicht beantworten.
Grüße Uwe

Hallo,

anscheinend hat der ESP32 keine internen PullUps bzw. siehe unten. Daher wundert es mich, dass in folgendem Projekt es wohl funktioniert.

Ich habe nun mein Keypad COLS an 27,14,12,13 angesteckt. Ein Blick in den Quelltext Keypad.cpp zeigt, das dies die Ausgänge sind und 34,35,25,26 an ROWS, sprich die Eingänge.

Die ROWS habe ich mit 10k externen PullUps beschaltet. Nun funktioniert es. Aus der Spezifikation der 4. GPIOs werde ich nicht ganz schlau. In einem anderen Bericht finde ich das manche GPIO einen PullUp haben, andere nicht. Da die 8 benötigten Ports beim LoLin32 nicht direkt nebeneinander sind bzw. anders verwendet werden, muss ich wohl externe PullUps verwenden.

Gruß Arduino4Fun

Da du im Internet schon gesucht hast, verstehe ich nicht, das du die richtige Aussage nicht gefunden hast.
Der GPIO34 -39 ist "Input only" und hat auch keine Pullup- bzw. Pulldown-Widerstände.
Damit musst du für diese einen externen Pullup einsetzen, wenn benötigt.

Hallo,
nach der Recherche habe ich halt noch keine echte (Stelle in der) Spec gefunden, welche zeigt welcher GPIO PullUp hat oder auch nicht. In dem Link wurde dies wohl experimentell ermittelt.
Aber mit den externen PullUp und den GPIO als INPUT bin ich auf der sicheren Seite

Danke und Gruß Arduino4Fun

Ok....hier findest du weitere Infos.