]> git.piffa.net Git - sketchbook_andrea/blobdiff - multitasking/BlinkWithoutDelay_4_argomento/BlinkWithoutDelay_4_argomento.ino
PWM Pulse
[sketchbook_andrea] / multitasking / BlinkWithoutDelay_4_argomento / BlinkWithoutDelay_4_argomento.ino
index a6ecbaf9cc55034ce08a2720da8c2c99ac9a3c54..11c733875a65267fcce87e188157ff3c77d86a8f 100644 (file)
@@ -24,7 +24,7 @@ void setup() {
 
 void loop()
 {
-  lightLedA(1000);
+  lightLedA(333);
   lightLedB(500);
 }
 
@@ -34,15 +34,12 @@ void loop()
 void lightLedA (int interval) {
   // Illumina il ledA secondo un intervallo passato come argomento
 
-  if(millis() - previousMillisA > interval) {
+  if (millis() - previousMillisA >= interval) {
     // save the last time you blinked the LED 
-    previousMillisA = millis();   
+    previousMillisA += interval;
 
     // if the LED is off turn it on and vice-versa:
-    if (ledStateA == LOW)
-      ledStateA = HIGH;
-    else
-      ledStateA = LOW;
+      ledStateA = !ledStateA;
     // set the LED with the ledState of the variable:
     digitalWrite(ledA, ledStateA);
   }
@@ -52,15 +49,12 @@ void lightLedA (int interval) {
 void lightLedB (int interval) {
   // Illumina il ledB secondo un intervallo passato come argomento
 
-  if(millis() - previousMillisB > interval) {
+  if (millis() - previousMillisB >= interval) {
     // save the last time you blinked the LED 
-    previousMillisB = millis();   
+    previousMillisB += interval;
 
     // if the LED is off turn it on and vice-versa:
-    if (ledStateB == LOW)
-      ledStateB = HIGH;
-    else
-      ledStateB = LOW;
+      ledStateB = !ledStateB;
     // set the LED with the ledState of the variable:
     digitalWrite(ledB, ledStateB);
   }
@@ -68,11 +62,13 @@ void lightLedB (int interval) {
 
 /* Approfondimenti
 - Quali similitudini ci sono tra le due funzioni?
-- Come si dovrebbe fare per semplificare il codice
-  evitando di ripetere larti del codice simile tra loro?
 - Distinguere i dati comuni tra le due funzioni che ci servono per
   far lampeggiare i LED
 - Distinguere i dati che caratterizzano un LED rispetto all'altro
+- Provare a integrare le variabili relative ai due LED dentro le 
+  rispettive funzioni.
+- Sarebbe possibile scrivere una funzione che possa interagire con un LED qualunque?
+  ES: Come inpostare il PIN del LED? Come gestire lo stato del LED?
 */