Ja, das scheint eine gute Idee zu sein, aber auf jeden Fall werde ich eine Alternative vorschlagen, die mir gerade in den Sinn gekommen ist.
Wenn Sie Zugriff auf Logikgatter haben, können Sie über die Boolesche Logik viele n
Schaltflächen ceil(log2(n + 1))
Pins zuordnen. Wenn Sie beispielsweise 4 Schaltflächen, aber nur 2 Stifte haben, können Sie eine Konfiguration wie die folgende erstellen:
Buttons | Pins
---- | --
0123 | 01
---- | --
0001 | 00
0010 | 01
0100 | 10
1000 | 11
Das heißt, button0
gedrückt haben sollte pin0
und pin1
niedrig; button1
, pin0
Niedrig und pin1
hoch; button2
, pin0
Hoch ein pin1
niedrig; und button3
, pin0
und pin1
hoch.
Daraus würden sich die folgenden Booleschen Ausdrücke ergeben
pin0 = button2 OR button3
pin1 = button1 OR button3
Eine Zuordnung von 4 Tasten zu 2 Pins könnte somit mit nur 2 ODER-Gattern realisiert werden. Sie benötigen jedoch einen zusätzlichen Pin und eine zusätzliche Logik, um anzuzeigen, ob überhaupt eine Taste gedrückt wird.
Natürlich wird es immer noch Probleme geben, wenn mehrere Tasten gleichzeitig gedrückt werden.
Wenn Sie dennoch mit dem Widerstandsansatz weitermachen möchten, sollten Sie größere Werte für die Widerstände verwenden als 100 Ohm, da 5 V durch Widerstände in der Größenordnung von 100 Ohm einen Strom in der Größenordnung von 10 mA ergeben würden von unnötig hoch. Ich denke, vernünftigere Werte wären 10 kOhm oder 47 kOhm.