/*
TEMA: Medidor de LDR con leds
Autor: Giovanni Balarezo
Descripción:
Realizar un indicador del nivel de luz captada en un sensor LDR
conectado a un puerto analógico. La condición inicial apagados los 7
leds, de acuerdo a la cantidad de sombra se enciende los leds
*/
//-----------------DECLARACION DE VARIABLES------------------
int pines[7] = {23,22,21,19,18,5,17};
int ldr=12;
int lectura, escala;
//-----------------CPNFIGURACIÓN DE PARÁMETROS---------------
void setup() {
// configuracion de pines como salida de datos digitales
for(int i=0;i<=6;i++){
pinMode(pines[i],OUTPUT);
}
// inicialización de los pines de salida en cero
for(int i=0;i<=6;i++){
digitalWrite(pines[i],0);
}
Serial.begin(115200); // inicializa el puerto serial
}
//-----------------ESTRUCTURACIÓN DEL PROGRAMA--------------
void loop() {
lectura = analogRead(ldr); // carga en la variable la lectura del LDR de 0-4095
Serial.print("LDR(0-4095): "), Serial.print(lectura);
escala = map(lectura, 0, 4095, 1, 8); //cambia de 0-4095 a escala de 1-7
Serial.print(" -- LDR(1-7): "), Serial.println(escala);
delay(200);
for(int i=0;i<=6;i++){ // inicializa los leds apagados
digitalWrite(pines[i],0);
}
for(int i=0;i<escala;i++){ // activa el numero de leds
digitalWrite(pines[i],1);
}
}