====== LED villogtatás a "millis()" függvény használatával ====== A "klasszikus" 13-as lábon található LED villogtatása. A példaprogrambeli "blink" példaprogram ezt a "delay" függvénnyel valósítja meg, ami nem egy túl elegáns megoldás, mivel a program többi részét is várakozásra kényszeríti. A "millis()" függvénnyel az Arduino indítása óta eltelt időt lehet lekérdezni miliszekundumban. Az ezt tároló float is időnként megtellik, ilyenkor a számlálás újraindul (overflow). * pause_time = 100; : a triggerek közötti várakozási idő, itt speciel 0,1 sec * //%%//%% switch// : ide kell a triggerhez (az idő elteltéhez) kötött eseményeket beírni // 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 } } **[[hu:project:arduino|>> Vissza az Arduino projektek listájához]]**