#include <LiquidCrystal.h> // Librería para el control del LCD
// Definición de pines según el ejemplo de Moreno (2022, p.124)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int ldrPin = A0; // Pin analógico donde se conecta el divisor del LDR
void setup() {
lcd.begin(16, 2); // Inicia la pantalla LCD con 16 columnas y 2 filas
lcd.setCursor(0, 0);
lcd.print("Nivel de luz:"); // Texto fijo en la primera línea
}
void loop() {
// Leer valor analógico del LDR (rango 0 a 1023)
int lecturaLDR = analogRead(ldrPin);
// Normalizar a porcentaje (0% en oscuridad total, 100% en iluminación máxima)
int porcentajeLuz = map(lecturaLDR, 0, 1023, 0, 100);
// Mostrar el porcentaje en la segunda línea
lcd.setCursor(0, 1);
lcd.print(porcentajeLuz);
lcd.print(" % "); // Espacios para limpiar datos anteriores
delay(500); // Actualiza dos veces por segundo
}