X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=multitasking%2FBlinkWithoutDelay_3_funzione%2FBlinkWithoutDelay_3_funzione.ino;h=e27cf55d8c4e1de6ff5e67fa5022d7826c6b6198;hb=3b78d813afb2e27ed29faa261570d2eeb8d5068d;hp=886dd5e98142f2af7055dd4f252f2def385e8b52;hpb=929cf678b6e52050584cb43055194830edc5523f;p=sketchbook_andrea diff --git a/multitasking/BlinkWithoutDelay_3_funzione/BlinkWithoutDelay_3_funzione.ino b/multitasking/BlinkWithoutDelay_3_funzione/BlinkWithoutDelay_3_funzione.ino index 886dd5e..e27cf55 100644 --- a/multitasking/BlinkWithoutDelay_3_funzione/BlinkWithoutDelay_3_funzione.ino +++ b/multitasking/BlinkWithoutDelay_3_funzione/BlinkWithoutDelay_3_funzione.ino @@ -1,32 +1,34 @@ /* Blink without Delay - Soluzione + Blink con funzione + + Soluzione: Provare a isolare il codice per accendere ogni singolo led in una funzione: + + - Quali variabili determinano il comportamento del LED? + - Come cambiano durante il corso dello script? + - Sono globali o locali? - 3. Provare a isolare il codice per accendere ogni singolo led in una funzione: - Quali variabili determinano il comportamento del LED? - Sono globali o locali? - */ -// constants won't change. Used here to -// set pin numbers: - ///////////// // First LED -int ledA = 13; // the number of the LED pin +const int ledA = 13; // the number of the LED pin // Variables will change: int ledStateA = LOW; // ledState used to set the LED long previousMillisA = 0; // will store last time LED was updated // the follow variables is a long because the time, measured in miliseconds, // will quickly become a bigger number than can be stored in an int. long intervalA = 1000; // interval at which to blink (milliseconds) +void lightLedA () ; ////////////// -// Second LED -int ledB = 12; //Secondo LED -int ledStateB = LOW; // ledState used to set the LED +// Second LED +// Now with less global variables thanks to static (see function body) +const int ledB = 12; //Secondo LED + // ledState used to set the LED long previousMillisB = 0; // will store last time LED was updated -long intervalB = 500; // interval at which to blink (milliseconds) + // interval at which to blink (milliseconds) +void lightLedB () ; void setup() { @@ -42,10 +44,10 @@ void loop() } -// Funzioni +// Funzioni: void lightLedA () { - if(millis() - previousMillisA > intervalA) { + if (millis() > previousMillisA + intervalA) { // save the last time you blinked the LED previousMillisA = millis(); @@ -61,7 +63,9 @@ void lightLedA () { } void lightLedB () { - if(millis() - previousMillisB > intervalB) { + long intervalB = 500; + static int ledStateB ; // https://www.arduino.cc/en/Reference/Static + if (millis() > previousMillisB + intervalB) { // save the last time you blinked the LED previousMillisB = millis(); @@ -78,11 +82,12 @@ void lightLedB () { /* Domande 1. Modificare le funzioni in modo che accettino come parametro - l'intervallo di lampeggio. - + l'intervallo di lampeggio. + */ +