Está en la página 1de 2

Descripción:

El código controla un Arduino conectado a un circuito que


incluye un sensor PIR, un fotorresistor y un LED, este
recopila la información proporcionada por el PIR y él
fotorresistor para determinar el momento y la intensidad
adecuada con la que deberá encender el LED

*/

#define luz A1
#define led 3
#define presencia 2
/* Se le asigna un nombre de acuerdo a su función a cada pin
utilizado para facilitar su uso */

int nivel=0; // Variable para almacenar el estado del fotoresistor


int persona=0; // Variable para almacenar el estado del sensor PIR
void setup()
{
pinMode(presencia,INPUT); // Salida para controlar el encendido/apagado del LED
Serial.begin(9600); // Activación del monitor serial
}
void loop()
{
nivel=analogRead(luz); /* Lectura y almacenamiento del estado del fotoresisitor,
lo cual nos indicara el nivel de luz */

if(digitalRead(presencia)==HIGH) // Lectura de estado del sensor PIR


{
persona=1; // En caso de que se detecte una persona se le asigna el valor 1 a la variable
}
else
{
persona=0; // De lo contrario se le asigna el valor 0 a la variable
}

Serial.print(nivel);
Serial.print("//");
Serial.println(persona);
/* Impresión de los datos leídos del sensor PIR y el
fotorresistor en el monitor serial */

if (persona) // Si el valor almacenado en la variable para el sensor PIR es 1


{
if(nivel<870) // Y además, hay un nivel de luz bajo
{
analogWrite(led,255); // Enciende el LED con intensidad alta
}
if(nivel>=870&&nivel<940) // Si el nivel de luz es media-baja
{
analogWrite(led,50); // Enciende el LED con intensidad media-alta
}
if(nivel>=940&&nivel<960) // Si el nivel de luz es media-alta
{
analogWrite(led,10); // Enciende el LED con intensidad media-baja
}
if(nivel>=960) // Si el nivel de luz es alto
{
analogWrite(led,0); // No se encendera el LED
}
}
else // En caso de que el valor almacenado en la variable para el sensor PIR sea 0
{
analogWrite(led,0); // No se encendera el LED
}
delay(500); // Se le agrega un retraso al código de 0,5 segundos
}

También podría gustarte