X-Git-Url: http://git.piffa.net/web?p=sketchbook_andrea;a=blobdiff_plain;f=multitasking%2Fmillis%2Fflasher%2Fflasher.ino;fp=multitasking%2Fmillis%2Fflasher%2Fflasher.ino;h=ffc51b1f616f97b38dd0dd55a01afdd0f9accda9;hp=0000000000000000000000000000000000000000;hb=0662b12752ee761efee7077b63c77f294e98deda;hpb=2833f00daaa67fa16122dc20873a1f00a346abf8 diff --git a/multitasking/millis/flasher/flasher.ino b/multitasking/millis/flasher/flasher.ino new file mode 100644 index 0000000..ffc51b1 --- /dev/null +++ b/multitasking/millis/flasher/flasher.ino @@ -0,0 +1,29 @@ +/* Flasher + + Sequenza di lampeggi ad intervalli arbitrari + A ogni valore di intervallo viene fatto il toggle del PIN +*/ + +const int led = 13; + +unsigned long previousMillis = 0; // Ultimo aggiornamento +unsigned int intervalli[] = {100, 100, 100, 100, 500, 500} ; +unsigned int cur = 0 ; + +void setup() { + pinMode(led, OUTPUT); +} + +void loop() +{ + if (millis() - previousMillis >= intervalli[cur]) { + previousMillis += intervalli[cur] ; + digitalWrite(led, !digitalRead(led)); + + if (cur < sizeof(intervalli) / sizeof(intervalli[0]) -1 ) { + cur++; + } else { + cur = 0; + } + } +}