En este pequeño tutorial veremos cómo conectar una fotoresistencia a una tarjeta Arduino, también encontrarás un código de programación para tus primeras pruebas.
La fotoresistencia o LDR es un componente cuya resistencia disminuye al hacer incidir luz sobre ella y aumenta en ausencia de luz, esta propiedad la hace ideal para implementar sensores de iluminación ambiental. Una manera sencilla y popular de construir dichos sensores consiste en armar un divisor de voltaje/tensión con la fotoresistencia conectada en serie a una resistencia de valor fijo, la señal del sensor es entonces el voltaje en el punto de unión de la resistencia y la fotoresistencia. El ejercicio sera construir uno de estos.
Si el divisor de tensión se alimenta con 5V el voltaje de la señal podrá tomar valores entre 0V y 5V, de igual manera es importante señalar que el comportamiento del sensor, es decir, si el voltaje aumenta al aumentar la luz y viceversa o si el voltaje disminuye al aumentar la luz y viceversa dependerá de como alimentemos el divisor de tensiones:
- Si conectamos GND al pin de la resistencia de valor fijo y 5V al pin de la fotoresistencia, el voltaje aumentará al aumentar la intensidad del a luz y disminuirá en ausencia de luz.
- Si conectamos 5V al pin de la resistencia de valor fijo y GND al pin de la fotoresistencia, el voltaje disminuirá al aumentar la intensidad de la luz y aumentará en ausencia de luz.
De esta manera el divisor de voltaje es un componente analógico de entrada, es decir, su funcionamiento consiste en entregar la información correspondiente a la iluminación del ambiente por medio del voltaje en su pin de señal, la tarjeta Arduino a su vez recibe la señal y la lee con uno de sus pines analógicos de entrada. En este ejemplo conectaremos el pin de señal de nuestro sensor al pin analógico A0 de la tarjeta.
Componentes necesarios
- Fotoresistencia 2 Mohms (Se puede utilizar otro valor)
- Resistor de 10kohms
- Arduino Uno
- Protoboard chica
- Cables de conexión M-M
Diagrama de conexiones

Código de Arduino
Cargamos el código a la tarjeta Arduino Uno y abrimos el monitor serie para observar el valor entregado por el sensor cada 0.5 segundos aproximadamente.
//Creamos una variable de tipo entero
int lectura = 0;
void setup() {
//Iniciamos la comunicación serial
Serial.begin(9600);
}
void loop() {
//Tomamos la lectura analógica del pin al cual conectamos
//la señal de nuestro pequeño circuito divisor de tension
//y la guardamos en una variable
lectura = analogRead(0);
//Imprimimos por monitor serie el valor
Serial.println(lectura);
delay(500);
}