Frage von engolmaster, 27

Arduino Testfor während programm?

Heyho, ich programmier grad an meinem arduino UNO rum. Hab bis jetzt nur ne Ampel :D
Jetzt hatte ich die idee gehabt, dass wenn ich einen Knopf drücke, eine LED für 10 sek (also 10000ms) leichtet. Dabei muss ich den knopf nicht gedrückt lassen. Das soll während des gesamten anderen Programms von der Ampel gehen.
Ist das möglich? Und kann ich da auch schreiben, dass wenn ich den Knopf 5 sek. Drücke, LED1 leuchtet und wenn ich ihn 10 sek. Drücke LED2 leuchtet?

Vielleicht kann jemand verstehen was ich meine

Greets,
Phil

Antwort
von Nube4618, 15

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. 

Kommentar von engolmaster ,

Dankeschön probierich gleich mal

Kommentar von engolmaster ,

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.

Kommentar von Nube4618 ,

Dann hast du irgendwo einen Syntax Fehler drin. Die Fehlermeldung selbst kann irreführed sein, weil sie nicht immer zeigt, was der Fehler war, sondern erst ausgeworfen wird, wenn ein Fehler vom Parser erkannt wurde. 

Keine passende Antwort gefunden?

Fragen Sie die Community