Arduino Facile

Crepuscolare (Smart Lamp)

Obiettivo: Accensione automatica di un LED al diminuire dell’intensità di luce rilevata.

Componenti elettronici:

TeoriaLa foto resistenza è un componente elettronico la cui resistenza è inversamente proporzionale alla quantità di intensità luminosa che lo colpisce. Questo significa che la corrente (inversamente proporzionale alla resistenza) aumenta all’aumentare dell’intensità luminosa.
A seguire, viene riportato la caratteristica Ohm/Lux di una fotoresistenza tipicamente impiegata in applicazioni realizzate mediante Arduino.

Datasheet Fotoresistenza

Nel caso specifico, è importante ricordare che Arduino non può rilevare né variazioni di resistenza né variazioni di corrente. Il microcontrollore può infatti analizzare solamente valori di tensione. Per questo motivo, l’utilizzo di una resistenza è indispensabile al fine di collegare correttamente la fotoresistenza ad Arduino. Nel dettaglio, il circuito previsto per trasformare la variazione di resistenza in una variazione di tensione è il partitore di tensione.

Partitore di Tensione e Fotoresistenza

Nel circuito presentato, la variazione di luminosità produce una variazione del valore della fotoresistenza. Di conseguenza anche il valore della corrente risulta funzione dell’intensità luminosa e di conseguenza anche il valore di tensione in ingresso ad Arduino. Nel dettaglio:

Attraverso l’utilizzo del comando analogRead è possibile leggere la tensione su uno specifico pin analogico (A0-A5) di Arduino. La funzione analogRead restituisce un valore compreso tra 0 e 1023 a seconda della tensione letta dal microcontrollore.
A titolo di esempio, se il valore di tensione letto utilizzando la funzione analogRead sul pin A0 di Arduino risulta pari a 613. Il valore di tensione può essere facilmente calcolato:

valoreTensioneAnalogico = 613/1023*5 = 3V

dove:

Tale valore può essere facilmente utilizzato per controllare un led mediante l’istruzione condizionale IF.

Collegamento Circuitale:

Collegamento Circuitale

Codice:

A seguire viene riportata la schematizzazione mediante flowchart dell’algoritmo utilizzato per realizzare il programma.

Flowchart

Personalizzazioni:

E’ possibile modificare il circuito aggiungendo altri led. E’ inoltre possibile modificare il codice al fine di realizzare una lampada che accenda un numero differente di led in funzione della luminosità.

PAGINA IN PDF