#3 FotoResistenza con Arduino

Nella sezione elettronica ho già spiegato cosa è una fotoresistenza (qui la lezione) e come funziona, quindi qui mi limiterò a spiegare come usarla con Arduino

La fotoResistenza va collegata ad un ingresso analogico di Arduino, per utilizzarla però occorre creare un partitore, cioè inserire una resistenza tra Arduino e la fotoresistenza, altrimenti senza di questa leggerei sempre gli stessi volt, solitamente si usa un valore di resistenza simile a quello della fotoresistenza.

La fotoResistenza va collegata ad un ingresso analogico di Arduino, per utilizzarla però occorre creare un partitore, cioè inserire una resistenza tra Arduino e la fotoresistenza, altrimenti senza di questa leggerei sempre gli stessi volt, solitamente si usa un valore di resistenza simile a quello della fotoresistenza.

Perché va creato questo partitore?
Perché senza la resistenza classica, su Arduino leggerei sempre 5V a prescindere dalla quantità di luce, mentre con il partitore, in un certo senso è come se si viene a creare un potenziometro, mi spiego meglio i volt verranno divisi in parti uguali tra la fotoresistenza e la resistenza, al variare della fotoresistenza, quindi al variare della quantità di luce, avremo una caduta di tensione ai capi, questa variazione verrà letta da Arduino.

Dopo questa breve introduzione, vediamo un semplice sketch:

Come sempre analizziamo lo sketch:

Questa parte dovrebbe essere chiara, dichiaro il pin 13 con il nome led,
creo una variabile di tipo intero di nome F
Nella sezione setup, inizializzo la porta seriale per leggere i valori di F sul monitor seriale,
dichiaro il pin 13 come uscita

nella sezione loop, dichiaro che i valori della variabile F sono dati dalla lettura del pin analogico A0,
chiedo ad Arduino di scrivere nel monitor seriale i valori di F.

Creiamo un if per accendere il led ad un valore di F prestabilito, io ho messo 100, ma ovviamente questo varierà in base alle vostre necessità ed alla fotoresistenza usata.
Quindi leggendo if avremo: se F è maggiore di 100, imposta il pin 13 come alto (quindi il led si accenderà), viceversa per valori inferiori imposta il pin 13 come basso e quindi il led si spegne.
Diamo una breve pausa.

Fino ad ora ho usato un valore della fotoresistenza però statico, ma se voglio un valore che cambia in base ad esempio alla luce dei vari ambienti di casa?
Basta apportare una piccola modifica allo sketch, inserendo un valore di guardia alla variabile F.


Come avete notato ho fatto solo una piccola modifica, portando la lettura del pin A0 nella sezione setup, e introducendo una nuova variabile di tipo intero chiamata soglia, che avrà un valore di F + 10, potete anche cambiare il valore fisso 10, con un valore percentuale o un qualsiasi altro valore che a voi fa più comodo.
Ovviamente adesso if sarà condizionato al valore della variabile soglia e non di un valore statico, quindi il led si accenderà quando F sarà maggiore del valore di soglia.
Vi allego in fondo un video sul funzionamento ed un link per la simulazione.
Come sempre se avete consigli o domande potete lasciare un commento qui sotto.

LINK SIMULAZIONE

/ 5
Grazie per aver votato!

Allegati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *