Sensor iluminación mediante LDR (LM393)

lDR

El módulo sensor de iluminación LM 393, mediante una resistencia dependiente de la
luz o fotoresistor (LDR o lightdependent resistor ), se presenta integrado en una placa con cuatro terminales, A0, D0, GND y Vcc (aunque existen versiones con solo tres terminales y D0 desaparece). Además, está provisto de un comparador de tensión LM 393 y un potenciómetro para el ajuste del disparo según el umbral de luz.

 

 

Para verificar su funcionamiento, se debe alimentar a 05V y elegir un terminal analógico A0 para obtener valores analógicos de tensión en función de la iluminación, o el terminal digital D0 para determinar un umbral de disparo, a nivel bajo, dependiendo de la iluminación detectada por la LDR. La fotorresistencia que incorpora este módulo es de las que presenta un menor valor de resistencia cuanto mayor sea la cantidad de luz y un mayor valor resistivo cuanto más oscuridad hay.

Se pueden añadir un led para controlar su intensidad de encendido en función de la iluminación ambiente y un LCD para visualizar la información (opcional). En este ejemplo se visualiza la información por el terminal serie del IDE de Arduino.

Nota: Recordar que los leds que se conectan a la placa Arduino deben llevar una resistencia de 220Ω en serie para controlar el consumo y no producir algún desperfecto.

Material requerido

ArduinoUNO-300x300
  • Arduino Uno o similar. Esta sesión acepta cualquier otro modelo de Arduino.
Img_3_4
  •  Una Protoboard.
RedLed_
  • dos diodos LED.
Img_3_5
  • dos resistencias de 330 Ohmios.
Img_3_6-300x185
  • Algunos cables de Protoboard.
modulo-sensor-fotosensible-3-pin-fotoresistencia-ldr
  • Un Sensor LDR

Circuito:

Circuito-modulo-sensor-de-luz-ldr-1024x506

El código:

/*
PROGRAMA EJEMPLO BÁSICO DE CONTROL DE ILUMINACIÓN
* Módulo de sensor LDR: LM-393
* El pin 6 (PWM) para led de encendido por regulación de la luz incidente
* El pin 2 para lectura digital del módulo sensor
* El pin 7 para led indicador del umbral de luz
* El pin A3 para lectura valor analógico (opcional en display LCD)
* Fotosensor Pines:
VCC: +5VDC
GND: GND
D0 : Digital OUTPUT
A0: Analog OUTPUT - (opcional: visualizar en LCD 1602 I2C)
*/
int temp=0; //variable que recibe el umbral digital del sensor
int lux=0; //variable que recibe el valor analógico del sensor
int led=6; //led para regulación encendido según iluminación
void setup() {
   Serial.begin(9600); //inicializar el monitor serie a 9600 baudios
   pinMode(led,OUTPUT); //pin regulación encendido 
   pinMode(2,INPUT); //pin para lectura digital del módulo sensor
   pinMode(7,OUTPUT); //pin para led umbral de luz
   digitalWrite(7,HIGH); //test entrada al programa
   delay(1000);
   digitalWrite(7,LOW);
}
void loop() {
  temp=digitalRead(2); //valor digital del sensor LDR 
  lux=analogRead(3); //valor analógico del sensor 
  //mapeo de los valores mínimo y máximo 
  int intensidad=map(lux,60,300,0,1023);
  analogWrite(led,intensidad); //enciende el led con intensidad según la lectura de luz
  delay(300);
  if (temp==HIGH){ //HIGH si la luz supera el umbral 
      digitalWrite(7,HIGH); //si no hay luz, LED encendido
      Serial.print("Cantidad de luz insuficiente \t");
      Serial.println(lux); //muestra la salida analógica
   }
   else{
      digitalWrite(7,LOW); //si hay luz, LED apagado
      Serial.print("Cantidad de luz suficiente \t");
      Serial.println(lux); //muestra la salida analógica 
   }
delay(2000);
}

RETOS

Interruptor crepuscular (encendidoapagado farolas)
Control y regulación de la calidad de la iluminación en aulas.

Control de apertura y cierre de persianas en las ventanas de un aula.