CONTENUTO ►
Il sensore di luce Arduino consente di realizzare l’accensione automatica dell’illuminazione. La base di questo modulo è un elemento semiconduttore – un fotoresistenza (LDR). Vediamo come collegare correttamente un sensore di luce analogico o digitale al microcontrollore Arduino Uno e comprendiamo due semplici programmi per utilizzare l’ingresso digitale e analogico del microcontrollore Arduino per accendere e spegnere il LED.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- sensore di luce
- LED e resistenza
- breadboard
- cavi di collegamento
Sensore di luce KY-018 datasheet, pinout
Il sensore di luce è disponibile in due versioni: con e senza resistenza di sintonia (sensore digitale) (sensore analogico). Entrambe le versioni dispongono di tre pin per il collegamento ad Arduino Nano o Uno. Due pin sono utilizzati per alimentare il sensore – 5V e GND, mentre il terzo pin emette un segnale analogico (contrassegnato con la lettera S) o digitale (contrassegnato con D0) ed è collegato alle porte corrispondenti della scheda Arduino.
Caratteristiche del sensore di luce analogico KY-018:
- Alimentazione: 3,3 – 5,5 V
- Resistenza fissa nota: 10 kΩ
- Dimensioni: 21 x 15 x 6 mm
Il modulo si basa su un normale fotoresistenza, quindi se non si dispone di un sensore di luce dallo starter KIT di Arduino, è possibile costruire un semplice circuito divisore di tensione con un resistore e un fotoresistenza su una breadboard e collegarlo al microcontrollore – Collegamento di un fotoresistenza ad Arduino Uno. La differenza è che dovrete replicare il semplice circuito del sensore assemblandolo da soli su una breadboard.
Come collegare sensore di luce analogico Arduino
La prima immagine mostra lo schema di collegamento del sensore di luce analogico ad Arduino Uno tramite un segnale analogico. Il modulo è alimentato a 5 Volt e, a seconda dell’illuminazione della stanza, l’uscita del modulo KY-018 (pin S) varia da 0 a 5 Volt. Quando questo segnale viene applicato all’ingresso analogico, il microcontrollore Arduino converte il segnale mediante un ADC in una gamma di valori da 0 a 1023.
Programma Arduino per sensore di luce analogico KY-018
void setup() { pinMode(A1, INPUT); pinMode(12, OUTPUT); Serial.begin(9600); } void loop() { int light = analogRead(A1); Serial.print("Light = "); Serial.println(light); if (light > 100) { digitalWrite (12, LOW); } if (light < 100) { digitalWrite (12, HIGH); } }
Spiegazione del codice per sensore di luce analogico KY-018 Arduino:
- nell’esempio, stiamo inviando i dati del sensore di luce, convertiti dal convertitore analogico-digitale (ADC) di Arduino, alla porta seriale;
- per trovare la tensione in ingresso, moltiplicare il valore risultante per 0,0048.
Come collegare sensore di luce digitale Arduino
Il programma seguente utilizza il segnale digitale proveniente dal sensore di luminosità ky. Il modulo è dotato di una resistenza di sintonia per regolare la sensibilità. In altre parole, è possibile regolare il livello di luce necessario affinché il modulo invii un segnale HIGH (uno logico) al microcontrollore Arduino. Collegare il LED al pin 12 della scheda Arduino Uno e caricare il seguente sketch – Misurare la luminosità con Arduino e una fotoresistenza.
Programma Arduino per sensore di luce digitale
void setup() { pinMode(12, OUTPUT); pinMode(2, INPUT); Serial.begin(9600); } void loop() { Serial.print("Signal - "); Serial.println(digitalRead(2)); if (digitalRead(2) == HIGH) { digitalWrite (12, LOW); } if (digitalRead(2) == LOW) { digitalWrite (12, HIGH); } }
Spiegazione del codice per misurare la luminosità con Arduino:
- il ciclo void dell’esempio utilizza l’istruzione condizionale if per accendere e spegnere il LED collegato al pin 12 di Arduino;
- utilizzare una resistenza di trim per regolare la sensibilità del modulo.
Conclusione. Il modulo del sensore di luce comprende un fotoresistore o LDR (Light Dependent Resistor) e un amplificatore operazionale LM358. La resistenza di un fotoresistore non varia linearmente in funzione della luce catturata. La nuova versione del modulo sensore di luminosità include un fototransistor; l’uscita del modulo varia ancora da 0 a 5 Volt, ma la curva di uscita di questo modulo è lineare.
Lascia un commento