Giochi di luce con Arduino – ottavo gioco

Oggi ti presento l’ottavo gioco di luce che puoi realizzare con Arduino, siamo oramai quasi alla fine di queste festività e ancora in aria di festeggiamenti voglio aiutarti ad ultimare la tua realizzazione.

Giochi di luci con Arduino

Probabilmente la utilizzerai solo l’anno prossimo nella sua completezza, e tutto il 2012 potrai reperire il materiale di recupero per realizzarla al meglio.

L’ottavo gioco che realizzerai è molto soft, il suo scopo qando l’ho immaginato è stato quello di poter trasmettere serenità e armonia osservandolo, proprio in vista della fine di questi giorni di ferie e di rientro a lavoro ho pensato che fosse d’obligo rilassarti per iniziare al meglio l’anno lavorativo.

Ed ecco la funzione che utilizzerai per il tuo ottavo gioco di luci con Arduino:

 void game_eight() {

   for ( int i=minpin; i<=maxpin; i++) {
     if (digitalRead( pinButton ) == HIGH) { break; }

     SoftPWMSetPercent(i, 100);
   }
   delay(fadeUp*3);
   for ( int i=minpin; i<=maxpin; i++) {
     if (digitalRead( pinButton ) == HIGH) { break; }

     SoftPWMSetPercent(i, 0);
   }
   delay(fadeDown*3.5);

 }

Inizio subito a descriverti il funzionamento di questo nuovo gioco di luce:

linea 01: definisci la nuova funzione game_eight();

linea 03: inizia il solito ciclo for, in questa linea il ciclo lo imposti dal pin minimo (minpin) al pin massimo (maxpin) e questo significa che il gioco che stai realizzando parte dal pin più basso per arrivare al pin maggiore eseguendo per ciascun pin la stessa operazione, come un treno di luci dalla pima all’ultima serie;

linea 04: definisci il controllo sulla pressione del pulsante che hai definito per effettuare il cambio  del gioco luminoso;

linea 06: per ciascun pin incrementa la percentuale di luminosità fino al 100%;

linea 08: imposta un tempo di attesa tra un cclo for ed il successivo pari a 3 volte il tempo di fadeUp definito per gli altri giochi;

linee 09-13: eseguono le stesse operazioni viste per le righe precedenti, l’unica variazione significativa è data dalla percentuale impostata dalla linea 12, in cui indichi alla SoftPWM di spegnere la serie di luci collegata ad un dato pin portando il valore a 0%;

linea 14: imposta un tempo di attesa pari a 3,5 volte il fadeUp impostato per tutti gli altri giochi.

Non resta che modificare la variabile totalGame in modo che anche questo ottavo gioco di luce sia contemplato tra quelli selezionabili:

int totalGame=8;

e aggiungere nella funzione di loop() le linee di codiche che insegnino allo sketck a gestire il nuovo gioco di luce:

if (game == 8) {
   for ( int i=minpin; i<=maxpin; i++) { 
      SoftPWMSetFadeTime(i, fadeUp*3, fadeDown*3 );
   }
   game_eight();
}

Avrai subito notato che non si discosta molto dalle impostazioni date per i precedenti giochi di luce, la differenza principale è alla linea 03: in cui la SoftPWMSetFadeTime imposta i valori di incremento e decremento della siddolvenza con tempi tripli rispetto a quelli degli altri giochi.

Ecco svelato il trucco con cui questo gioco si rivela il più lento ed anche il più rilassante.

Se lo ritieni comunque troppo veloce non devi far altro che aumentare il valore di moltiplicazione del fadeUp e del fadeDown portandolo da 3 a 4,5,….

Ti consiglio di aumentare proporzionalmente anche i fattori di moltiplicazione delle linee 08 e 14 nella funzione game_eight();

Buone feste.

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/giochi-di-luce-con-arduino-ottavo-gioco.html

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.