Drucksensor als Buttons?

Hallo zusammen,

wäre es möglich einen Drucksensor als Buttons für den espuino zu verwenden?

Konkret habe ich diese hier im Blick: Flexibler Dünnfilm Drucksensor | Präziser Kraftsensor 3,3 / 5V Analog

Ich verwendet noch das DevelBoard D32 pro FePo

Hat damit schon jemand Erfahrungen gemacht? Ich vermute einfach an die Button-Pins anschließen geht nicht, wenn dann müsste vermutlich die SW angepasst werden oder?

VG

Mat

Wenn ich das richtig sehe, müssen die verlinkten Sensoren analog ausgelesen werden. Das geht mit der mini4L so nicht, da der Sensoreingang über den Port-Expander läuft. Es sind auch noch GPIOs frei, an die man sowas anschließen könnte, aber dafür musst du auf jeden Fall programmieren können.

Danke für die Antwort. Die Ausgangslage hat sich gerade geändert, da ich die Complete bestellt habe. Wenn ich es richtig gelesen habe, dann könnte ich das ganze an Ext. Conn 1 anschließen. Dort habe ich ja GND, 3.3V switched und 3xGIPOs. D.h. ich könnte dort maximal 3 von den Sensoren anschließen.

Hast du noch einen Tipp, an welcher Stelle im Code ich ansetzen könnte, um z.B. die Funktion des Play-Buttons mit solch einem Drucksensor zu steuern?

Wie gesagt dir müssen analog ausgelesen werden → ESP32 Analog Input with Arduino IDE | Random Nerd Tutorials

Musst erstmal gucken ob an den Pins das überhaupt verfügbar wäre…

Das mit dem “müssen analog ausgelesen werden” stimmt so nicht ganz.
Hier das Schaltschema der Anschlussprint:

In den Beispielen wird eine Ausgabe des aktuellen Drucks der auf den Sensor einwirkt angezeigt.
Dies geschieht auf Grund des Auslesens des Spannungsteilers: Sensor-Widerstand und R1 mit 510kOhm

Wenn aber nur die Information: Kein Druck oder starker Druck benötigt wird, kann das SIG auch mit digitalRead(SensorPin) (0/1, false/true) ausgelesen werden.

Das heißt, das sollte so wie es ist wie ein normaler Taster funktionieren.
Wichtig VCC an 3.3V nicht an 5V, ansonsten wird der Eingang des ESP32 gebruzzelt.
Durch den PullDown Widerstand R1 ist dieser (Sensor)Taster allerdings active-high, d.h. im Ruheszustand ergibt das LOW und gedrückt HIGH.

Dazu habe ich früher schon für einen kapazitiven Sensortaster conditional defines in der settings.ini eingeführt. Diese stahen default auf

// Buttons active state: Default 0 for active LOW, 1 for active HIGH e.g. for TTP223 Capacitive Touch Switch Button (FinnBox)

    #define BUTTON_0_ACTIVE_STATE 1

    #define BUTTON_1_ACTIVE_STATE 1

    #define BUTTON_2_ACTIVE_STATE 1

    #define BUTTON_3_ACTIVE_STATE 1

    #define BUTTON_4_ACTIVE_STATE 1

    #define BUTTON_5_ACTIVE_STATE 1

Diese müssten bei diesem Sensor auf 1 gesetzt werden

Sollte es mit Änderung der Settings.ini auf –ACTIVE_STATE 1 nicht out of the Box funktionieren, dann bitte wieder melden.

P.S: AZ-Delivery zeigt übrigens auch ein Beispiet für des Rasperry-PI, wo auch nur der Status LOW / HIGH (Taster) ausgelesen wird.

Geändert hat sich erstmal nichts, da der ExtConn auch auf der mini4L vorhanden ist :slight_smile:

Heute Morgen unter der Dusche hatte ich tatsächlich auch überlegt, ob man es einfach mal versuchen kann, ob es auch digital funktioniert.
Du müsstest dann +3,3V und GND vom ExtConn holen. Der Sensorpin des jeweiligen Eingangs befindet sich immer oben bzw. rechts. GND (Batprot-) ist immer unten bzw. links, wie man auf dem nachfolgenden Bild sieht.

Danke für alle eure Antworten. Echt klasse.

Dann probiere ich es mit 3,3V und GND von ExtConn und Signal auf den rechten bzw. oberen Pin eines Buttons.

In der SW dann noch den jeweiligen BUTTON_x_ACTIVE_STATE auf 1.

Ich werde berichten. Dauert aber ein paar Tage bis ich dazu komme :sweat_smile:

Ist der Sensorpin direkt ein Pin vom ESP32 oder vom Portexpander.

Frage wegen Inputimpetanz, da es recht hochohmige Widerstände sind.

Bei Portexpander müsste ggf. das noch gecheckt werden, ob der Eimgang hochohmig genug ist.

Das ist alles Port-Expander.