// Sensor Crepuscular por fotoresistencia (LDR). Por ejemplo KY-018.
// Se modifica la intensidad en proporción inversa a la luz medida.
int SENSOR = 0;
int LED = 3;
int VALOR;
int PWM;
void setup() {
// Entradas analógicas no requieren ser definidas como entradas
pinMode(LED, OUTPUT);
}
void loop() {
VALOR = analogRead(SENSOR); // Se lee medición del sensor
// Salida PWM solo acepta valores entre 0 y 255. Así se compatibilizan los valores.
// Se pone invertido el rango de la salida, así para menor luz medida damos las mayores salidas y mas intensidad del led.
// En la simulación se obtiene el resultado contrario al deseado, por que no es el sensor KY-018 y se comporta a la inversa.
// map no solo cambia el rango sino que lo invierte además.
PWM = map(VALOR, 0, 1023, 255, 0); // Se crea valor proporcional para largar a la salida
analogWrite(LED, PWM); // Se ilumina el led proporcionalmente a la luz medida
}