Arduino Großprojekt

Dann musst Du die Dioden, wie in #48 gezeigt einbauen.

Gruß Tommy

Nein, denn ich werde zu einem Login aufgefordert, was ich nicht habe.

Wenn ich das Bild richtig interpretiere, sind die schon drin.

keypad.h ist an sich nur für das Auslesen einzelner Tasten gedacht. Seit V3.0 soll auch das Auslesen mehrerer Tasten möglich sein. Welche Version setzt Du in Tinkercad ein? Es gibt in der V3.x ein Beispiel wie man Mehrfachtastendrücke auswertet:

Nein. Weil ich nicht mit Tinkercad arbeite und es auch niemals tun werde weil mir die Expansionspolitik von AutoDESK total missfällt.

WOKWI.COM hat nicht so viele Komponenten wie (s)tinkercad aber für viele Anwendung reicht es.

Du solltest mal das Maximum deiner Träume was die Steuerung alles können soll beschreiben.
Davon hängt ab welche Lösung gut funktioniert und ob es mit einer bestimmten Hardware überhaupt funktioniert.

Wenn dabei jetzt herauskommt du möchtest 10 oder 20 Taster gleichzeitig drücken können
dann ist Einzelverdrahtung an 8 Stück IO-expandern doch das Mittel der Wahl.

@noiasca :

kann der SX1509 mit seiner eingebauten key-engine
mehrere, gleichzeitig
im Sinne von
Taste 1 ist runtergedrückt und wird weiterhin heruntergedrückt gehalten
jetzt wird - während Taste 1 immer noch heruntergedrückt ist - Taste 2 gedrückt
jetzt wird - während Taste 1 und Taste immer noch heruntergedrückt sind - Taste 3 gedrückt

detektieren das jetzt
Taste-1, Taste-2, und Taste-3 heruntergedrückt sind?

  1. Es sind 2

habs länger nicht mehr probiert, aber ich glaube ja.

Auch bei einer Matrix mit Dioden kann man alle Taster unabhängig voneinander auswerten und erkennen welche gedrückt sind. Machen meine MoToButtons auch und da gibt es auch entsprechende Beispiele.
Die von @hotec bisher verwendete keypad.h ist aber eher für eine kleine Tastatur ausgelegt, bei der die Tasten immer nacheinander gedrückt werden.

Zwei gleichzeitig gedrückte Tasten kann die letzte Version der keypad.h wohl auch ( Lt. Beschreibung bis zu 10 ). Aber nicht so, wie Du das versuchst. Hast Du das verlinkte Beispiel für Mehrfach-Tastendrücke ausprobiert?

SX1509 ....
Ich werde auch mal testen wenn er dann da ist. Bis dato waren deine Vorschläge ja immer recht interessant. Auch der Link zu der Modellbahnverwaltung.

Ja das hat geklappt, die Zustände werden nur immer 2 mal auf dem Monitor angezeigt.
Ich habe alle Anzeigen gelöscht, außer "pressed". Wenn ich nun den Schalter wieder deaktiviere, wird die Meldung "pressed" auch 2 mal auf dem Bildschirm angezeigt.
Soll das so?


(Als erstes habe ich Schalter 1 angemacht, dann Schalter 2 an und dann Schalter 1 wieder aus)

Edit:
Das mit dem beim Ausschalten jann man lösen, indem man den Case: realeasd wieder einfügt und halt im Code nicht drunter einträgt

Du solltest in dem switch auf alle 4 möglichen Zustände abfragen:

                switch (kpd.key[i].kstate) {  // Report active key state : IDLE, PRESSED, HOLD, or RELEASED
                    case IDLE:
                    msg = " IDLE.";
                break;
                    case PRESSED:
                    msg = " PRESSED.";
                break;
                    case HOLD:
                    msg = " HOLD.";
                break;
                    case RELEASED:
                    msg = " RELEASED.";
                break;

Dann kannst Du auch sehen, wie die Lib die Zustände umschaltet.