Código Arduino e vídeo para o sensor de movimento HC-SR501
Neste tutorial, vamos explorar o sensor de movimento HC-SR501, projetado para detectar movimento por meio de tecnologia infravermelha. O sensor pode acionar uma saída, permitindo que você controle dispositivos como LEDs ou alarmes com base na detecção de movimento. Ao final deste tutorial, você terá uma compreensão clara de como ligar o sensor e implementar o código Arduino para fazê-lo funcionar de forma eficaz. (no vídeo em 00:45)

Hardware Explicado
O sensor de movimento HC-SR501 é um módulo compacto, medindo 32 por 24 milímetros, capaz de operar numa faixa de tensão de 5 a 20 volts. Em seu núcleo encontra-se o sensor infravermelho LHI 778, que detecta movimento ao perceber variações na radiação infravermelha. Isso o torna adequado para várias aplicações, incluindo sistemas de segurança e projetos robóticos.
Este módulo possui três pinos principais:VCCpor poder,GNDpara o solo, eOUTpara o sinal de saída. Quando o movimento é detectado, oOUTo pino envia um sinal alto (3,3 volts TTL), que pode ser usado para acionar alarmes ou outros dispositivos. O sensor também possui ajustes de sensibilidade e de tempo de atraso, permitindo que você personalize seu funcionamento de acordo com suas necessidades específicas.
Detalhes da ficha técnica
| Fabricante | HC-SR501 |
|---|---|
| Número da peça | HC-SR501 |
| Tensão lógica/IO | 3.3 V |
| Tensão de alimentação | 5-20 V |
| Corrente de saída (por canal) | ≤ 20 mA |
| Corrente de pico (por canal) | ≤ 50 mA |
| Orientação sobre a frequência PWM | Não aplicável |
| Limiares de lógica de entrada | 0.8 V (BAIXO), 2.0 V (ALTO) |
| Queda de tensão / RDS(on)/ saturação | 0.1 V |
| Limites térmicos | 0 °C a 70 °C |
| Pacote | Módulo |
| Notas / variantes | Sensibilidade e atraso ajustáveis |
- Certifique-se de que a tensão da fonte de alimentação está correta (5-20 V).
- Use um resistor em série com os LEDs para limitar a corrente.
- Ajuste o potenciômetro de sensibilidade para a faixa de detecção.
- Ajuste o tempo de atraso para controlar quanto tempo a saída permanece em nível alto.
- Tenha cuidado com entradas flutuantes; utilize resistores pull-up ou pull-down conforme necessário.
Instruções de fiação

Para ligar o sensor de movimento HC-SR501, comece conectando oVCCConecte o pino à saída de 5V do Arduino. Em seguida, conecte oGNDpino ao terra (GND) no Arduino. OOUTO pino deve ser conectado ao pino digital 2 do Arduino, que lerá o sinal de detecção de movimento.
Se você estiver usando um LED para feedback visual, conecte o ânodo (pino longo) do LED ao pino digital 8 do Arduino. O cátodo (pino curto) deve ser conectado a um terminal de um resistor de 680 ohms, com o outro terminal do resistor ligado ao terra. Essa configuração permite que o Arduino controle o LED com base na detecção de movimento.
Exemplos de Código e Passo a Passo
O código Arduino para esta configuração inicializa o monitor serial e configura os pinos de entrada e saída. Os identificadores principais no código incluemmotion, que armazena o estado do sensor de movimento, e os pinos digitais usados para ler a entrada e controlar o LED.
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
pinMode(2, INPUT);// Input from sensor
pinMode(8, OUTPUT);// OUTPUT to alarm or LED
}Neste trecho, osetup()A função inicializa a comunicação serial e define os modos dos pinos para o sensor e o LED. O pino 2 é configurado como entrada para ler a saída do sensor de movimento, enquanto o pino 8 é configurado como saída para controlar o LED.
void loop() {
int motion = digitalRead(2);
if(motion){
Serial.println("Motion detected");
digitalWrite(8, HIGH);
}else{
Serial.println("===nothing moves");
digitalWrite(8, LOW);
}
delay(500);
}Este trecho de código representa o loop principal, onde o programa verifica continuamente o estado do sensor de movimento. Se for detectado movimento, ele imprime "Movimento detectado" no monitor serial e acende o LED. Se nenhum movimento for detectado, ele imprime "===nada se move" e apaga o LED.
Demonstração / O que esperar
Quando a configuração estiver completa e o código for carregado no Arduino, você deve esperar que o LED acenda quando o sensor HC-SR501 detectar movimento. Além disso, o monitor serial exibirá mensagens indicando se o movimento foi detectado ou não. Se você ajustar as configurações de sensibilidade e de atraso no sensor, poderá notar mudanças na rapidez com que o sensor responde ao movimento (no vídeo aos 05:30).
Erros comuns incluem fiação incorreta, como inverter as conexões paraVCCeGND, o que poderia danificar o sensor. Certifique-se de que o pino de saída do sensor esteja corretamente conectado ao pino de entrada designado no Arduino para evitar entradas flutuantes.
Marcas de tempo do vídeo
- 00:00Introdução
- 00:45Visão geral do hardware
- 02:30Instruções de fiação
- 04:00Explicação do código
- 05:30Demonstração
Recursos e referências
Ainda não há recursos.
Arquivos📁
Nenhum arquivo disponível.