Está en la página 1de 2

#define PIN_ANALOGICO A0 // La patilla de Arduino a la que conectamos la entrada

(LDR)
#define ESPERA_LECTURAS 1000 // tiempo en milisegundos entre lecturas de la
intensidad de la luz
const int LED=7;
int va = 0;
long cronometro_lecturas=0;
long tiempo_transcurrido;
unsigned int luminosidad;
float coeficiente_porcentaje=100.0/1023.0; // El valor de la entrada analógica va
de 0 a 1023 y se quiere convertir a porcentaje que va de cero a 100
void setup()
{
pinMode(LED, OUTPUT);
int var = 0;
while(var < 1){
//digitalWrite(LED, HIGH);; // set the LED on
//delay(50); // wait for a second
digitalWrite(LED, HIGH); // set the LED off
delay(7000); // wait for a second
var++;
}
Serial.begin(9600);
}
void loop()
{
tiempo_transcurrido=millis()-cronometro_lecturas;
if(tiempo_transcurrido>ESPERA_LECTURAS)
{
cronometro_lecturas=millis();
luminosidad=analogRead(PIN_ANALOGICO);
Serial.print("La luminosidad es del ");
Serial.print(luminosidad*coeficiente_porcentaje);
Serial.println("%");
}

if (luminosidad*coeficiente_porcentaje<50)
{digitalWrite(LED,HIGH);
delay (1000);
while (luminosidad*coeficiente_porcentaje<50)
{digitalWrite(LED,HIGH);
va=0;}
va=va+1;
}
else {digitalWrite(LED,LOW);}

while (va>3 && luminosidad*coeficiente_porcentaje>50)


{digitalWrite(LED,LOW);}

/*
while (va<4)
{
if (luminosidad*coeficiente_porcentaje>50)//no hay hilo
{digitalWrite(LED,LOW);
}
va=va+1;
}
if (luminosidad*coeficiente_porcentaje<50)// hay hilo
{digitalWrite(LED,HIGH);
delay(100);
va=0;
}
if (va>3)
{digitalWrite(LED,LOW);}
*/

También podría gustarte