X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=basic%2Fblinks%2Fblink_2_1_sos%2Fblink_2_1_sos.ino;fp=basic%2Fblinks%2Fblink_2_1_sos%2Fblink_2_1_sos.ino;h=aa530068e444526ebc2d3f50f38b66d6ebae3f12;hb=50a120342c3713a4a6ec39dd757c86647a8e3511;hp=0000000000000000000000000000000000000000;hpb=d26c82bec0b244fbff06a6b9a6004a67d48d47a4;p=sketchbook_andrea diff --git a/basic/blinks/blink_2_1_sos/blink_2_1_sos.ino b/basic/blinks/blink_2_1_sos/blink_2_1_sos.ino new file mode 100644 index 0000000..aa53006 --- /dev/null +++ b/basic/blinks/blink_2_1_sos/blink_2_1_sos.ino @@ -0,0 +1,159 @@ + +// //////////// +// 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. + + */