Aprenda a utilizar o sensor de presença pir com Arduino

Font Size

Fala galera, tudo beleza?

Estamos aqui de novo, com um post sobre uma integração envolvendo Sensor de presença PIR + Arduino.

O foco desse post é  o Sensor de Presença PIR HC-SR501 , que é um cara bacana de se trabalhar e amplamente utilizado em projetos/sistemas que envolvam a detecção de movimento, consequentemente, presença.

Ele trabalha nos 5V fornecidos pelo nosso Arduino . Vai aí algumas informações técnicas sobre o sensor:

–  Tensão de Operação: 5V ~ 20V
– Corrente de Operação: <50mA
– Tempo de retardo Ajustável: 2s ~ 200s
– Distância detectável: 3~7m (Ajustáveis – (Reguláveis através dos potenciômetros presente na parte traseira do sensor).
– Tempo de Bloqueio: 2,5s (Padrão)
– Ângulo de de detecção: <= 100°
– Temperatura de Trabalho: -15 ~ +70°C
– Dimensões: 32mm x 24mm x18mm

– E galera,  apesar de ser uma implementação simples, ela tá aqui pra atiçar sua curiosidade de maneiras DIY de integrar esse sensor bacanérrimo.

Ainda assim, vamos atiçar sua imaginação, e dar algumas dicas de onde aplicar ele :

  • Sistemas de segurança;
  • Controle de consumo de energia elétrica;
  • Automação de ambientes.

Dentre vários outros – fica tudo à sua livre escolha! 😀

Mas chega de balela, e vamos ao trabalho:

 

Materiais utilizados:

01 – Arduino Uno R3;

01 – Protoboard;

01 –Sensor de Presença PIR;

02 – LEDs ;

02 – Resistores de 220 \Omega

Jumpers

 

Esquema de Ligação:

pir_sensor

 

Código comentado:

O código foi desenvolvido no intuito de que, quando fosse detectado algum movimento o LED vermelho acenderia e quando não houvesse movimento, o LED Verde acenderia.

 

Resultado:

E seguindo a linha de projetos de segurança,  não percam o próximo post – Integração do Sensor Óptico-Reflexivo TCRT 5000 e Arduino!

Quem sabe não façamos um projeto de monitoramento online (local) com todos os sensores aplicáveis à área de segurança. :O

Opniões? Dúvidas?Sugestões de projetos?Deixem nos comentários abaixo!

O mais breve responderemos!

CYA! 😀

 Iago Pereira
Estudante de Engenharia Biomédica, da Universidade Federal de Uberlândia e entusiasta do DIY (Faça você mesmo).     13659115_1230779230275274_4804806319338696218_n

Sou fã e me espelho no jeito visionário do Elon Musk e dele vem minha frase favorita:

“Fracasso é uma possibilidade por aqui. Se as coisas não estão fracassando, você não está inovando o suficiente.”

 

0.00 avg. rating (0% score) - 0 votes

Share this post

Iago Pereira

Estudante de Engenharia Biomédica, da Universidade Federal de Uberlândia e entusiasta do DIY (Faça você mesmo). Sou fã e me espelho no jeito visionário do Elon Musk e dele vem minha frase favorita: “Fracasso é uma possibilidade por aqui. Se as coisas não estão fracassando, você não está inovando o suficiente.”

1 comment

Add yours
  1. Logans 12 junho, 2017 at 23:13 Responder

    Boa noite, copiei o código e o circuito exatamente como está ai, a unica diferença é que eliminei o led verde, ou seja, sensor capta movimento, o led vermelho acende, sem movimento ele apaga, porém, após a calibração, o led fica aceso o tempo todo e não acontece nenhuma mudança se passar a mão em frente ao sensor, o que pode estar acontecendo?
    Me ajude por favor, pois estou fazendo um projeto para conclusão de curso.

    Segue o código com a pequena modificação:

    //Declaração de portas digitais aos quais os led e a entrada digital do sensor vão estar conectados.
    int ledvermelho = 7;
    int pinoSensor = 4;
    //Inicia o sensor em estado 0, ou seja desligado.
    int iniciaSensor = 0;
    //Variável para calibração do sensor
    int calibracao = 45;

    void setup() {
    Serial.begin(9600);

    //Declaração de que os LED’s serão usados como saída.
    pinMode(ledvermelho,OUTPUT);

    pinMode(pinoSensor,INPUT); //E o sensor uma entrada.
    Serial.print(“Calibrando o sensor…”);
    for(int i = 0; i < calibracao; i++){
    Serial.print(".");
    delay(1000);
    }
    Serial.println("Sensor Ativado");
    delay(500);
    }

    void loop() {
    //A cada ciclo, ele faz uma nova leitura do estado do sensor de presença
    iniciaSensor = digitalRead(pinoSensor);

    Serial.print("Valor do Sensor PIR: ");
    Serial.println(iniciaSensor);

    ////Verificando se ocorreu detecção de movimentos
    if (iniciaSensor == 1) {
    alarme_on();
    } else {
    alarme_off();
    }
    }

    void alarme_on() { //Função que ativa o alarme – Detectou presença, o LED Vermelho fica acende
    digitalWrite(ledvermelho, HIGH);

    }
    void alarme_off() { //Função que desativa o alarme – N foi detectado presença, o LED Vermelho apaga
    digitalWrite(ledvermelho, LOW);
    }

Post a new comment

Gostou? Nos ajude a espalhar a cultura da robótica por todo lugar!