Código Arduino e vídeo para um módulo sensor de movimento HC-SR505 com relé
Neste tutorial, construiremos um sistema de detecção de movimento usando o sensor de movimento HC-SR505 e um módulo relé. Esta configuração permitirá que você ligue dispositivos como luzes ou buzinas quando for detectado movimento. O relé atua como um interruptor para controlar com segurança dispositivos de alta tensão. Ao final deste guia, você terá uma configuração funcional de sensor de movimento que pode ativar vários aparelhos com base na detecção de movimento. Para uma compreensão mais clara, certifique-se de verificar o vídeo associado (no vídeo em 0:00).

Hardware Explicado
Os principais componentes deste projeto incluem o sensor de movimento HC-SR505, um módulo relé e uma placa Arduino. O HC-SR505 é um sensor de infravermelho passivo (PIR) que detecta movimento ao perceber mudanças na radiação infravermelha. Ele funciona medindo o calor emitido pelos objetos em seu campo de visão. Quando um objeto em movimento é detectado, o sensor envia um sinal para a placa Arduino.
O módulo de relé é usado para controlar um dispositivo de alta tensão, como uma lâmpada. Ele funciona como um interruptor acionado eletricamente, permitindo que o Arduino ligue ou desligue o dispositivo com segurança. O relé possui duas configurações principais: normalmente aberto (NO) e normalmente fechado (NC), que determinam o estado padrão quando o relé não está ativado.
Detalhes da ficha técnica
| Fabricante | HC-SR505 |
|---|---|
| Número da peça | HC-SR505 |
| Tensão lógica/IO | 3.3V - 20V |
| Tensão de alimentação | 5V |
| Corrente de saída (por canal) | 20 mA |
| Corrente de pico (por canal) | 100 mA |
| Orientação sobre a frequência PWM | Não aplicável |
| Limiares da lógica de entrada | 0,3 V (baixo) / 2,5 V (alto) |
| Queda de tensão / RDS(on)/ saturação | 0.2V |
| Limites térmicos | +70 °C |
| Pacote | Módulo |
| Notas / variantes | Formato compacto; baixo consumo de energia |
- Garanta dissipação de calor adequada para cargas de alta corrente.
- Use capacitores de desacoplamento para uma fonte de alimentação estável.
- Tenha cuidado com conexões de alta tensão; garanta a segurança.
- Teste o sensor com saídas simples antes de conectar aos relés.
- Verifique a orientação do sensor PIR para uma detecção ideal.
Instruções de fiação

Para ligar o sensor de movimento HC-SR505, primeiro conecte o pino de alimentação (identificado como +) à saída 5V do seu Arduino. Em seguida, conecte o pino terra (identificado como -) a um dos pinos de terra do Arduino. O pino de sinal (pino do meio) deve ser conectado ao pino digital 2 do Arduino.
Para o módulo de relé, conecte o pino VCC à saída de 5V do Arduino e o pino de terra ao GND do Arduino. O pino de entrada do relé deve ser conectado ao pino digital 9 do Arduino. Por fim, conecte o terminal positivo do buzzer ao pino digital 8 e o terminal negativo ao GND. Certifique-se de conectar corretamente os pinos comum (COM) e normalmente aberto (NO) do relé para controlar seu dispositivo.
Exemplos de Código e Passo a Passo
O código deste projeto inicializa os pinos do sensor, do buzzer e do relé. Ele usa odigitalRead()Função para verificar movimento e responder de acordo. Abaixo está um trecho da função setup:
void setup() {
Serial.begin(9600); // setup Serial Monitor
pinMode(PIR, INPUT_PULLUP); // define pin as Input for sensor
pinMode(BUZZER, OUTPUT); // define pin as OUTPUT for buzzer
pinMode(RELAY, OUTPUT); // define pin as OUTPUT for relay
}
Neste trecho, os pinos são configurados para o modo de entrada ou de saída. OSerial.begin(9600)inicializa a comunicação serial para depuração.
O loop principal verifica se há movimento e aciona o buzzer e o relé quando o movimento é detectado. Aqui está um trecho focado da função loop:

void loop() {
int motion = digitalRead(PIR); // read the sensor
if(motion) {
Serial.println("Motion detected");
digitalWrite(BUZZER, HIGH); // turn the buzzer ON
digitalWrite(RELAY, LOW); // turn the relay ON
} else {
Serial.println("===nothing moves");
digitalWrite(BUZZER, LOW); // keep the buzzer OFF
digitalWrite(RELAY, HIGH); // turn the relay OFF
}
delay(500);
}
Este trecho lê o estado do sensor PIR e ativa ou desativa o buzzer e o relé com base no movimento detectado. O atraso de 500 milissegundos garante que o loop verifique o sensor em um intervalo razoável.
Demonstração / O que Esperar
Quando for detectado movimento, a luz conectada ao relé acenderá e o buzzer soará. Se nenhum movimento for detectado, o relé desligará a luz e o buzzer ficará silencioso. Esteja ciente de que o HC-SR505 tem um atraso incorporado que mantém a saída ativa por um curto período após a detecção de movimento (até 8 segundos), o qual não pode ser ajustado (no vídeo aos 5:30).
Marcações de tempo do vídeo
- 00:00- Introdução ao projeto
- 01:30- Explicação dos componentes
- 03:15- Instruções de fiação
- 05:30- Revisão do código
- 07:00- Demonstração da configuração
Coisas que você pode precisar
-
Amazonas
-
AmazonasCompre o Relay Shield na Amazonamzn.to
-
AliExpressComprar módulo de relé de canal 5v 12v 1 2 4 6 8 canaiss.click.aliexpress.com
Recursos e referências
Ainda não há recursos.
Arquivos📁
Arquivo Fritzing
-
Módulo de Sensor de Corpo HC-SR501
HC-SR501 Body Sensor Module.fzpz0.01 MB