I am trying to detect motion using the mini PIR motion sensor but only gives the value 0, does anyone know how to solve this problem? The code is as follows:
//Declaramos os pinos que vamos a usar
int Pin = 7; //Analogico A5 para o sensor
int ledPin = 9; //Digital 9 para o LED
//Declaramos uma variável para armazenar o valor que nos devolve o sensor
int val = 0;
int state = LOW;
bool executed = false;
void setup()
{
Serial.begin(9600); //Iniciamos a comunicação serial
pinMode(ledPin, OUTPUT); //Configuramos o pino digital 9 como saída
pinMode(Pin, INPUT); //Configuramos o pino analogico A5 como entrada
}
void loop()
{
val = digitalRead(Pin); //Lemos o valor analogico que nos devolve o sensor
if(val == HIGH) //Si o valor é maior que 100
{
Serial.println(val); //Sacamos o valor do sensor por serial
digitalWrite(ledPin,HIGH); //Acendemos o LED
delay(3000); //Fazemos uma pausa de 3 segundos
if(state == LOW)
{
Serial.println('MOtion detected...');
state = HIGH;
}
}
else //Se o valor é menor que 100
{
Serial.println(val); //Obtemos o valor do sensor por serial
digitalWrite(ledPin,LOW); //Apagamos o LED
if(state == HIGH)
{
Serial.println('MOtion stop...');
state = LOW;
}
}
}