int sensorPin=11; // declaramos el sensor PIR en el pin 11
int val = 0; //variable para asignar la lectura del sensor PIR
void setup()
{
pinMode(ledPin, OUTPUT); //El pin 12 del arduino lo asignamos como
salida para el led
pinMode(sensorPin, INPUT); //El pin 11 lo asignamos como entrada
para la seal del sensor
[Link](9600);
for(int i = 0; i < 30; i++) //Utilizamos un for para calibrar el
sensor depende del tipo de sensor que
utilicemos va a cambiar el tiempo de calibracin
{
delay(1000);
}
delay(50);
}
void loop()
{
val = digitalRead(sensorPin); //Lee el valor de la variable (val)
if (val == HIGH) //Si detecta que hay movimiento manda activar el led
que hay conectado en el pin 12 del arduino
{
digitalWrite(ledPin, HIGH);
}
else //Si la condicin anterior no se cumple manda apagar el led
{
digitalWrite(ledPin, LOW);
}
}
if(digitalRead(PIR) == HIGH){
digitalWrite(bombilla, HIGH);
if(apagado){
apagado = false;
delay(50);
}
tiempoApagado = true;
}
// Si el sensor PIR detecta LOW
if(digitalRead(PIR) == LOW){
digitalWrite(bombilla, LOW);
if(tiempoApagado){
// Guarda el tiempo de la transicion de Encendido a LOW
bajoImp = millis();
// Aseguramos que esto solo lo hace una vez cuando se pone a LOW
tiempoApagado = false;
}
// Si el sensor supera el tiempo de espera sin recibir nada.
if(!apagado && millis() - bajoImp > pausa){
// Apgamos
apagado = true;
delay(50);
}
}
// Tiempo para que el sensor se calibre
int TiempoCalibrar = 30;
// Tiempo cuando el sensor no emite impulsos
long unsigned int bajoImp;
// Tiempo que va a estar el sensor esperando que no haya movimiento para
determinar que hay que apagarse
long unsigned int pausa = 10000;
boolean apagado = true;
boolean tiempoApagado;
// Pin en el que vamos a conectar el sensor PIR
int PIR = 8;
//int valorDelSensor;
int bombilla = 9;
void
[Link](9600);
pinMode(PIR, INPUT);
digitalWrite(PIR, LOW);
pinMode(bombilla, OUTPUT);
// Sensor PIR calibrando
for(int i = 0; i < TiempoCalibrar; i++){
delay(1000);
}
[Link]("Calibrado correctamente");
delay(50);