ledState = HIGH;
else
ledState = LOW;
+ // e' possibile semplificare queta 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);
1. Aggioungere un LED che brilli ogni 500ms
2. E' ora agevole cambiare gli intervalli dei due LED?
Modificare gli intervalli dei due led (es 500ms - 320ms)
- */
+ */
// the LED is bigger than the interval at which you want to
// blink the LED.
+// First LED
if(millis() - previousMillisA > intervalA) {
// save the last time you blinked the LED
previousMillisA = millis();
digitalWrite(ledA, ledStateA);
}
+// Second LED
if(millis() - previousMillisB > intervalB) {
// save the last time you blinked the LED
previousMillisB = millis();
// 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
// ledState used to set the LED
long previousMillisB = 0; // will store last time LED was updated
// interval at which to blink (milliseconds)
+void lightLedB () ;
void setup() {
void lightLedB () {
long intervalB = 500;
- static int ledStateB ;
+ static int ledStateB ; // https://www.arduino.cc/en/Reference/Static
if(millis() - previousMillisB > intervalB) {
// save the last time you blinked the LED
previousMillisB = millis();
};
// Instanziamo i due led dalla classe
-Lampeggiatore ledA(1, 1000);
-Lampeggiatore ledB(2, 500);
+Lampeggiatore ledA(13, 1000);
+Lampeggiatore ledB(12, 500);
void setup() {
}
Aggiungere un secondo LED e farlo brillare ogni 500ms
mentre il primo brilla ogni 1000ms
- a | b
- ========
- 1 | 1
- 1 | 0
- 0 | 1
- 0 | 0
+ a | b Changes
+ ======== =========
+ 1 | 1 x | x
+ 1 | 0 | x
+ 0 | 1 x | x
+ 0 | 0 | x
Periodo = 500ms
;
}
+/* Domande
+ 1. Altro scenartio: fare brillare un LED ogni 300ms mentre il secondo brilla ogni 400m
+ 2. Aggiungere un terzo LED
+ */
+