Sensore Crepuscolare – Arduino

In questo progetto con Arduino UNO realizzeremo un sensore crepuscolare. Il suo funzionamento è molto semplice, infatti non è altro che un interruttore che attiva un circuito quando la luce che colpisce l’elemento fotosensibile (fotoresistenza) va al di sotto di una certa soglia, che imposteremo attraverso il software.

Nel nostro progetto faremo accendere semplicemente un LED collegato ad uno dei piedini digitali di Arduino, ma potremmo benissimo pilotare una lampada a 220V o un qualsiasi altro apparecchio, ovviamente opportunamente pilotato con un circuito di potenza o relè.

Componenti utilizzati:

  1. Arduino Uno
  2. LED Rosso
  3. Fotoresistenza
  4. Resistenza: 330Ω, 10kΩ

La fotoresistenza

Le fotoresistenze sono trasduttori passivi i quali variano la loro resistenza al variare dell’intensità luminosa che li investe. Questi componenti permettono variazioni della loro resistenza da decine di ohm alla luce a decine di Megaohm al buio. Ciò comporta che la corrente elettrica che transita attraverso tale componente è proporzionale all’intensità di una sorgente luminosa. In tale maniera si realizza una sorta di potenziometro attuabile tramite la luce anziché tramite forze meccaniche o segnali elettrici.

Teoria del funzionamento

Il sensore crepuscolare con Arduino si basa sul principio del partitore di tensione, in cui uno dei due elementi è variabile in funzione della luce assorbita. La formula che regola il partitore di tensione è la seguente:

Da questa formula ricaviamo che, se la fotoresistenza assorbe luce, il valore della resistenza è basso, per cui la tensione Vout è alta, inversamente al buio la resistenza aumenta e di conseguenza la Vout diminuisce.

Realizzazione del circuito

Passiamo alla realizzazione del sensore crepuscolare con Arduino su breadboard:

Analizzando questo semplice schema vediamo che il LED è stato collegato con una resistenza di 330Ω al pin numero 6 della scheda Arduino, questa resistenza limiterà la corrente che scorrerà in esso. Per conoscere il valore preciso della resistenza da inserire in serie al diodo LED vi rimandiamo alla seguente lezione. Mentre il partitore è stato realizzato con la fotoresistenza e una resistenza di 10KΩ.

Programma

const int sensorValue = 350; //imposta il valore del sensore
int ledPin = 5; // connettere il LED al pin digitale 5

void setup(){ // esegui una sola volta quando il disegno inizia
   pinMode(ledPin,OUTPUT); // imposta il piedino 5 come uscita
}

void loop() {//esegui più volte
   int sensor = analogRead(A0); // imposta il sensore
   if (sensor > sensorValue) { // registra il valore max del sensore
      digitalWrite(ledPin,LOW); // imposta il piedino 5 a livello basso
      delay(1000); //attende 1 secondo
   }else{
      digitalWrite(ledPin,HIGH); // imposta il piedino 5 a livello alto
      delay(1000); // attende 1 secondo
   }
}

Il programma presenta un solo blocco di istruzioni di tipo if-else facilmente interpretabile grazie i commenti che seguono le istruzioni.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Ultimi Articoli