}
+/* Esercizi:
+ 1. Preparare uno sketch contente le principali funzioni relative ai blinks
+ preparate fino ad ora in modo da poterlo includere per poter riutilizzarle
+ negli esercizi successivi.
+
+*/
+++ /dev/null
-// ////////////
-// 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);
-}
+++ /dev/null
-
-// ////////////
-// 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.
-
- */
+++ /dev/null
-
-/*
- Blink v2
-
- Accensione e spegnimanto di un LED utilizzando funzioni
- per comandare il lampeggio.
-
- This example code is in the public domain.
- */
-
-// Dichiarazione variabili
-
-// Pin 13 has an LED connected on most Arduino boards.
-// give it a name:
-int led = 13;
-// Le variabili lunga e breve non sono piu' necessarie
-
-// /////////////////
-// Setup
-void setup() {
- // initialize the digital pin as an output.
- pinMode(led, OUTPUT);
-}
-
-// loop
-void loop() {
- brilla(300);
- brilla(300);
- brilla(600);
-}
-
-// 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. Come si potrebbe fare per poter utilizzare la funzione brilla
- * con PIN diversi rispetto a LED?
- *
- * 2. velocita' ora e' una variabile o una costante ?
- *
- * Esercizi sucessivi sulle funzioni: blink_5 e 6
- */
+++ /dev/null
-
-// ////////////
-// 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
-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() {
- rapido(); // accende e spegne rapidamente il LED
- rapido(); // accende e spegne rapidamente il LED
- 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
-
- // 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);
-}
-
-/* Domande:
- 1. I valori delle variabili led, breve, lunga cambiano durante
- l'esecuzione del programma? Sono variabili?
-
- 2. Le dichiarazioni delle variabili breve e lunga possono essere
- accorpate nelle rispettive funzioni?
-
- 3. Esercizio: creare una funzione per effettuare un S.O.S. : ...---...
- */
+++ /dev/null
-/*
- Blink v5
-
- Accensione e spegnimanto di 2 LED.
- Nel circuito oltre al LED montato direttamente sul pin 13
- viene aggiunto un altro LED pilotato dal PIN 12.
-
- Ricordarsi di usare una resistenza da ~320ohms per il secondo LED.
- Resistenza = (Voltaggio_Arduino - Forward_voltage_LED) / (ampere utilizzati)
- R = (5v-1.8v) / 0.010a
- R =320ohms
-
-
- Schema: http://lab.piffa.net/schemi/led_single_bb.png
- - http://lab.piffa.net/schemi/led_single_schem.png
-
- This example code is in the public domain.
- */
-
-
-int led = 13; // Il LED onboard corrisponde al PIN 13
- // Ha una resistenza premontata
-int red = 12; // Definiamo un altro led
-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); // Abilitaiamo entrambi i LED
- pinMode(red, 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(red, HIGH); // turn the LED on (HIGH is the voltage level)
- delay(lunga); // wait for a second
- digitalWrite(red, LOW); // turn the LED off by making the voltage LOW
- delay(lunga);
-}
-
-/* Domande
- *
- * 1. Creare una funzione che sia slegata dal PIN con cui interagisce.
- *
- * 2. Come procede il flusso delle istruzioni per far brillare i LED?
- * E' possibile far brillare i LED indipendentemente l'uno dall'altro?
- *
- *
- * Nota: la risposta alla domanda 2 arrivera' a fine corso!
- */
-
-
-
-
-
-
-