]> git.piffa.net Git - sketchbook_andrea/blobdiff - multitasking/BlinkWithoutDelay_6_class/BlinkWithoutDelay_6_class.ino
oggi
[sketchbook_andrea] / multitasking / BlinkWithoutDelay_6_class / BlinkWithoutDelay_6_class.ino
index 6734b14080af01747bc3f13c3220144032e309d8..9ce5e9bf01e24b380a6cc01d4e7f63b296c36e71 100644 (file)
@@ -1,16 +1,17 @@
 /* Blink without Delay
- Soluzione
+ Class: definizione di una classe LED.
  
- Introdotto un argomento per la funzione che nodifica l'intervallo di lampeggio 
+ L'oggetto LED integra i dati (proprieta') del led con i metodi (le funzioni).
  */
 
+// Oggetti:
 class Lampeggiatore {
   // Lampeggia un LED utilizzando millis()
   // Variabili
   int ledPin ;           // il numero del LED pin
   int ledState ;         // stato attuale del LED
   long interval ;        // milliseconds di intervallo nel lampeggiare
-  long previousMillis ;  //precedente cambio di stato
+  long previousMillis ;  // precedente cambio di stato
 
   // Constructor: come viene instanziato un oggetto facente parte della classe
 public:
@@ -27,7 +28,7 @@ public:
   void Update () {
     // Illumina il ledB secondo un intervallo passato come argomento
 
-    if(millis() - previousMillis > interval) {
+    if (millis() > previousMillis + interval) {
       // save the last time you blinked the LED 
       previousMillis = millis();   
 
@@ -53,4 +54,9 @@ ledA.Update();
 ledB.Update();
 }
 
+/* Domande:
+ 1. Ogni quante volte viene eseguito il codice del loop per ogni millisecondo?
+ 2. Utilizzare un interrupt per richiamare Update()
+    Es: https://learn.adafruit.com/multi-tasking-the-arduino-part-2/overview
+ */