X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;ds=sidebyside;f=multitasking%2FBlinkWithoutDelay_1%2FBlinkWithoutDelay_1.ino;h=72a9694039bd500a5f25961f2c5390b428bf7ed9;hb=22e41500749cb15583e70d04aa6088196d77da06;hp=bbed9dedd3b116e04186cfde7313345da97d3fdf;hpb=f794af5de04c45dbfab7f52ebb49315f72b9fc9f;p=sketchbook_andrea diff --git a/multitasking/BlinkWithoutDelay_1/BlinkWithoutDelay_1.ino b/multitasking/BlinkWithoutDelay_1/BlinkWithoutDelay_1.ino index bbed9de..72a9694 100644 --- a/multitasking/BlinkWithoutDelay_1/BlinkWithoutDelay_1.ino +++ b/multitasking/BlinkWithoutDelay_1/BlinkWithoutDelay_1.ino @@ -14,6 +14,7 @@ by David A. Mellis modified 8 Feb 2010 by Paul Stoffregen + modified by eaman This example code is in the public domain. @@ -23,7 +24,7 @@ // constants won't change. Used here to // set pin numbers: -const int ledPin = 13; // the number of the LED pin +const int ledPin = 13; // Variables will change: int ledState = LOW; // ledState used to set the LED @@ -31,7 +32,7 @@ long previousMillis = 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 interval = 1000; // interval at which to blink (milliseconds) +const long interval = 1000; // interval at which to blink (milliseconds) void setup() { // set the digital pin as output: @@ -46,17 +47,18 @@ void loop() // difference between the current time and last time you blinked // the LED is bigger than the interval at which you want to // blink the LED. - unsigned long currentMillis = millis(); - if(currentMillis - previousMillis > interval) { - // save the last time you blinked the LED - previousMillis = currentMillis; + if (millis() > previousMillis + interval) { + // Aggiorniamo il contatore previousMillis + previousMillis = millis(); // if the LED is off turn it on and vice-versa: if (ledState == LOW) ledState = HIGH; else ledState = LOW; + // e' possibile semplificare questa operazione? + // Hint: lo stato del LED e' binario: ha solo due stati possibili. // set the LED with the ledState of the variable: digitalWrite(ledPin, ledState); @@ -65,5 +67,6 @@ void loop() /* Domande 1. Aggioungere un LED che brilli ogni 500ms - 2. E' possibile cambiare gli intervalli dei due LED? - */ + 2. E' ora agevole cambiare gli intervalli dei due LED? + Modificare gli intervalli dei due led (es 500ms - 320ms) + */