]> git.piffa.net Git - sketchbook_andrea/blobdiff - basic/blinks/blink_4_1_ciclo_for/blink_4_1_ciclo_for.ino
Blinks loop errata
[sketchbook_andrea] / basic / blinks / blink_4_1_ciclo_for / blink_4_1_ciclo_for.ino
diff --git a/basic/blinks/blink_4_1_ciclo_for/blink_4_1_ciclo_for.ino b/basic/blinks/blink_4_1_ciclo_for/blink_4_1_ciclo_for.ino
new file mode 100644 (file)
index 0000000..e7ef1e2
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+  Blink v4: for loop
+
+ Accensione e spegnimanto di un LED utilizzando un ciclo
+ iterativo while per comandare il lampeggio.
+
+ Reference: http://arduino.cc/en/Reference/for
+ Altri esempi: sketchbook_andrea/programming/loops/
+
+ */
+
+const int led   = 13;   // Il valore non cambia
+                        // durante l'esecuzione del programma
+
+
+// /////////////////
+// Setup: eseguita una volta sola all'accensione della scheda
+void setup() {
+    // initialize the digital pin as an output.
+    pinMode(led, OUTPUT);
+}
+
+// ///////////////
+// loop: Le istruzioni vengono eseguite all'infinito
+void loop() {
+for (int i = 0; i < 10; i++) { 
+// (Definizione iteratore, condizione di verifica, gestione dell'iteratore)
+// Operatore ternario (3 elementi)
+// i++ incrementa di uno la variabile
+    brilla(30 * i);      // accende e spegne rapidamente il LED
+    // la pausa e' in funzione della variabile iteratore
+}
+}
+
+// Funzioni create dall'utente:
+void brilla(int velocita) {
+    // Accende e spegne il LED accetando un argomento
+    // per impostare la velocita'.
+
+    // sequenze di istruzione: accendere e spegnere il LED
+    digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
+    delay(velocita);               // wait for a second
+    digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
+    delay(velocita);               // wait for a second
+}
+
+
+/* Domande
+
+1.  Che differenza c'e' nella gestione dell'iteratore tra un ciclo
+    while e for ?
+2.  In quali casi si usa un ciclo for piuttosto ch uno while?
+
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+    Soluzioni
+1.  Nel ciclo for l'iteratore e tutta la sua gestione avviene al di fuori
+    del corpo della struttura del ciclo. Questa viene esplicitamente definita.
+2.  Un ciclo for e' indicato per casi in cui si conosce e si vuole controllare
+    il numero delle iterazioni. 
+    Un ciclo while quando basta controllare
+    il perdurare di una situazione di durata indefinita ad es. lo stato
+    di un bottone. Es:
+
+    while (stato_bottone = HIGH) {
+    digitalWrite(LED, HI);
+}
+*/