Como funciona o sensor PIR e como usá-lo com o Arduino
Neste tutorial do Arduino vamos aprender como funciona um sensor PIR e como usá-lo com a placa Arduino para detectar movimento. Você pode assistir ao vídeo a seguir ou ler o tutorial escrito abaixo.
Como funciona
Primeiro vamos explicar o princípio de funcionamento. O módulo na verdade consiste em um sensor piroelétrico que gera energia quando exposto ao calor.

Isso significa que quando um corpo humano ou animal entrar no alcance do sensor, ele detectará um movimento porque o corpo humano ou animal emite energia térmica na forma de radiação infravermelha. É daí que vem o nome do sensor, um sensor infravermelho passivo. E o termo “passivo” significa que o sensor não está usando nenhuma energia para fins de detecção, apenas funciona detectando a energia emitida pelos outros objetos.

O módulo também consiste em uma tampa especialmente projetada chamada lente Fresnel, que focaliza os sinais infravermelhos no sensor piroelétrico.

Módulo de sensor PIR HC-SR501
O módulo tem apenas três pinos, um terra e um VCC para alimentar o módulo e um pino de saída que fornece alto nível lógico se um objeto for detectado. Também tem dois potenciômetros. Um para ajustar a sensibilidade do sensor e outro para ajustar o tempo que o sinal de saída permanece alto quando o objeto é detectado. Este tempo pode ser ajustado de 0,3 segundos até 5 minutos.

O módulo tem mais três pinos com um jumper entre dois deles. Esses pinos são para selecionar os modos de disparo. O primeiro é chamado de “gatilho não repetível” e funciona assim:quando a saída do sensor estiver alta e o tempo de atraso terminar, a saída mudará automaticamente de nível alto para baixo. O outro modo chamado “gatilho repetível” manterá a saída alta o tempo todo até que o objeto detectado esteja presente no alcance do sensor.
Componentes necessários para este tutorial
Você pode obter os componentes em qualquer um dos sites abaixo:
- Módulo de sensor PIR HC-SR501……..
- Módulo de relé de 5V………………………….
- Placa Arduino ………………………………
- Breadboard e jump wires ………
- Cabo, plugue, soquete
Esquema do circuito
Como exemplo para este tutorial vou fazer um circuito que acenderá uma lâmpada de alta tensão quando o sensor detectar um objeto. Aqui está o esquema do circuito. O pino de saída do sensor será conectado ao pino número 8 da placa Arduino e quando um objeto for detectado o pino número 7 ativará o módulo do relé e a lâmpada de alta tensão acenderá.

Para mais detalhes sobre como o módulo de relé funciona, você pode verificar meu tutorial de relé do Arduino. (Lembre-se de que usamos alta tensão no exemplo, portanto, você deve ter muito cuidado, porque não assumo nenhuma responsabilidade por suas ações)
Código-fonte
Aqui está o código Arduino para este exemplo. É bem simples. Só precisamos definir o pino do sensor PIR como entrada e o pino do relé como saída. Usando a função digitalRead() vamos ler a saída do sensor e se estiver alto ou se um objeto for detectado, ele ativará o relé. Para ativar o módulo de relé enviaremos uma lógica baixa, pois o pino de entrada do relé funciona inversamente.
/* Arduini PIR Motion Sensor Tutorial
*
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
*/
int pirSensor = 8;
int relayInput = 7;
void setup() {
pinMode(pirSensor, INPUT);
pinMode(relayInput, OUTPUT);
}
void loop() {
int sensorValue = digitalRead(pirSensor);
if (sensorValue == 1) {
digitalWrite(relayInput, LOW); // The Relay Input works Inversly
}
}
Code language: Arduino (arduino)
A demonstração do exemplo pode ser vista no final do vídeo anexado acima. Observe que depois de ligar o módulo do sensor, ele precisa de cerca de 20 a 60 segundos para “aquecer” para funcionar corretamente. Agora, quando você colocar a mão na frente do sensor, o relé ativará a lâmpada. Mas observe que, mesmo que você mova a mão constantemente, a lâmpada será desligada após o término do tempo de atraso ajustado porque o sensor PIR está no modo "gatilho não repetível". Se você mudar o sensor com o jumper para o modo “gatilho repetível” e mover constantemente a mão, a lâmpada também ficará constantemente acesa e desligará depois que o movimento terminar e o tempo de atraso definido terminar.
Processo de manufatura
- Circuito do sensor PIR e módulo de trabalho
- C# Queue com Exemplos:O que é C# Queue e como usar?
- Sensor DHT11 com LEDs e um alto-falante Piezo
- Como fazer a interface do Arduino Mega com o Módulo GPS NEO-6M
- u-blox LEA-6H 02 Módulo GPS com Arduino e Python
- Como ler a temperatura e umidade em Blynk com DHT11
- Quão fácil é usar um termistor ?!
- Como usar NMEA-0183 com Arduino
- Como usar o Modbus com Arduino
- Detecção de movimentos e gestos fáceis por sensor PIR e Arduino