X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=multitasking%2FBlinkWithoutDelay_6_class%2FBlinkWithoutDelay_6_class.ino;h=9ce5e9bf01e24b380a6cc01d4e7f63b296c36e71;hb=cb6841d61dc7b6e25912b2510926ef0715098730;hp=6734b14080af01747bc3f13c3220144032e309d8;hpb=929cf678b6e52050584cb43055194830edc5523f;p=sketchbook_andrea diff --git a/multitasking/BlinkWithoutDelay_6_class/BlinkWithoutDelay_6_class.ino b/multitasking/BlinkWithoutDelay_6_class/BlinkWithoutDelay_6_class.ino index 6734b14..9ce5e9b 100644 --- a/multitasking/BlinkWithoutDelay_6_class/BlinkWithoutDelay_6_class.ino +++ b/multitasking/BlinkWithoutDelay_6_class/BlinkWithoutDelay_6_class.ino @@ -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 + */