Como usar sensor de presença PIR HC-SR501 com Arduino
Share
Para usar o sensor de presença PIR HC-SR501 com Arduino, ligue VCC em 5V, GND no GND e OUT em um pino digital de entrada. Quando o sensor detecta movimento, a saída muda de estado e o Arduino pode acender um LED, tocar um buzzer, acionar um relé ou registrar um evento.
O PIR HC-SR501 é um dos módulos mais úteis para quem está aprendendo automação com Arduino. Ele aparece em projetos de luz automática, alarme simples, contador de passagem, maquetes de casa inteligente e protótipos de segurança maker.
O que é o sensor PIR HC-SR501?
O Sensor de Presença PIR HC-SR501 é um módulo que detecta variações de radiação infravermelha no ambiente. Na prática, ele percebe movimento de pessoas, animais ou objetos quentes passando pelo campo de detecção.
- Função principal: detectar movimento ou presença em uma área.
- Tipo de saída: digital, normalmente HIGH quando detecta movimento.
- Uso comum: iluminação automática, alarme, automação residencial e IoT.
- Controle físico: potenciômetros para ajustar sensibilidade e tempo de disparo.
Como ligar o PIR HC-SR501 no Arduino
A ligação é mais simples do que a de sensores de distância, porque o PIR entrega um sinal digital pronto. Para montar em bancada, use uma placa como o Arduino Uno R3 SMD, uma protoboard e jumpers macho-macho.
| Pino do PIR HC-SR501 | Ligar no Arduino | Função |
|---|---|---|
| VCC | 5V | Alimentação do sensor |
| GND | GND | Referência elétrica comum |
| OUT | Pino digital 2 | Sinal de detecção de movimento |
Antes de concluir que o sensor não funcionou, aguarde o tempo de estabilização inicial. Muitos módulos PIR precisam de alguns segundos após energizar para calibrar o ambiente.
Código Arduino para sensor de presença PIR
O exemplo abaixo lê a saída do PIR no pino 2 e acende um LED no pino 13 quando há movimento. Ele também mostra a mensagem no Monitor Serial.
const int pinoPIR = 2;
const int pinoLED = 13;
void setup() {
pinMode(pinoPIR, INPUT);
pinMode(pinoLED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int movimento = digitalRead(pinoPIR);
if (movimento == HIGH) {
digitalWrite(pinoLED, HIGH);
Serial.println("Movimento detectado");
} else {
digitalWrite(pinoLED, LOW);
Serial.println("Sem movimento");
}
delay(300);
}
Como ajustar sensibilidade e tempo no HC-SR501
O HC-SR501 normalmente possui dois potenciômetros. Um ajusta a sensibilidade, ou seja, a área/faixa de detecção. O outro ajusta o tempo em que a saída permanece acionada após detectar movimento.
| Ajuste | O que muda | Quando mexer |
|---|---|---|
| Sensibilidade | Alcance e facilidade de disparo | Quando detecta pouco ou dispara demais |
| Tempo | Duração do sinal HIGH após movimento | Quando LED, buzzer ou relé ficam ligados por tempo inadequado |
| Jumper de modo | Comportamento de repetição do disparo | Quando o módulo permite modo repetível ou não repetível |
Faça ajustes pequenos e teste caminhando em frente ao sensor. Em automação, o melhor ajuste não é necessariamente o máximo; é o ponto em que o sensor detecta bem sem gerar disparos indesejados.
Projetos com sensor PIR e Arduino
Depois que o Arduino detecta movimento, você pode ligar a leitura do PIR a vários atuadores e módulos. O sensor combina muito bem com LED, buzzer, relé, display, ESP32 e módulos de comunicação.
- Luz automática: acende LED, fita ou luminária quando há movimento.
- Alarme maker: toca buzzer quando alguém passa na frente do sensor.
- Automação residencial: usa movimento para acionar um módulo relé com segurança no projeto.
- IoT com ESP32: envia alerta por Wi-Fi quando a presença é detectada.
- Contador de passagem: registra eventos em uma entrada, corredor ou maquete.
PIR com Arduino ou ESP32?
Com Arduino, o PIR é ótimo para aprender entrada digital e automação local. Com ESP32, ele fica ainda mais interessante para IoT, porque a detecção pode virar notificação, dashboard, registro em nuvem ou integração com sistemas de casa inteligente.
| Placa | Melhor uso com PIR | Cuidado principal |
|---|---|---|
| Arduino Uno | Aprender presença, LED, buzzer e relé | Montagem correta em 5V e GND comum |
| Arduino Nano | Projetos compactos de alarme e luz automática | Organizar alimentação e cabos |
| ESP32 | Presença conectada por Wi-Fi | Conferir nível lógico e alimentação do módulo |
Erros comuns com sensor PIR HC-SR501
- Testar logo após ligar: o sensor pode precisar estabilizar antes da primeira leitura confiável.
- Apontar para janela ou fonte de calor: sol, vento quente e mudanças térmicas podem causar disparos falsos.
- Confundir presença com distância: PIR detecta movimento, mas não mede centímetros como o HC-SR04.
- Ajustar sensibilidade no máximo: isso pode aumentar disparos indesejados.
- Acionar carga diretamente: motores, lâmpadas e cargas maiores precisam de módulo apropriado, como relé ou transistor.
Como escolher peças para o projeto
Para um primeiro teste, o básico resolve: PIR HC-SR501, Arduino, protoboard, jumpers, LED e resistor. Para evoluir, adicione buzzer, relé, fonte adequada e, se quiser internet, uma placa ESP32.
| Objetivo | Peças úteis | Categoria |
|---|---|---|
| Teste inicial | PIR, Arduino, LED, resistor e jumpers | Sensores e prototipagem |
| Alarme sonoro | PIR, buzzer e Arduino | Sensores e componentes |
| Luz automática | PIR, relé, fonte e cuidado com carga | Automação |
| Projeto conectado | PIR, ESP32 e Wi-Fi | IoT |
Para estudar vários sensores em sequência, o Kit 7 Sensores para Arduino e ESP32 ajuda a comparar presença, distância, temperatura, luz e gás na mesma bancada.
Perguntas Frequentes (FAQ)
- Como ligar o sensor PIR HC-SR501 no Arduino?
- Ligue VCC no 5V, GND no GND e OUT em um pino digital, como o pino 2. Depois leia esse pino com digitalRead no código.
- O PIR HC-SR501 mede distância?
- Não. O PIR detecta movimento por variação de infravermelho. Para medir distância em centímetros, use um sensor como o HC-SR04.
- Por que o sensor PIR dispara sozinho?
- Disparos falsos podem ocorrer por calor, sol, vento, janela, ajuste alto de sensibilidade ou falta de estabilização após ligar o módulo.
- Posso usar sensor PIR HC-SR501 com ESP32?
- Sim. O PIR pode ser usado com ESP32, mas é importante conferir alimentação, GND comum e nível lógico do sinal de saída do módulo.
Quer montar uma automação com presença?