Mehr als 5 Tasten (+ Drehencoder)?!

Hallo Zusammen, vielen Dank für die tollen Inhalte in diesem Forum. Ich bin neu hier und noch am einlesen / ausprobieren. Leider bin ich mit eher bescheidenen programmiertechnischen Fähigkeiten ausgestattet…

Welche stellen müsste ich am Code ändern, wenn ich mehr als 5 Buttons (+ Drehencoder) verwenden möchte?

Ist das Hardwaretechnisch mit dem mini4L + LiFePo überhaupt möglich? Falls „Nein“: Was müsste man ändern, um mehr Buttons anschließen zu können?

Hintergrund: Ich möchte gewissen Tasten RFIDs zuweisen…

In der settings.h sind aktuell sechs Buttons definiert (short, long und multi). Das müsstest du dir erweitern.
Ansonsten musst du dir die Button.cpp erweitern.

Die mini4L hat ja einen ext-Konnektor. Da sind noch vier weitere Anschlüsse rausgeführt (die haben die Zahlen 111 bis 114). Wenn das immer noch nicht reicht, kannst du dir (Achtung, Hack!) von JP2 Pad 3 (Lötjumper) die 109 holen und von JP3 Pad 3 (Lötjumper) die 110. Du darfst aber wirklich dann nur an die 3 dran. 1+2 wird für den Drehencoder benötigt.

Dann bleibt am Port-Expander nur noch 106 übrig, aber den habe ich nicht rausgeführt.

Am Ext-Konnektor gibt’s auch noch GPIO 32 und 5. Wenn du auf den Drehencoder verzichtest, dann kannst du auch 34 und 39 nutzen. Da brauchst du aber PullUp-Widerstände.

Wird dann hoffentlich reichen :rofl:.

Du könntest auch schauen, ob einer der freien GPIO auch als ADC verwendbar ist. Dann könntest du theoretisch mehr Taster verbauen als dir lieb ist, indem du diese Widerstandscodierst (ist in vielen Geräten so gemacht). Beim Abstand der Widerstandswerte muss man jedoch geschickte Toleranzen wählen um Übergangswiderstände an den Tastern und die Temperaturabhängigkeit zu kompensieren. Wenn die Widerstände nach 2er Potenz (zB. 100Ohm, 200Ohm, 400Ohm, 800Ohm, 1,6kOhm, 3,2kOhm, 6,4kOhm, 12,4kOhm…) gewählt werden, dann könntest du sogar eine Multibuttonerkennung umsetzen. Der Code zur Auswertung fehlt dann halt noch.
Auf die Schnelle habe ich dies gefunden: Tasten — AsuroWiki

Wenn du einen Encoder verwenden willst und die Bedienung nicht vom Kind benutzt wird.
Kannst du auch eine Funktion je nach Encoderstellung + Multitaster auslösen.
Da solltest du auch ohne größere Anoassungen viele Varianten hinbekommen.
Allerdings muss man sich viel merken;-)

Grüße

Mega, vielen Dank für die interessanten kreativen Alternativen. Ich denke ich werde mal „klein“ anfangen und über den ext-Konnektor gehen. :slight_smile:
Wenn ich was vorzeigbares zusammengebracht habe werde ich mal berichten. :slight_smile: