Saltar la navegación

8.- Detector de luz. LDR

Ocultar

LDRRealiza un montaje con Arduino para detectar cambios en el nivel de luminosidad del aula donde te encuentras.

Para ello utiliza un sensor de luz LDR (light-dependent resistor), una resistencia eléctrica y un LED. La idea es que cuando la intensidad luminosa disminuya un cierto umbral, el LED se active.

El sensor LDR es un sensor resistivo (fotoresistor), es decir que su resistencia eléctrica varía en función de la luz que recibe. Es un sensor analógico por lo que, para leer sus medidas, tenemos que conectarlo a una entrada analógica de Arduino. Si tapamos o acercamos el sensor a la luz veremos cómo cambian las medidas a través del monitor serie. El valor de la resistencia (R1) marcará la sensibilidad de las medidas y dependerá también del rango de resistencias que nos proporcione el LDR. Puedes empezar un una resistencia de 1KOhmio.

ESQUEMA

LDR pulldown

Circuito completo. Conexiones

LDR circuito completo

PROGRAMA

---------------------------------------------------
// Detector de luz con LDR
// Abre el Monitor Serie
#define pinLED 12 int nivel_luz;
void setup() { pinMode(pinLED, OUTPUT); Serial.begin(9600); //Establecemos la velocidad de comunicación con el ordenador } void loop() { nivel_luz = analogRead(A0); // El valor 600 (siguiente línea) se debe de ajustar dependiendo de la luz en el local // y del valor de la resistencia pull-down // poca luz -> v pequeño, mucha luz -> v grande. if (nivel_luz < 300) { // Si el nivel de luz es inferior a 300, encendemos el LED
digitalWrite(pinLED, HIGH); // Activamos pinLED, salida 12
} else {
digitalWrite(pinLED, LOW); //Si no es inferior a 300, lo apagamos
} Serial.println(nivel_luz); //También envía el nivel de luz al monitor serie } ---------------------------------------------------
PROPUESTA DE MEJORA
Para no tener que ajustar el valor de V según las condiciones de luz, añade un potenciómetro en serie con la
resistencia de pulldown del LDR y comprueba el funcionamiento al variar el potenciómetro