P05 - Lectura de LDR y visualización en Monitor Serie
🌞 P05 - Lectura de LDR y visualización en Monitor Serie
ℹ️ Empieza aquí:
Hasta ahora has controlado LEDs y pulsadores. En esta práctica aprenderás a leer un sensor de luz (LDR) mediante entradas analógicas de Arduino, y a mostrar sus valores en el Monitor Serie para interpretar la intensidad lumínica.
Esto introduce el concepto de sensores analógicos, conversión de rangos y visualización de datos para depuración y análisis.
🚀 Objetivos
• Leer valores analógicos de un LDR.
• Convertir valores analógicos a un rango comprensible (0–100%).
• Visualizar datos en el Monitor Serie en tiempo real.
• Aplicar conceptos de entrada analógica y mapeo de rangos.
• Preparar la base para controlar LEDs o actuadores según la luz ambiente.
🧩 Contenidos trabajados
• Lectura de entradas analógicas (analogRead).
• Uso de map() para escalado de valores.
• Monitor Serie (Serial.begin, Serial.println).
• Temporización no bloqueante con millis().
• Interpretación de datos de sensores.
💻 Materiales y recursos
• Arduino UNO.
• Protoboard.
• 1 LDR.
• 1 resistencia de 10 kΩ.
• Cables Dupont.
• Ordenador con Arduino IDE.
🔧 Montaje práctico
1. Coloca el LDR en la protoboard.
2. Conecta un extremo del LDR a 5V, el otro extremo al pin analógico A0 y a través de una resistencia de 10 kΩ a GND (configuración de divisor de tensión).
3. Verifica que la conexión es firme y que el pin A0 recibe el voltaje variable según la luz incidente.
🧭 Desarrollo de la práctica
Paso 1: Crear el proyecto
1. Abrir Arduino IDE.
2. Archivo → Nuevo.
3. Guardar como: P05_LDR_MonitorSerie_ApellidoNombre
Paso 2: Configurar el Monitor Serie
void setup() {
Serial.begin(9600); // inicializa comunicación serie
}
Paso 3: Leer el valor del LDR y mapearlo
void loop() {
int valorLDR = analogRead(A0); // lectura analógica (0–1023)
int porcentajeLuz = map(valorLDR, 0, 1023, 0, 100); // mapeo a 0–100%
Serial.print("Valor crudo: ");
Serial.print(valorLDR);
Serial.print(" | Porcentaje: ");
Serial.print(porcentajeLuz);
Serial.println("%");
delay(200); // actualizar cada 200 ms
}
✅ Comprobación de funcionamiento
- Abrir el Monitor Serie en Arduino IDE.
- Observar cómo los valores cambian al variar la luz sobre el LDR.
- Los valores deben oscilar entre 0 (oscuridad) y 1023 (luz intensa), y el porcentaje entre 0% y 100%.
📦 Entrega
• Archivo .ino comentado y funcional.
• Captura de pantalla del Monitor Serie mostrando los valores cambiantes.
• Breve explicación del mapeo de valores y uso del LDR como sensor de luz.
📊 Rúbrica de evaluación
| Criterio | Excelente (9–10) | Adecuado (6–8) | Insuficiente (≤5) |
|---|---|---|---|
| Montaje del LDR | Correcto y estable | Funciona parcialmente | Incorrecto |
| Lectura analógica | Valores correctos y consistentes | Lecturas inestables | No funciona |
| Mappeo de valores | Porcentaje correcto y coherente | Parcialmente correcto | No implementado |
| Monitor Serie | Datos claros y actualizados | Parcialmente legible | No utilizado |
| Código y comprensión | Modular, comentado y entendible | Funciona pero confuso | No comprende |
🎯 Para pensar (opcional)
¿Cómo podrías usar los valores de luz para controlar automáticamente la intensidad de un LED o activar un actuador según la iluminación ambiental?