LEZIONI E FORMAZIONE DAI DOCENTI PER I DOCENTI

Scopri WeTurtle, la community di educatori dove trovare e condividere risorse innovative

home - tutorial - TUTORIAL: LA FOTORESISTENZA E IL LED CON ARDUINO

TUTORIAL: LA FOTORESISTENZA E IL LED CON ARDUINO

In questo tutorial andremo ad utilizzare la fotoresistenza come interruttore crepuscolare per dei led.
Questo tipo di progetto è spesso applicato all’illuminazione esterna delle case o delle strade: nel nostro caso, grazie alla fotoresistenza collegata ad un pin analogico e al...

Weturtle Team   by Weturtle Team
Arduino

Tempo di lettura tutorialTempo di lettura/visione: 4 min

Introduzione

In questo tutorial andremo ad utilizzare la fotoresistenza come interruttore crepuscolare per dei led.
Questo tipo di progetto è spesso applicato all’illuminazione esterna delle case o delle strade: nel nostro caso, grazie alla fotoresistenza collegata ad un pin analogico e al led potremo variare il tempo di accensione del led in base alla luce percepita dalla fotoresistenza.

Oltre a questa funzione andremo ad accendere alternativamente un led rosso o una verde in base alla luce percepita dalla fotoresistenza.

Sei nuovo del mondo di Arduino? Allora non ti puoi perdere questi tutorial introduttivi:

Strumenti

Registrati a WeTurtle per accedere ai vantaggi, è gratis!

La community di docenti e educatori ti offre:

Il corso gratuito "Collaborare a scuola con il digitale"

Un'area personalizzata con i tuoi contenuti preferiti

Una lezione di prova gratuita per ogni corso online

Dirette ed eventi dedicati agli utenti iscritti

Fotoresistenza

La fotoresistenza è un componente elettronico la cui resistenza è inversamente proporzionale alla quantità di luce che lo colpisce.
Si comporta come un normale resistore, ma il suo valore in Ohm diminuisce a mano a mano che aumenta l'intensità della luce che la colpisce.

Il funzionamento della fotoresistenza si basa sull'effetto conduttivo dei materiali semiconduttori; la conducibilità di un semiconduttore aumenta con l’aumentare delle lacune e degli elettroni liberi: quando una radiazione luminosa colpisce il semiconduttore, i fotoni possono rompere il legame covalente (elettrone-lacuna) generando una coppia elettrone libero-lacuna, contribuendo così ad aumentare i portatori di carica e di conseguenza la conducibilità del materiale (quindi la resistenza del materiale diminuisce). 
Le fotoresistenze sono costituite da un materiale semiconduttore come il solfuro di cadmio, depositato su un supporto isolante.

Per un approfondimento sul principio di funzionamento della fotoresistenza consigliamo questo articolo.

Circuito

Il circuito iniziale è molto semplice, andremo a creare un partitore di tensione tra la fotoresistenza e la resistenza da 10 KΩ (come il collegamento del pulsante per l’accensione del led).

Per creare il partitore di tensione dovremo fare un ponte con la resistenza che andrà poi ad essere collegata con il GND di Arduino, mentre il reoforo della fotoresistenza dovrà andare al pin analogico, che riuscirà a leggere i diversi valori del resistore. L’altro capo della fotoresistenza invece dovrà essere collegato i 5V di arduino .

Per gli altri due circuiti andremo a collegare semplicemente (come già spiegato in questo tutorial) i due led che si accenderanno grazie ai valori inviati dalla fotoresistenza.

Serial.begin();

Il comando comando Serial.begin() (qui la documentazione ufficiale Arduino) servirà per inizializzare il monitor seriale per la lettura del valore della nostra fotoresistenza. Utilizzando questo comando andremo a fornire la velocità di bit al secondo che servirà per creare un collegamento tra la nostra scheda Arduino al monitor seriale dell'IDE Arduino presente nel nostro computer.

Serial.begin(9600); // Il 9600 corrisponde ai bit al secondo che l’Arduino andrà ad inviare.

int sensorValue = 0;

Questo comando corrisponde all'inizializzazione della variabile all’interno della quale andremo a salvare il valore della fotoresistenza, questo può variare da 0 a 1024.

