4 PWM per un LED: aumentare progressivamente la luminosita'.
5 Utilizza la funzione millis() invece che un delay()
6 in modo da non blocare il processore.
11 // the setup routine runs once when you press reset:
13 pinMode(9, OUTPUT); // Il PIN nove va dichiarato come un OUTPUT
24 void pwmUp(byte led, int speed) {
25 // Aumenta progressivamente la luminosita' usanndo millis()
26 // quindi senza bloccare il processore
28 static byte brightness = 0; // Valore iniziale per il PWM del LED
29 static long previousMillis = 0;
31 analogWrite(led, brightness); // La funziona analogWrite utilizza il PWM
32 // a 8 bit integrato nel MCU: simula un serie di valori intermedi
33 // nell'intervallo discreto con minimo 0 (spento) e massimo 255 (acceso).
35 if ((millis() - previousMillis) > speed / 256) {
36 brightness = brightness + 1; // Incrementiamo la luminosita'
37 previousMillis = millis();