]> git.piffa.net Git - sketchbook_andrea/blob - basic/pwm/pwm_1_soluzione_doppio_while_byte/pwm_1_soluzione_doppio_while_byte.ino
oggi analog
[sketchbook_andrea] / basic / pwm / pwm_1_soluzione_doppio_while_byte / pwm_1_soluzione_doppio_while_byte.ino
1 /*
2    Fade sali e scendi
3  
4    PWM per un LED: aumentare progressivamente la luminosita'.
5    Aumenta e diminuisce la luminostia' usando un ciclo while
6
7    Schema: http://lab.piffa.net/schemi/led_single_bb.png
8    Usare un PIN abilitato per il PWM.
9  */
10
11 byte led  = 9   ;     // Il pin ~9 e' abilitato al PWM
12 byte brightness = 0;  // Valore iniziale per il PWM del LED
13
14 // the setup routine runs once when you press reset:
15 void setup()  { 
16   pinMode(led, OUTPUT); // Il PIN nove va dichiarato come un OUTPUT
17
18
19 void loop()  { 
20     while (brightness < 255) {
21   analogWrite(led, brightness);// La funziona analogWrite utilizza il PWM
22   // a 8 bit integrato nel MCU: simula un serie di valori intermedi
23   // nell'intervallo discreto con minimo 0 (spento) e  massimo 255 (acceso).         
24   delay(10);       
25   brightness = brightness + 1; // Incrementiamo la luminosita'
26     }
27
28     while (brightness > 0) {
29   analogWrite(led, brightness);// La funziona analogWrite utilizza il PWM
30   delay(10);       
31   brightness = brightness - 1; // Decrementiamo la luminosita'
32     }
33
34
35 }
36 /* Note:
37
38 - basic/pwm/pwm_3_fade_reverser/pwm_3_fade_reverser.ino
39
40   E molto piu' snello utilizzando il solo ciclo loop come iteratore
41   e una condizione per cambiare l'incremento.
42 */