]> git.piffa.net Git - sketchbook_andrea/blob - oggi/blink_4_1_ciclo_for_veloce/blink_4_1_ciclo_for_veloce.ino
oggi
[sketchbook_andrea] / oggi / blink_4_1_ciclo_for_veloce / blink_4_1_ciclo_for_veloce.ino
1 /*
2   Blink v4: for loop
3
4  Accensione e spegnimanto di un LED utilizzando un ciclo
5  iterativo while per comandare il lampeggio.
6
7  Reference: http://arduino.cc/en/Reference/for
8  Altri esempi: sketchbook_andrea/programming/loops/
9
10  */
11
12 const int led   = 13;   // Il valore non cambia
13                         // durante l'esecuzione del programma
14
15
16 // /////////////////
17 // Setup: eseguita una volta sola all'accensione della scheda
18 void setup() {
19     // initialize the digital pin as an output.
20     pinMode(led, OUTPUT);
21 }
22
23 // ///////////////
24 // loop: Le istruzioni vengono eseguite all'infinito
25 void loop() {
26 for (int i = 0; i < 10; i++) { 
27 // (Definizione iteratore, condizione di verifica, gestione dell'iteratore)
28 // Operatore ternario (3 elementi)
29 // i++ incrementa di uno la variabile
30     brilla(30 * i);      // accende e spegne rapidamente il LED
31     // la pausa e' in funzione della variabile iteratore
32 }
33 }
34
35 // Funzioni create dall'utente:
36 void brilla(int velocita) {
37     // Accende e spegne il LED accetando un argomento
38     // per impostare la velocita'.
39
40     // sequenze di istruzione: accendere e spegnere il LED
41     digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
42     delay(velocita);               // wait for a second
43     digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
44     delay(velocita);               // wait for a second
45 }
46
47
48 /* Domande
49
50 1.  Che differenza c'e' nella gestione dell'iteratore tra un ciclo
51     while e for ?
52 2.  In quali casi si usa un ciclo for piuttosto che uno while?
53
54 .
55 .
56 .
57 .
58 .
59 .
60 .
61 .
62 .
63 .
64 .
65 .
66 .
67 .
68 .
69 .
70 .
71 .
72 .
73     Soluzioni
74 1.  Nel ciclo for l'iteratore e tutta la sua gestione avviene al di fuori
75     del corpo della struttura del ciclo. Questa viene esplicitamente definita.
76 2.  Un ciclo for e' indicato per casi in cui si conosce e si vuole controllare
77     il numero delle iterazioni. 
78     Un ciclo while quando basta controllare
79     il perdurare di una situazione di durata indefinita ad es. lo stato
80     di un bottone. Es:
81
82     while (stato_bottone = HIGH) {
83     digitalWrite(LED, HI);
84 }
85 */