Entprellung bei Tastermatrix über AD-Wandler

Gast #608549
Lesenswert?
• ▲
▼
Hi,

da ich an meinem Atmega48 für ein zukünftiges Projekt nicht mehr genug 
freie Pins für eine Tastermatrix habe, verwende ich dazu einen 
AD_Wandler. Dort werden die Taster über eine Wiederstandsmatrix 
eingelesen. Anhand der Spannung kann ich erkennen, welche Taste gedrückt 
wurde. Das mit dem einlesen der Spannungen klappt auch ohne Probleme.

Nun kam mir die Frage, wie kann ich diese Taster entprellen? Im Prinzip 
doch wie andetre Taster auch. Nach dem drücken muss gewartet werden, bis 
der Taster wieder losgelassen wird. Also in meinem Fall, bis am 
AD-Wandler keine Spannung mehr anliegt. Danach muss eine gewisse Zeit 
vergehen, bis ein erneutes einlesen des Tasters erlaubt wird.

Das habe ich nun so verwirklicht:

1. Taste wird gedrückt
2. Aktion ausgeführt
3. Erneutes Tasten einlesen verweigert (In der Software taste = 1)
4. Warten bis Taste losgelassen wurde (AD_Wert == 0)
5. Prellzeit einfügen (Variable t4 wird unter den Bedingungen 3 und 4 in
   der Hauptschleife hochgezählt)
6. Erreicht t4 den Wert 5 wird das Tasten einlesen wieder freigegeben

Nun hab ich aber irgendwie das Problem, dass anscheinend nicht jeder 
Tastendruck erkannt wird. Manchmal funktioniert es 10mal hintereinander, 
dann aber einmal nicht. Hab ich was Grundlegendes falsch gemacht? Anbei 
mal  ein Auszug aus dem Code.

Gruß
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.