Arduino Testfor während programm?

... komplette Frage anzeigen

2 Antworten

Am besten liesse sich das über eine ISR (Interrupt Service Routine) machen. Die setzt du so auf, dass sie z. Bsp. alle 100 ms aufgerufen wird, dann kannst du das mit verschiedenen Countern lösen, die du in der ISR raufzählst, während die Schaltaufgaben im Mainloop erledigt werden. 

Auf der Arduino Seite gibt es Beispiele, wie man eine ISR programmiert. 

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von engolmaster
20.08.2016, 20:29

Dankeschön probierich gleich mal

0
Kommentar von engolmaster
20.08.2016, 21:01

Probiert, bei mir kommt folgender Fehler:
exit status 1
Expected ')' before ';' token

Code schicke ich als antwort weil ich es im Kommentar nich posten kann.

0

Du brauchst als erstes am Ende deines Codes eine Delay()-Funktion die min.10 ms lang ist(fürs Timing) dann machst du sowas wie 

if (button=1)

{buttonpress ++} // wir zählen die Zeit die der knopf gedückt ist)


if ((button == 0) && (lasbutton = 1)) //wir gucken ob der knopf grade// losgelassen wurde

{ if button press >(hier würdest du die Zeit, die der knopf gedrückt werden soll in Millisekunde durch dein Delay teilen) {led2 = on}

else {led1 = on}

if (led1 == on) {ledtime ++} //wir zählen, wie lange die led schon an ist

if ((led1 == on) && (ledtime>delay / 10 000 ms))

{led1 = off //wir schalten sie aus

ledtime = 0} 

}

button = lastbutton

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?