]> git.piffa.net Git - sketchbook_andrea/blobdiff - multitasking/millis/flasher/flasher.ino
Flasher con millis
[sketchbook_andrea] / multitasking / millis / flasher / flasher.ino
diff --git a/multitasking/millis/flasher/flasher.ino b/multitasking/millis/flasher/flasher.ino
new file mode 100644 (file)
index 0000000..ffc51b1
--- /dev/null
@@ -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;
+    }
+  }
+}