===== LED-Blinken mit der Funktion "millis ()" ====== Blinken der LED am "klassischen" am Pin 13. Das Beispielprogramm "blink" im Programm macht mit der Funktion "delay", was nicht elegante Lösung ist, weil den Rest des Programms zum Warten zwingt. Mit der Funktion "millis()" kann die verstrichene Zeit seit dem Start von Arduino in Millisekunden abgefragt werden. Der Speicher, der dies speichert, ist manchmal voll, in diesem Fall beginnt der Countdown erneut (overflow). * pause_time = 100; : waiting time: 0.1 sec * after //%%//%% switch// : timer-related operations can be inserted here // source: ob121.com - Vamos Sandor 2018 float current_time, old_time, pause_time; // variables for "Time" bool blink_on; // state of blink void setup() { pinMode(13, OUTPUT); // blink LED def. current_time = millis(); // read time old_time = current_time; // default: start from 0. pause_time = 100; // pause (waiting) time, in here 0,1 sec } // the loop function runs over and over again forever void loop() { // ----------------------- timer current_time = millis(); // read time if (current_time < old_time) { // after overflow old_time = current_time; // new start } if ((current_time - old_time) > pause_time) { // time is gone old_time = current_time; // new start // switch blink_on = !blink_on; // trigger event(s) } // ------------------------ blink if (blink_on) { digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) } else { digitalWrite(13, LOW); // turn the LED off by making the voltage LOW } } **[[de:project_arduino:start|>> Zurück zur Liste der Arduino-Projekte]]**