Giochi di luce con Arduino – nono gioco

Buona Epifania a tutti, oggi concludiamo questa serie di articoli dedicati alle luci di Natale con il nono gioco.

Giochi di luci natalizie nono gioco

Forse avrai tirato un sospiro di sollievo per la fine di questi articoli, oppure sei tra coloro che mi hanno scritto in questo periodo natalizio per ringraziarmi, in ogni caso, anche se questa serie di articoli non ha suscitato in te molto interesse hai avuto modo, leggendoli, di apprendere numerosi giochi di calcolo e tecniche di programmazione che potrai ritrovare utili per i tuoi lavori.

Il nono gioco di luci è un gioco cumulativo, esegue in sequenza dal primo all’ultimo tutti i giochi di luce descritti fino a questo punto.

La prima modifica riguarda la variabile totalGame con cui dici ad Arduino della presenza di un nuovo gioco:

int totalGame=9;

Passa quindi all’unica modifica da eseguire nella funzione loop(), io consiglio di inserire le righe di codice seguenti solo dopo le altre, per comodità di lettura dello sketch:

if (game == 9) {
      for ( int i=minpin; i<=maxpin; i++) {
        SoftPWMSetFadeTime(i, fadeUp, fadeDown );
      }
      game_one();

      for ( int i=minpin; i<=maxpin; i++) {
        SoftPWMSetFadeTime(i, fadeUp, fadeDown);
      }
      game_two();

      for ( int i=minpin; i<=maxpin; i++) {
        SoftPWMSetFadeTime(i, 0, 0);
      }
      game_three();

      for ( int i=minpin; i<=maxpin; i++) {
        SoftPWMSetFadeTime(i, 0, 0);
      }
      game_four();

      for ( int i=minpin; i<=maxpin; i++) {
        SoftPWMSetFadeTime(i, 0, 0);
      }
      game_five();

      for ( int i=minpin; i<=maxpin; i++) {
        SoftPWMSetFadeTime(i, fadeUp, fadeDown);
      }
      game_six();

      for ( int i=minpin; i<=maxpin; i++) {
        SoftPWMSetFadeTime(i, 0, 0);
      }
      game_seven();

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

Avrai già notato come funziona, il principio è molto semplice: se il valore della variabile game è 9 ( linea 01 ) esegue le linee successive del listato; per ciascun gioco dal primo all’ottavo Arduino esegue prima il settaggio dei pin secondo la modalità prevista dal gioco da eseguire.

Ad esempio se il gioco da eseguire è il primo game_one() devi resettare i pin dal minpin al maxpin impostando come tempi di fadeUpfadeDown quelli definiti nelle variabili corrispondenti, se il gioco da eseguire è ad esempio il quarto game_four() allora il settagio dei pin dal minpin al maxpin è 0 come tempo di fade sia per la fase ascendente ( fadeUp ) sia discendente ( fadeDown );
 
In questo modo Arduino esegue tutti i giochi in sequenza e poi rilascia il controllo alla funzione loop() che provvede a rieseguire l’intero gioco ripartendo dal primo.
Avrai notato che alcuni giochi di luce hanno una durata inferiore rispetto ad altri, prova a pensare come rendere quei giochi di inferiore durata più simili a quelli di durata maggiore, con delle semplici righe di codice e proponile a tutti i lettori di questa serie di articoli come commento a questo articolo.
 
Riepilogo di seguito ciascuno dei giochi di luce così come li vedrai eseguiti selezionando il nono gioco di luce:
 
 
 
 
Buona epifania

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-nono-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.