sensorValue = analogRead(analogInPin);

Questo comando serve per leggere il valore della fotoresistenza grazie alla funzione analogRead (qui la documentazione Arduino) e salvarlo nella variabile.

Serial.println(sensorValue);

Questo comando serve per stampare i valori della fotoresistenza all’interno del monitor seriale. L’ "ln" corrisponde alla messa a capo di ogni valore.

Funzionamento del programma

Questo programma andrà a scrivere i valori della fotoresistenza all’interno del monitor seriale, potremo infatti visualizzarli in tempo reale, aprendo il monitor dal nostro IDE (all'interno del menù Strumenti, come si vede nell'immagine qui sotto a sinistra).
Il sensore grazie al delay messo alla fine del codice scriverà nel monitor seriale ogni secondo così da aggiornare il valore luminoso in maniera leggibile.

Ecco il codice completo e funzionante a vostra disposizione:



Nell'immagine sotto a destra una screenshot realizzata all'interno dell'IDE di Arduino.

Variante 1

Creiamo un circuito crepuscolare in cui a seconda della luminosità percepita della fotoresistenza si andranno ad accendere due led diversi (uno rosso e uno verde) con l'ausilio del comando if (Spiegato nel tutorial COME REALIZZARE L'EFFETTO FADING CON UN LED E ARDUINO).
Come vediamo nel codice se la luminosità (rilevata dalla fotoresistenza) è maggiore di 700 il led rosso si accenderà, altrimenti se il valore è minore di 200 si accenderà il led verde.

Come prima alla fine del codice inseriamo un delay di 1000 millisecondi per far ripetere l'esecuzione della funzione ogni secondo.

Ecco il codice di questa seconda funzionalità:



Di seguito una screenshot realizzata all'interno dell'IDE di Arduino.

Variante 2

In questo ultima variante andiamo a variare la frequenza di accensione del led impostanto come delay del led la variabile (sensorValue).
Passare il valore della fotoresistenza come input alla funzione delay, significa impostare una pausa che avrà come valore (in millisecondi) proprio il valore di luminosità rilevato dalla fotoresistenza: quindi se la luminosità sarà bassa il led lampeggerà velocemente e viceversa.

Ecco il codice di questa terza variante:



Questa invece è una screenshot realizzata all'interno dell'IDE di Arduino.

Riferimenti e links Riferimenti e links

Se vuoi maggiori informazioni o una consulenza o se vuoi far parte della famiglia We Turtle scrivi all'indirizzo email: info@weturtle.org

Per restare sempre aggiornato iscriviti alla piattaforma, segui WeTurtle e TALENT su Facebook e iscriviti al nostro canale Youtube!

Scopri i servizi di Weturtle

per il PIANO SCUOLA 4.0 del PNRR


Ottieni uno spazio di apprendimento con contenuti didattici per docenti e studenti, dove facilitare lo scambio e favorire la comunità di pratica e dove tenere sotto controllo i progressi della classe e dei docenti.

Vuoi leggere il tutorial quando vuoi, anche offline?





POTREBBE INTERESSARTI ANCHE

TUTORIAL: COME REALIZZARE L'EFFETTO FADING CON UN LED E ARDUINO

FREE

Tempo: 3 min

TUTORIAL
   Weturtle Team
TUTORIAL - CREARE MELODIE CON ARDUINO E IL BUZZER

FREE

Tempo: 4 min

TUTORIAL
   Weturtle Team
TUTORIAL - INTEGRARE IL DISPLAY LCD CON ARDUINO

FREE

Tempo: 2 min

TUTORIAL
   Weturtle Team
TUTORIAL - UTILIZZARE IL DISPLAY 7 SEGMENTI CON ARDUINO

FREE

Tempo: 2 min

TUTORIAL
   Weturtle Team
Tutorial: Accendere e spegnere led con Arduino

FREE

Tempo: 3 min

TUTORIAL
   Weturtle Team

Vuoi fare una domanda all'autore?

oppure


GLI ALTRI UTENTI HANNO CHIESTO

Chat Icon

Wetruvio

Ciao! Sono Wetruvio, il tuo assistente virtuale!