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 nSchaltflä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, button0gedrückt haben sollte pin0und pin1niedrig; button1, pin0Niedrig und pin1hoch; button2, pin0Hoch ein pin1niedrig; und button3, pin0und pin1hoch.
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.