From: eaman Date: Wed, 28 Sep 2016 11:06:45 +0000 (+0200) Subject: Blink con costanti / varibili X-Git-Url: http://git.piffa.net/web?p=sketchbook_andrea;a=commitdiff_plain;h=ca52c418b75db9cd1b868ee8942b8a3b016f08f2 Blink con costanti / varibili --- diff --git a/basic/blinks/blink_3_1_while_veloce/blink_3_1_while_veloce.ino b/basic/blinks/blink_3_1_while_veloce/blink_3_1_while_veloce.ino index 4e86c4d..56c2e11 100644 --- a/basic/blinks/blink_3_1_while_veloce/blink_3_1_while_veloce.ino +++ b/basic/blinks/blink_3_1_while_veloce/blink_3_1_while_veloce.ino @@ -5,12 +5,14 @@ iterativo while per comandare il lampeggio. Iterazione modificata da una variabile. + Introduzione const. */ const int led = 13; // Il valore non cambia - // durante l'esecuzione del programm - + // durante l'esecuzione del programma +const int acceleratore = 30 ; +int tempo ; // // ///////////////// // Setup: eseguita una volta sola all'accensione della scheda @@ -25,7 +27,9 @@ void loop() { 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 + + tempo = acceleratore * iterator ; // Varia il tempo di blink + brilla(tempo); // accende e spegne rapidamente il LED // la pausa e' in funzione della variabile iteratore } } 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 ad4bb60..48065db 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 @@ -6,8 +6,7 @@ */ -const int led = 13; // LED OnBoard - +int led = 13; // LED OnBoard // ///////////////// diff --git a/oggi/blink_0/blink_0.ino b/oggi/blink_0/blink_0.ino deleted file mode 100644 index 9cd59f5..0000000 --- a/oggi/blink_0/blink_0.ino +++ /dev/null @@ -1,31 +0,0 @@ -// 1. //////////// -// Commento iniziale multi linea -/* - Blink - - Accensione e spegnimanto di un LED utilizzando variabili - per impostare la velocita' del lampeggio. - - */ - -// 2. ////////////// -// Dichiarazione variabili -// - // Il LED onboard corrisponde al PIN 13 - // Ha una resistenza premontata - -// 3. ///////////////// -// Setup: eseguita una volta sola all'accensione della scheda -void setup() { - pinMode(13, OUTPUT); // Abilita il PIN del LED come OUTPUT in modo che - // possa essere acceso -} - -// 4. /////////////// -// loop: Le istruzioni vengono eseguite all'infinito -void loop() { - digitalWrite(13, HIGH); // Mette il PIN del LED in stato acceso - delay(500); // Aspetta un secondo (mille millisecondi) - digitalWrite(13, LOW); // Mette il PIN del LED in stato spento - delay(500); // Aspetta mezzo secondo -} diff --git a/oggi/blink_1_variabili/blink_1_variabili.ino b/oggi/blink_1_variabili/blink_1_variabili.ino deleted file mode 100644 index ec6c3c0..0000000 --- a/oggi/blink_1_variabili/blink_1_variabili.ino +++ /dev/null @@ -1,39 +0,0 @@ -// //////////// -// Commento iniziale -/* - Blink v1 - - Accensione e spegnimanto di un LED utilizzando variabili - per impostare la velocita' del lampeggio. - - */ - -// ////////////// -// Dichiarazione variabili - -// 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() { - 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 - - 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/oggi/blink_2_1_sos/blink_2_1_sos.ino b/oggi/blink_2_1_sos/blink_2_1_sos.ino deleted file mode 100644 index aa53006..0000000 --- a/oggi/blink_2_1_sos/blink_2_1_sos.ino +++ /dev/null @@ -1,159 +0,0 @@ - -// //////////// -// Commento iniziale -/* - Blink v2 - - Accensione e spegnimanto di un LED utilizzando funzioni - per comandare il lampeggio. - - This example code is in the public domain. - */ -// ////////////// -// Dichiarazione variabili - -int led = 13; // LED onboard sulla scheda - - -// ///////////////// -// 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() { - // S - rapido(); // accende e spegne rapidamente il LED - rapido(); - rapido(); - - // O - lento(); // accende e spegne lentamente il LED - lento(); - lento(); - - // S - rapido(); // accende e spegne rapidamente il LED - rapido(); - rapido(); - - - //Funzione apposita: - esse(); - ooo(); - esse(); -} - - - // /////////////// - // Funzioni create dall'utente: - -void rapido() { - // Accende e spegne rapidamente il LED - int breve = 200; - // sequenze di istruzione: accendere e spegnere il LED - digitalWrite(led, HIGH); // Mette il PIN del LED in stato acceso - delay(breve); // Pausa - digitalWrite(led, LOW); // Mette il PIN del LED in stato spento - delay(breve); // Pausa -} - -void lento() { - // Accende e spegne lentamente il LED - int lunga = 1000; - // sequenze di istruzione: accendere e spegnere il LED - digitalWrite(led, HIGH); // Mette il PIN del LED in stato spento) - delay(lunga); // Pausa - digitalWrite(led, LOW); // Mette il PIN del LED in stato spento - delay(lunga); // Pausa -} - -void esse() { - // Emette una lettera S in Morse - - int breve = 200; - - // sequenze di istruzione: accendere e spegnere il LED - digitalWrite(led, HIGH); // Mette il PIN del LED in stato acceso - delay(breve); // Pausa - digitalWrite(led, LOW); // Mette il PIN del LED in stato spento - delay(breve); // Pausa - - digitalWrite(led, HIGH); // Mette il PIN del LED in stato acceso - delay(breve); // Pausa - digitalWrite(led, LOW); // Mette il PIN del LED in stato spento - delay(breve); // Pausa - - digitalWrite(led, HIGH); // Mette il PIN del LED in stato acceso - delay(breve); // Pausa - digitalWrite(led, LOW); // Mette il PIN del LED in stato spento - delay(breve); // Pausa -} - -void ooo() { - // Emette una lettera o in Morse - - int lunga = 1000; - // sequenze di istruzione: accendere e spegnere il LED - digitalWrite(led, HIGH); // Mette il PIN del LED in stato spento) - delay(lunga); // Pausa - digitalWrite(led, LOW); // Mette il PIN del LED in stato spento - delay(lunga); // Pausa - - digitalWrite(led, HIGH); // Mette il PIN del LED in stato spento) - delay(lunga); // Pausa - digitalWrite(led, LOW); // Mette il PIN del LED in stato spento - delay(lunga); // Pausa - - digitalWrite(led, HIGH); // Mette il PIN del LED in stato spento) - delay(lunga); // Pausa - digitalWrite(led, LOW); // Mette il PIN del LED in stato spento - delay(lunga); // Pausa - -} - -void sos() { - // Emette un segnale di S.O.S - -} - -////////////////// -/* Domande: - 1. Che differenza c'e' tra le funzioni esse() e sos()? - - 2. Esercizio: creare uno sketch per far brillare un led 10 volte lentamente - e dieci volte rapidamente. - - Soluzioni a fondo pagina. - - - - - - - - - - - - - - - - - - - - - - - Risposta: - - 1. esse() e' una funzione autonoma, puo' essere copiata/incollata in qualunque - sketch e funzionera' autonomamente. - sos() invece e' composta da altre funzioni: anche queste dovranno essere disponibili. - - */ diff --git a/oggi/blink_3_1_while_veloce/blink_3_1_while_veloce.ino b/oggi/blink_3_1_while_veloce/blink_3_1_while_veloce.ino new file mode 100644 index 0000000..2409e27 --- /dev/null +++ b/oggi/blink_3_1_while_veloce/blink_3_1_while_veloce.ino @@ -0,0 +1,47 @@ +/* + Blink v4: while loop + + Accensione e spegnimanto di un LED utilizzando un ciclo + iterativo while per comandare il lampeggio. + + Iterazione modificata da una variabile. + + */ + +const int led = 13; // Il valore non cambia + // durante l'esecuzione del programma +const int acceleratore = 30 ; +int tempo ; // + +// ///////////////// +// 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() { + int iterator = 0; // Defniamo una variabile per controllare il ciclo iterativo + while (iterator < 10) { // Condizione del ciclo + iterator = iterator + 1 ; // incrementa l'iteratore + + tempo = acceleratore * iterator ; // Varia il tempo di blink + brilla(tempo); // 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); // Mette il PIN del LED in stato acceso) + delay(velocita); // Pausa + digitalWrite(led, LOW); // Mette il PIN del LED in stato spento + delay(velocita); // Pausa +} + diff --git a/oggi/blink_3_ciclo_while/blink_3_ciclo_while.ino b/oggi/blink_3_ciclo_while/blink_3_ciclo_while.ino new file mode 100644 index 0000000..cef6207 --- /dev/null +++ b/oggi/blink_3_ciclo_while/blink_3_ciclo_while.ino @@ -0,0 +1,53 @@ +/* + Blink v4: while loop + + Accensione e spegnimanto di un LED utilizzando un ciclo + iterativo while per comandare il lampeggio. + + */ + +int led = 13; // LED OnBoard + + + +// ///////////////// +// 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() { + int iterator = 0; // Defniamo una variabile per controllare il ciclo iterativo + while (iterator < 10) { // Condizione del ciclo + + rapido(); + iterator = iterator + 1 ; // incrementa l'iteratore + } + +lento(); +} + +// Funzioni create dall'utente: +void rapido() { + // Accende e spegne rapidamente il LED + int breve = 200; + // sequenze di istruzione: accendere e spegnere il LED + digitalWrite(led, HIGH); // Mette il PIN del LED in stato acceso + delay(breve); // Pausa + digitalWrite(led, LOW); // Mette il PIN del LED in stato spento + delay(breve); // Pausa +} + + +void lento() { + // Accende e spegne lentamente il LED + int lunga = 1000; + // sequenze di istruzione: accendere e spegnere il LED + digitalWrite(led, HIGH); // Mette il PIN del LED in stato spento) + delay(lunga); // Pausa + digitalWrite(led, LOW); // Mette il PIN del LED in stato spento + delay(lunga); // Pausa +}