Galera me corrija por favor
estou testando um sensor pir, a forma mais simples nao funciona direito para minha aplicação, detecta qualquer variação minima no ambiente, preciso limitar um pouco. Entao estou lendo o pulso, pesquisei q no tempo minimo (girando a chavinha do proprio pir) o pico em sinal alto fica por +- 1 segundo e q o pulso é em milhão de micro segundos (posso estar errado). Bem meu codigo nao acontece nada, mesmo colocando pulso >1 pra ver se le alguma coisa, sempre 0. Copiei um código da net pra ver se o pir esta funcionando corretamente, funcionou como eu gostaria, mas entendi pouca coisa dele, entao nada melhor q corrigir meu próprio código para aprender.
#define led 8 //
#define pir 7 //
void readSensor(); //função auxiliar para ler o sensor
//unsigned long sensorIn = 0; //armazena a duração do pulso
long unsigned int sensorIn=0;
void setup()
{
pinMode(led, OUTPUT);
pinMode(pir, INPUT);
Serial.begin(9600);
}
void loop()
{
readSensor(); //lê o sensor
//como pulseIn é em micro seg. para testar se o valor é maior q
//1 segundo usei > 1 milhão (1milhao micro s. = 1 segundo)
if(sensorIn > 1E6 && sensorIn <3E6) //testa se a largura do sensor esta entre 1 e 3 segundos
{
digitalWrite(led, HIGH);
}
else
{
digitalWrite(led, LOW);
}
}
void readSensor(){
sensorIn = pulseIn(pir, HIGH, 3E6); //pulseIn= bliblioteca nativa mede largura do pulso em uma entrada digital
//pulseIn entrega o valor em micro segundos
Serial.println(sensorIn);
delay(1000);
}
Tags:
As respostas para este tópico estão encerradas.
Olá.
O sensor PIR que conheço gera um sinal quando existe movimento. Não é uma saida largura de pulso e sim apenas um sinal digital (sim ou não).
Veja se o seu é o mesmo desse tutorial:
http://labdegaragem.com/profiles/blogs/tutorial-como-utilizar-o-sen...
Os trimpots devem resolver a sensibilidade.
Eles são para uso interno em ambiente com pessoas. Máquinas (xerox, por ex), carros, animais, etc, podem atrapalhar.
então, o q estou usando é o HC-SR501, parece q um simples tempo de 30 segundos +- pra iniciar é fundamental para calibrar, dava muitos erros de leitura, acionava do nada, etc. Mas o que eu estava falando era +- isso: https://www.youtube.com/watch?v=knQOiF6YRLM
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por