From: Andrea Manni Date: Mon, 2 Mar 2015 15:37:34 +0000 (+0100) Subject: blinks while X-Git-Url: http://git.piffa.net/web?a=commitdiff_plain;h=d281bbc5048c56730ca17b2c19df48381cf972cb;p=sketchbook_andrea blinks while --- diff --git a/advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino b/advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino index 5524160..e8c4cc8 100644 --- a/advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino +++ b/advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino @@ -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 index 0000000..1f43d12 --- /dev/null +++ b/basic/blinks/blink_3_2_ciclo_while_funzione_argomento/blink_3_2_ciclo_while_funzione_argomento.ino @@ -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 + } +} + + + + + diff --git a/basic/blinks/blink_3_ciclo_while/blink_3_ciclo_while.ino b/basic/blinks/blink_3_ciclo_while/blink_3_ciclo_while.ino index ff8dea5..ceb3cfe 100644 --- a/basic/blinks/blink_3_ciclo_while/blink_3_ciclo_while.ino +++ b/basic/blinks/blink_3_ciclo_while/blink_3_ciclo_while.ino @@ -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() { + diff --git a/basic/blinks/blink_6_funzioni_argomenti/blink_6_funzioni_argomenti.ino b/basic/blinks/blink_6_funzioni_argomenti/blink_6_funzioni_argomenti.ino index 3d33586..270d3ca 100644 --- a/basic/blinks/blink_6_funzioni_argomenti/blink_6_funzioni_argomenti.ino +++ b/basic/blinks/blink_6_funzioni_argomenti/blink_6_funzioni_argomenti.ino @@ -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?