]> git.piffa.net Git - sketchbook_andrea/commitdiff
Blinks loop errata
authorAndrea Manni <andrea@piffa.net>
Tue, 1 Dec 2015 03:01:07 +0000 (04:01 +0100)
committerAndrea Manni <andrea@piffa.net>
Tue, 1 Dec 2015 03:01:07 +0000 (04:01 +0100)
basic/blinks/blink_3_funzioni_argomenti/blink_3_funzioni_argomenti.ino
basic/blinks/blink_4_1_ciclo_for/blink_4_1_ciclo_for.ino [new file with mode: 0644]
basic/blinks/blink_4_1_ciclo_for/blink_4_ciclo_for.ino [deleted file]
basic/blinks/blink_4_ciclo_while/.blink_4_ciclo_while.ino.swp [new file with mode: 0644]
basic/blinks/blink_4_ciclo_while/blink_4_ciclo_while.ino

index f4b603b5d0fc3e21cc5a8f6dde3cf9cc6cc78364..efad97e2627d9ddc1e2fbf929c34656cc91d1ba9 100644 (file)
@@ -1,6 +1,4 @@
 
-// ////////////
-// Commento iniziale
 /*
   Blink v2
  
@@ -9,7 +7,6 @@
  
  This example code is in the public domain.
  */
-// //////////////
 // Dichiarazione variabili
 
 // Pin 13 has an LED connected on most Arduino boards.
@@ -24,7 +21,6 @@ void setup() {
   pinMode(led, OUTPUT);     
 }
 
-// ///////////////
 // loop
 void loop() {
   brilla(300);
@@ -32,7 +28,6 @@ void loop() {
   brilla(600);
 }
 
-// ///////////////
 // Funzioni create dall'utente:
 
 void brilla(int velocita) {
@@ -57,5 +52,3 @@ void brilla(int velocita) {
  *  
  *  Esercizi sucessivi sulle funzioni: blink_5 e 6
  */
- */
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);
+}
+*/
diff --git a/basic/blinks/blink_4_1_ciclo_for/blink_4_ciclo_for.ino b/basic/blinks/blink_4_1_ciclo_for/blink_4_ciclo_for.ino
deleted file mode 100644 (file)
index 2322b56..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-  Blink v4
- Accensione e spegnimanto di un LED utilizzando un ciclo
- iterativo for per comandare il lampeggio.
- */
-
-// Pin 13 has an LED connected on most Arduino boards.
-// give it a name:
-int led = 13;
-int breve = 200;  // Variabile richiambile nel corso dell'esecuzione
-int lunga = 1000;
-
-// 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)
-      rapido(); // accende e spegne rapidamente il LED
-  }
-  
-  lento();  // accende e spegne lentamente il LED
-  // Domanda: dobbiamo preoccuparci dell'iteratore?
-}
-
-// Funzioni create dall'utente:
-
-void rapido() {
-  // Accende e spegne rapidamente il LED
-
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
-  delay(breve);               // wait for a second
-  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
-  delay(breve);               // wait for a second
-}
-
-void lento() {  
-  // Accende e spegne lentamente il LED
-
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
-  delay(lunga);               // wait for a second
-  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
-  delay(lunga); 
-}
-
-
diff --git a/basic/blinks/blink_4_ciclo_while/.blink_4_ciclo_while.ino.swp b/basic/blinks/blink_4_ciclo_while/.blink_4_ciclo_while.ino.swp
new file mode 100644 (file)
index 0000000..cabba10
Binary files /dev/null and b/basic/blinks/blink_4_ciclo_while/.blink_4_ciclo_while.ino.swp differ
index d950a9812517d016c7d1ec47ed7ad56998207541..e647bfd7e776752cf24ba7b02553fa01e1cbcd72 100644 (file)
@@ -1,13 +1,13 @@
 /*
-  Blink v3
+  Blink v4: while loop
+
  Accensione e spegnimanto di un LED utilizzando un ciclo
  iterativo while per comandare il lampeggio.
  
  */
 
-int led   = 13;
-int breve = 200;  
-int lunga = 1000;
+const int led   = 13;   // Il valore non cambia
+                        // durante l'esecuzione del programm
 
 
 // /////////////////
@@ -20,43 +20,23 @@ void setup() {
 // ///////////////
 // loop: Le istruzioni vengono eseguite all'infinito
 void loop() {
-  int iterator = 0; // Defniamo un variabile per controllare un ciclo iterativo
-  while (iterator < 10) {
-    rapido(); // accende e spegne rapidamente il LED
-    iterator = iterator + 1 ; // incrementa l'iteratore
-    // iterator++ ; // equivalente
+  int iterator = 0;    // Defniamo una variabile per controllare il ciclo iterativo
+  while (iterator < 10) {       // Condizione del ciclo
+    iterator = iterator + 1 ;   // incrementa l'iteratore
+    brilla(30 * iterator);      // accende e spegne rapidamente il LED 
+                                // la pausa e' in funzione della variabile iteratore
   }
-  lento();  // accende e spegne lentamente il LED
 }
 
 // Funzioni create dall'utente:
-void rapido() {
-  // Accende e spegne rapidamente il LED
-
-  // sequenze di istruzione: accendere e spegnere il LED
-  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
-  delay(breve);               // wait for a second
-  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
-  delay(breve);               // wait for a second
-}
-
-void lento() {  
-  // Accende e spegne lentamente il LED
+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(lunga);               // wait for a second
+  delay(velocita);               // wait for a second
   digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
-  delay(lunga); 
+  delay(velocita);               // wait for a second
 }
 
-
-/* Domande
- *  
- *  1. Creare una funziona lampeggia() che accetti come parametro
- *  il nuomero di ripetizioni da eseguire.
- *  
- */
-
-
-