]> git.piffa.net Git - sketchbook_andrea/commitdiff
blinks while
authorAndrea Manni <andrea@piffa.net>
Mon, 2 Mar 2015 15:37:34 +0000 (16:37 +0100)
committerAndrea Manni <andrea@piffa.net>
Mon, 2 Mar 2015 15:37:34 +0000 (16:37 +0100)
advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino
basic/blinks/blink_3_2_ciclo_while_funzione_argomento/blink_3_2_ciclo_while_funzione_argomento.ino [new file with mode: 0644]
basic/blinks/blink_3_ciclo_while/blink_3_ciclo_while.ino
basic/blinks/blink_6_funzioni_argomenti/blink_6_funzioni_argomenti.ino

index 5524160d83c3e8c771db19a10b5359df69132d44..e8c4cc8c2926f783194a81dea79ca07430bddf95 100644 (file)
@@ -8,32 +8,31 @@
  */
 
 int led = 11;
-int c = 0;
+int pausa = 3000; // or 20 when sampling
 
 
 void setup()
 {
   pinMode(led, OUTPUT);
-  delay(5000);
-
+  delay(4000);
 }
 
 void loop()
 {  
   // Static test value, comment exit() or ad a delay()
-  //analogWrite(led, 0) ; // No light
-  //delay(20)
-  //analogWrite(led, 254) ;  // Full light
-  //delay(20)
-  //analogWrite(led, 63) ;   // 1/4
-  //delay(20)
-  //analogWrite(led, 127) ;  // 1/2
-  //delay(20)
-  //analogWrite(led, 191) ;  // 3/4
-  //delay(20)
-  //return ;
-  
-  for ( c = 0; c < 255 ; c++) {
+  analogWrite(led, 1) ; // No light, just a bit
+  delay(pausa);
+  analogWrite(led, 63) ;   // 1/4
+  delay(pausa);
+  analogWrite(led, 127) ;  // 1/2
+  delay(pausa);
+  analogWrite(led, 191) ;  // 3/4
+  delay(pausa);
+  analogWrite(led, 254) ;  // Full light
+  delay(pausa);
+  // return ;
+
+  for (int c = 0; c < 255 ; c++) {
     analogWrite(led, c) ;
     delay(2 );
   }
@@ -44,3 +43,4 @@ void loop()
 
 
 
+
diff --git a/basic/blinks/blink_3_2_ciclo_while_funzione_argomento/blink_3_2_ciclo_while_funzione_argomento.ino b/basic/blinks/blink_3_2_ciclo_while_funzione_argomento/blink_3_2_ciclo_while_funzione_argomento.ino
new file mode 100644 (file)
index 0000000..1f43d12
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+  Blink v3
+ Accensione e spegnimanto di un LED utilizzando un ciclo
+ iterativo while per comandare il lampeggio.
+ Questa volta il ciclo while() e' relegato in una funzione
+ che accetta come argomento il numero di ripetizionei da effettuare.
+ This example code is in the public domain.
+ */
+
+// 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;
+
+// the setup routine runs once when you press reset:
+void setup() {                
+  // initialize the digital pin as an output.
+  pinMode(led, OUTPUT);     
+}
+
+// the loop routine runs over and over again forever:
+void loop() {
+  lampeggia(8);
+  lento();  // accende e spegne lentamente il LED
+  // Domanda: a quanto equivale iterator ora?
+}
+
+// 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); 
+}
+
+void lampeggia(int ripetizioni) {
+  // Accende un LED per un numero stabilito di volte
+
+  // Questa funziona accetta un parametro: ripetizioni
+  int i = 0;
+  while (i < ripetizioni) {
+    rapido();   // accende e spegne rapidamente il LED
+    i = i + 1 ; // incrementa l'iteratore
+ // i++ ;       // equivalente
+  }
+}
+
+
+
+
+
index ff8dea5eda33db47e4a173e3f4bf0cf60439de9f..ceb3cfee074051e40cd471c1d1a68fef55f4302b 100644 (file)
@@ -11,7 +11,6 @@
 int led = 13;
 int breve = 200;  // Variabile richiambile nel corso dell'esecuzione
 int lunga = 1000;
-int iterator = 0; // Defniamo un variabile per controllare un ciclo iterativo
 
 // the setup routine runs once when you press reset:
 void setup() {                
@@ -21,13 +20,13 @@ void setup() {
 
 // the loop routine runs over and over again forever:
 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 = iterator + 1 ; // incrementa l'iteratore
     // iterator++ ; // equivalente
   }
   lento();  // accende e spegne lentamente il LED
-  // Domanda: a quanto equivale iterator ora?
 }
 
 // Funzioni create dall'utente:
@@ -54,3 +53,4 @@ void lento() {
 
 
 
+
index 3d33586b52e7211ce46500e3de62dddc50d6bc2a..270d3cae8eeb6f68f340c6c0d1a08fce6d1e185a 100644 (file)
@@ -43,4 +43,8 @@ void lightGreen(int  length) {
   digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
   delay(length);               // wait for a second
 }
-
+  
+  // Test: creare una funzione generica che permetta di accendere
+  // qualunque LED per un periodo di tempo impostabile
+  
+  // Suggerimento: quanti parametri deve accettare?