page5
Lo sketch per il theremin a luce (vedi figura ) contiene molti elementi interessanti: leggia-molo assieme e poi analizziamo gli aspetti rilevanti.

a) La funzione setup() è molto grande (righe da 9 a 24): invece di limitarci a settare i pin di input ed output, stavolta effettuiamo tutta la parte di calibrazione degli input dalla fotoresistenza. Per i primi 5 secondi di funzionamento del programma, muoviamo la mano su e giù davanti alla fotoresistenza per far capire ad Arduino quali sono i valori massimi e minimi della luminosità: questi valori ci serviranno poi durante il funzionamento del programma (riga 31) per trasformare la luminosità rilevata in una nota da suonare sul buzzer.
b) Taratura: per trovare i valori minimo e massimo, andiamo a leggere il valore sul pin della fotoresistenza (riga 14) e lo confrontiamo con il valore min e max trovati fino a quel momento (righe 17 e 20). I confronti a per trovare i nuovi min e max andranno a buon fine solo se parto con un min grande e con un max piccolo (guarda come sono stati inizializzati i valori a riga 5 e 6).
c) La funzione millis() (riga 13) ci dice quanti sono i millisecondi passati da quando carichiamo lo sketch (oppure premiamo il bottone di reset); il ciclo while che comincia a riga 13 viene eseguito quindi solo per i primi 5 secondi).
d) Ma il LED del pin 13 c’è o non c’è? Nello sketch utilizziamo un LED collegato al pin 13 e lo teniamo acceso per tutta la fase di taratura, ma come mai il LED non compare nello schema  della pagina precedente? Non serve collegare un LED esterno, perché Arduino ha già un LED “on board”
Licenza: CC-BY Alessandro Ebranati, CoderDojo Trento
Quest'opera è distribuita con Licenza Creative Commons Attribuzione 4.0 Unported
Trovi questo ed altri tutorial su coderdojotrento.it
Realizzato con il supporto di CoderDolomiti.
Pag.
<number>/13