ADC-Button entprellen
Zu dem folgenden Codeschnipsel kam es, als ich für ein „schnelles Projekt“ auf Komponenten der Arduino – Schiene zurückgegriffen habe. Darunter das „LCD and keypad shield“. Die Abbildung zeigt ein solches shield, hier von SainSmart. Das gibt es aber auch von vielen anderen Herstellern.
LCD_keypadShield.jpg
Die Abfrage der Tasten durch den AD-Wandler stellt in der Regel kein großes Problem dar, ist doch die Schaltung dahinter gut dokumentiert. Auch den Code dazu findet man in allen gängigen Sprachen, immer mit dem gleichen Prinzip –> Anhand der Bewertung werden in einer Byte-Variablen entsprechende Bits gesetzt.
In der Basis sieht der Code dann so aus:
Möchte oder muss man nun diese analog abgefragten Tasten mit Debounce weiterbehandeln, steht man vor dem Problem, dass dieser Befehl nun mal nur mit IO- Registern arbeitet.
Zum Glück gibt es aber freie IO-Register, wie z.B. im ATmega328. Drei Stück sind das und heißen GPIOR0 bis GPIOR2
Der Trick dahinter ist also:
Viel Spaß damit
Galahat
Zu dem folgenden Codeschnipsel kam es, als ich für ein „schnelles Projekt“ auf Komponenten der Arduino – Schiene zurückgegriffen habe. Darunter das „LCD and keypad shield“. Die Abbildung zeigt ein solches shield, hier von SainSmart. Das gibt es aber auch von vielen anderen Herstellern.
LCD_keypadShield.jpg
Die Abfrage der Tasten durch den AD-Wandler stellt in der Regel kein großes Problem dar, ist doch die Schaltung dahinter gut dokumentiert. Auch den Code dazu findet man in allen gängigen Sprachen, immer mit dem gleichen Prinzip –> Anhand der Bewertung werden in einer Byte-Variablen entsprechende Bits gesetzt.
In der Basis sieht der Code dann so aus:
Zum Glück gibt es aber freie IO-Register, wie z.B. im ATmega328. Drei Stück sind das und heißen GPIOR0 bis GPIOR2
Der Trick dahinter ist also:
Viel Spaß damit
Galahat