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 ED IL LED RGB CON ARDUINO

TUTORIAL - LA FOTORESISTENZA ED IL LED RGB CON ARDUINO

In questo tutorial vedremo come realizzare un semplice prototipo di un sistema domotico con Arduino! Utilizzeremo una fotoresistenza, necessaria per acquisire informazioni sulla luce ambientale, ed un led RGB, che rappresenterà l'output del nostro sistema...

Weturtle Team   by Weturtle Team
Arduino

Tempo di lettura tutorialTempo di lettura/visione: 3 min

Introduzione

In questo tutorial vedremo come realizzare un semplice prototipo di un sistema domotico con Arduino per il controllo della luce ambientale! Utilizzeremo una fotoresistenza, necessaria per acquisire informazioni sulla luce ambientale, ed un led RGB, che rappresenterà l'output del nostro sistema cambiando luce a seconda dei valori rilevati dalla fotoresistenza.

Strumenti

  • 1 breadboard
  • 2 resistenze da 100 Ohm
  • 1 resistenza da 220 Ohm
  • 1 resistenza da 100 kOhm
  • 1 led RGB
  • 1 fotoresistenza
  • Fili di collegamento per breadboard
  • 1 scheda Arduino UNO

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

Le fotoresistenze sono particolari resistenze, i cui valori sono inversamente proporzionali alla quantità di luce da cui vengono colpiti. In questo tutorial il nostro obiettivo è quello di utilizzarle per analizzare la quantità di luce ambientale per distinguere il giorno dalla notte. Come quasi ogni tipo di resistenza possiedono due pin intercambiabili, non fa dunque differenza il verso in cui vengono utilizzati all’interno del circuito.

Led RGB

I led RGB sono una particolare tipologia di led, formati da tre sorgenti luminose (Red, Green, Blue) grazie alle quali, essendo i colori primari della luce, è possibile generare più di 16 milioni di combinazioni di colori. La maggior parte dei led RGB (come quello utilizzato in questo tutorial) possiedono 4 pin di collegamento, tre per controllare ciascuno dei colori, e uno che va collegando al polo negativo, nel nostro caso, la porta GND di Arduino. In questo tutorial verrà utilizzato per produrre due differenti colorazioni in base alla quantità di luce rilevata dalla fotoresistenza.

Circuito

Per la realizzazione del circuito è sufficiente seguire lo schema proposto, facendo cura di inserire la resistenza da 100 kOhm in serie con la fotoresistenza, quella da 220 Ohm prima del pin RED del led RGB, e quelle da 100 Ohm prima dei pin GREEN e BLUE.

Codice

Una volta assemblato il circuito, si potrà iniziare la scrittura del codice che controllerà la scheda. La parte più sensibile di questo processo sarà la taratura della fotoresistenza, la quale, ci ritornerà dei valori numerici corrispondenti al livello di luminosità registrato, starà quindi a noi, analizzando questi valori al variare della luminosità, stabile la soglia che determinerà la differenza tra luce e buio.

Il codice inizia con la dichiarazione dei pin della scheda ai quali è collegato ciascun colore del led RGB (Red, Green, Blue).

const int Red = 3;
const int Green = 4;
const int Blue = 5;

Successivamente all’interno della funzione setup() dichiararemo che i 3 pin a cui è connesso il led funzioneranno come output, mentre quello della fotoresistenza con input.

void setup() {
pinMode(Red,OUTPUT);
pinMode(Green,OUTPUT);
pinMode(Blue,OUTPUT);
pinMode(A1,INPUT);

Serial.begin(9600);
}


La funzione Serial.begin(9600) serve per inizializzare il monitor seriale, lo strumento, ovvero, attraverso il quale leggeremo i valori della fotoresistenza per poter effettuare la taratura.
Una volta chiuso il setup() inizia la funziona loop(), quella ovvero, che si ripeterà ciclicamente fino allo spegnimento della scheda. Creiamo una variabile light, all’interno della quale salvare il valore registrato dalla fotoresistenza, tramite la funzione analogRead().
Ora tramite la struttura di controllo condizionale if() else(), decidiamo il valore della soglia che deciderà il comportamento del led (nel nostro esempio troverai 8).

void loop() {
int light;
light = analogRead(A1)/100;
if (light>8) {
colora(200,150,150);
}else{
colora(255,0,0);
}

Serial.println(light);
delay(100);
}

Per semplificare la colorazione del led, a fine codice è stata inserita una funzione colora(), a cui potremo direttamente passare i valori RGB di cui abbiamo bisogno (quindi 3 numeri da 0 a 255) .

void colora(int R, int G, int B){
analogWrite(Red, R);
analogWrite(Green, G);
analogWrite(Blue, B);
}

Le funzioni Serial.println() e delay() serviranno rispettivamente per far apparire nel monitor seriale il valore rilevato dalla fotoresistenza, e per inserire un ritardo tra una misura e l’altra, in questo caso 100ms. Di seguito il codice completo!

Ti è piaciuto il tutorial?

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 e segui We Turtle e Talent su Facebook.

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: Accendere e spegnere led con Arduino

FREE

Tempo: 3 min

TUTORIAL
   Weturtle Team
TUTORIAL: LA FOTORESISTENZA E IL LED CON ARDUINO

FREE

Tempo: 4 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

Vuoi fare una domanda all'autore?

oppure


GLI ALTRI UTENTI HANNO CHIESTO

Chat Icon

Wetruvio

Ciao! Sono Wetruvio, il tuo assistente virtuale!