Saltar la navegación

Montaje 5: Sensor de luz (LDR)

Hasta ahora hemos trabajado con resistencias de valor fijo, pero existen una serie de resistencias que varían según distintos parámetros físicos a las que se les somete como presión, luz y temperatura entre otros. Existe una gran variedad que se utilizan para construir lo que llamamos sensores. En esta práctica vamos a diseñar un circuito que sea sensible a la luz. El objetivo será regular la intensidad luminosa de un led con una LDR, una resistencia sensible a la luz.

Para ello utilizaremos:

  • Placa de pruebas.
  • Sensor de luz LDR.
  • Led.
  • Resistencia.
  • Cables de conexión.
/* Regular la luminosidad del LED con LDR y Protoboard*/
int ledPin = 11;
int LDRPin = A0;
int intensity;
int bajo_LDR = 917; //Modificar según luminosidad (máx/mín)
int alto_LDR = 1024;
int LDR_value=0;

void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {
LDR_value= analogRead(LDRPin); //Lectura del sensor
intensity = map(LDR_value, bajo_LDR, alto_LDR, 255, 0); 
// Si sobre la LDR oscurece el LED aumenta su luminosidad.
analogWrite(ledPin,intensity); 
/*Envía una onda cuadrada PWM con el ciclo de trabajo especificado
en la variable intensity.*/
Serial.print("valor analógico escrito=");
Serial.println(intensity);

/*Observamos la lectura analógica para comprobar el fondo de escala (0 -> 1024)*/
Serial.print("valor analógico leído=");
Serial.println(analogRead(LDRPin));

delay (1000);
}