void loop()
{
- lightLedA(1000);
+ lightLedA(333);
lightLedB(500);
}
void lightLedA (int interval) {
// Illumina il ledA secondo un intervallo passato come argomento
- if(millis() - previousMillisA > interval) {
+ if (millis() - previousMillisA >= interval) {
// save the last time you blinked the LED
- previousMillisA = millis();
+ previousMillisA += interval;
// if the LED is off turn it on and vice-versa:
- if (ledStateA == LOW)
- ledStateA = HIGH;
- else
- ledStateA = LOW;
+ ledStateA = !ledStateA;
// set the LED with the ledState of the variable:
digitalWrite(ledA, ledStateA);
}
void lightLedB (int interval) {
// Illumina il ledB secondo un intervallo passato come argomento
- if(millis() - previousMillisB > interval) {
+ if (millis() - previousMillisB >= interval) {
// save the last time you blinked the LED
- previousMillisB = millis();
+ previousMillisB += interval;
// if the LED is off turn it on and vice-versa:
- if (ledStateB == LOW)
- ledStateB = HIGH;
- else
- ledStateB = LOW;
+ ledStateB = !ledStateB;
// set the LED with the ledState of the variable:
digitalWrite(ledB, ledStateB);
}
/* Approfondimenti
- Quali similitudini ci sono tra le due funzioni?
-- Come si dovrebbe fare per semplificare il codice
- evitando di ripetere larti del codice simile tra loro?
- Distinguere i dati comuni tra le due funzioni che ci servono per
far lampeggiare i LED
- Distinguere i dati che caratterizzano un LED rispetto all'altro
+- Provare a integrare le variabili relative ai due LED dentro le
+ rispettive funzioni.
+- Sarebbe possibile scrivere una funzione che possa interagire con un LED qualunque?
+ ES: Come inpostare il PIN del LED? Come gestire lo stato del LED?
*/