Forum: Mikrocontroller und Digitale Elektronik Counter hochzählen mittels Taster -Atmega88


von Michel S. (11michi11)


Lesenswert?

Hallo,
ich bin ebenfalls recht neu im Bereich Programmierung von AVRs in C und 
hab daher ein paar Fragen und hoffe auf eure Unterstützung.
Ich möchte mittels eines Counters von 0 bis 3 hochzählen und den Counter 
dann wieder auf 0 zurücksetzten.
Den Wert des Counter nehme ich, um 3 verschiedene 
Programmabläufe(while-schleifen)/Funktionen/Unterprogramme aufzurufen/zu 
beenden.
Hintergrund ist die Ansteurung einer Heizung zum Erhitzen von Wasser.
Die unterschiedlichen Modi benötige ich, da entweder das Wasser bis zum 
Siedepunkt erhitzt werden soll oder eben nur bis zu einer vorher 
eingestellten Solltemperatur.
Erster Ansatz war das hochzählen des Counters mittels ext.Interrupt an 
INT1, was aber vorstellbarerwiese nicht zum genau dem führte was 
bezweckt war.
Wobei ich in der ISR(INT1_vect) jeweils eine halbe Sekunde per 
Warteschleife warte.
Zweiter Ansatz war/ist den Taster in der ISR des Timer0 OVF abzufragen 
und den Counter hoch zu zählen bzw. zurück zu setzen.
Was allerdings das Problem mit sich führt das bei geedrücktem Taster die 
Modi wahnsinnig schnell wechseln und eben auch die entsprechenden 
Anzeigen auf dem angeschlossenen LCD(wie z.B. Soll- und 
Istwerttemperatur des Wassers).
Könnt ihr mir gegenenfalls einen Ansatz/Idee geben wie ich es besser 
lösen könnte?
Habe bislang im Tut bzw. dem Forum nichts passendes gefunden.
Ich möchte keinen fertigen Code, nur eben eine Idee dazu und eventl. ein 
paar ein leitende Worte zu eurer Idee.

Vielen Dank im Voraus ...

von STK500-Besitzer (Gast)


Lesenswert?

Michel Schl. schrieb:
> Könnt ihr mir gegenenfalls einen Ansatz/Idee geben wie ich es besser

Taster entprellen

von 11michi11 (Gast)


Lesenswert?

Okay das ich den Taster entprellen muss, war mir klar bzw. das es damit 
zusammen hängt. Nur wird mir aus dem bislang gelesenen nicht deutlich 
wie ich das auf diesen konkreten Fall anwenden soll. Da die bislang 
gelesenen Artiklen zu dem Thema, nicht zu meinem Problem passen.

von STK500-Besitzer (Gast)


Lesenswert?

Michel Schl. schrieb:
> Was allerdings das Problem mit sich führt das bei geedrücktem Taster die
> Modi wahnsinnig schnell wechseln und eben auch die entsprechenden
> Anzeigen auf dem angeschlossenen LCD(wie z.B. Soll- und
> Istwerttemperatur des Wassers).

Die Frage mitten im Text zu verstecken ist nicht ADHS-kompatibel...

Du musst einfach auswerten, ob zwischendurch der Taster wieder 
losgelassen wurde.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Michel Schl. schrieb:
> Wobei ich in der ISR(INT1_vect) jeweils eine halbe Sekunde per
> Warteschleife warte.

uhhhh, ganz böse ....

von Peter D. (peda)


Lesenswert?

Man darf auch was fertiges zum Tasten einlesen nehmen:

http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.