/* esempio_10_serial * Scketch di esempio */ // Il LED collegato esternamente connesso al piedino DIGITALE 3. #define EXTLEDPIN 3 /* Questa funzione viene chiamata per impostare la scheda, una sola volta */ void setup () { pinMode(EXTLEDPIN, OUTPUT); // Imposta il piedino del LED esterno in uscita Serial.begin(9600); // Inizializzo la seriale a 9600 baud (bit per secondo) } /* Questa funzione viene ripetuta all'infinito */ void loop () { int i; // Definisce (crea) la variabile per il contatore /* 1) Inizialmente pongo i (il nostro contatore) ad 1 * 2) Controllo che i sia inferiore a 255, altrimenti termino il ciclo * 3) Eseguo le azioni tra graffe * 4) Pongo i ad i+1 e ripeto da 2 */ Serial.print("Inizio "); // Stampo "Inizio" senza andare a capo for (i = 1; i < 255; i = i+1) { analogWrite(EXTLEDPIN, i); // Imposta il LED esterno alla luce indicata da i delay (1); // Attende un millisecondo } Serial.print(" Acceso"); // Stampo " Acceso" sulla stessa riga di "Inizio" digitalWrite(EXTLEDPIN, HIGH); // Accende il LED esterno delay (256); // Attende 1/4 di secondo Serial.print(" Spengo"); // Stampo " Spengo" sulla stessa riga di "Inizio acceso" /* 1) Inizialmente pongo i (il nostro contatore) a 254 * 2) Controllo che i sia superiore a 0, altrimenti termino il ciclo * 3) Eseguo le azioni tra graffe * 4) Pongo i ad i-1 e ripeto da 2 */ for (i = 254; i > 0; i = i-1) { analogWrite(EXTLEDPIN, i); // Imposta il LED esterno alla luce indicata da i delay (1); // Attende un millisecondo } digitalWrite(EXTLEDPIN, LOW); // Spegne il LED esterno Serial.println(" Fine"); // Stampo " Fine" sulla stessa riga di "Inizio Acceso Spengo", poi vado a capo delay (600); // Attende 3/4 di secondo }