| Arduino - Zeitfunktionendelay()Delay() stellt eine Wartefunktion dar und hält das Programm auf eine bestimmte Zeit an. Die Wartezeit wird in Klammern angegeben. Die Angaben erfolgen in Millisekunden. Während der Wartezeit werden keine anderen Anweisungen ausgeführt. Beispiel: // ---------------------------------------------------------- // Diode Ein / Aus
Das Beispiel setzt voraus, dass am Pin Nr. 35 eine Leuchtdiode mit einem Vorwiderstand angeschlossen wurde. Im Programm wird zunächst der Pin 35 als Ausgang definiert. Man kann natürlich für das Beispiel einen anderen Pin verwenden. Sobald das Programm startet, wird mit dem Befehl digitalWrite (LedPin, HIGH) die Diode am Pin 35 eingeschaltet und mit delay (1000) das Programm für eine Sekunde eingehalten. Sobald die Zeit abgelaufen ist, wird die Diode wiederum mit digitalWrite (LedPin, LOW) ausgeschaltet und die Zeit von 0,5 Sek. abgewartet. Anschließend werden die Vorgänge wiederholt. Als Ergebnis bekommen wir eine blinkende Diode, die abwechselnd 1 Sek. an und 0,5 Sek. aus ist. delayMicroseconds()delayMicroseconds() funktioniert wie delay(), die Zeitangaben erfolgen hier jedoch in Mikrosekunden. millis()Mit der Funktion millis() kann Zeit in Millisekunden gemessen werden. Vorzugsweise, da die Anzahl der Millisekunden schnell ansteigen kann, werden hier Variablen angewendet, die als unsigned long definiert werden. Mit dem Befehl ist es möglich, eine Zeitspanne von 50 Tagen zu erfassen. Beispiel: // ---------------------------------------------------------- // Diode Ein / Aus
Als Ergebnis bekommen wir, ähnlich wie im vorhergehenden Beispiel, ebenfalls
eine blinkende Diode. Da die Variable MillisAktuell fortlaufend ansteigt, müssen wir für die
Intervall-Überwachung selbst sorgen. Dazu dient die Variable LedStart. Sobald die Diode einen
vollen Zyklus durchlaufen hat (EIN für 1 Sek., AUS für 0,5 Sek.), wird diese Variable mit dem
aktuellen Wert von Millisekunden belegt, den die Funktion millis() liefert. So werden nach
jedem Durchlauf neue Intervalle gebildet, bei denen entschieden wird, ob die Diode ein- oder
ausgeschaltet werden soll. micros()Ähnlich wie millis(). Micros() gibt die Anzahl der Mikrosekunden zurück, die seit dem Programmstart vergangen sind. Mit micros() kann man eine Zeitspanne von ca. 70 Minuten erfassen. Arduino_Programmierung
|