Código Arduino e vídeo para o sensor ultrassônico de distância HC-SR04
Neste tutorial, vamos explorar como usar o sensor de distância ultrassônico HC-SR04 com um Arduino. O HC-SR04 é uma maneira econômica e eficaz de medir distâncias usando ondas ultrassônicas. Ao enviar um sinal e medir o tempo que o eco leva para retornar, podemos calcular com precisão a distância até um objeto.

Este projeto envolve configurar o sensor com um Arduino e escrever um programa simples para ler e exibir as medidas de distância. O programa utilizará a biblioteca NewPing para simplificar a comunicação com o sensor. Se quiser uma referência visual ou esclarecimentos adicionais sobre qualquer etapa, não deixe de conferir o vídeo (no vídeo em 00:00).
Hardware explicado
O sensor ultrassônico HC-SR04 consiste em dois componentes principais: um transmissor e um receptor. O transmissor emite pulsos ultrassônicos em uma frequência acima da faixa audível humana, enquanto o receptor escuta o eco desses pulsos depois que eles se refletem em um objeto. Ao calcular o tempo entre o envio do pulso e o recebimento do eco, podemos determinar a distância até o objeto.
O sensor possui dois pinos essenciais: o pino de disparo e o pino de eco. O pino de disparo é usado para iniciar a medição enviando um pulso curto em nível alto, enquanto o pino de eco recebe o sinal refletido e mede o tempo que leva para o eco retornar.
Detalhes da ficha técnica
| Fabricante | HC-SR04 |
|---|---|
| Número da peça | HC-SR04 |
| Tensão lógica/E/S | 5 V |
| Tensão de alimentação | 5 V |
| Corrente de saída (por canal) | 15 mA |
| Corrente de pico (por canal) | 20 mA |
| Orientação sobre a frequência PWM | Não aplicável |
| Limiares lógicos de entrada | 0.3 V (baixo), 0.7 V (alto) |
| Queda de tensão / RDS(on) / saturação | Não aplicável |
| Limites térmicos | 0°C a 70°C |
| Pacote | Módulo |
| Notas / variantes | Alcance máximo 400 cm |
- Garanta uma fonte de alimentação adequada (5 V).
- Mantenha o sensor limpo para leituras precisas.
- Use o pino de disparo para iniciar as medições.
- Não exceda a distância máxima para resultados confiáveis.
- Mantenha um caminho desobstruído para que as ondas ultrassônicas possam ser refletidas de volta.
- Use capacitores de desacoplamento próximos aos pinos de alimentação.
- Tenha cuidado com o ruído ambiente que pode interferir nas leituras.
- Teste diferentes distâncias para se familiarizar com o sensor.
Instruções de fiação


Para ligar o sensor ultrassônico HC-SR04 ao seu Arduino, siga estes passos:
- Conecte o
VCCpino do HC-SR04 para o pino 5V do Arduino. - Conecte o
GNDpino do HC-SR04 para um pino de terra no Arduino. - Conecte o
TRIGpino do HC-SR04 (que normalmente é azul) ao pino digital 12 no Arduino. - Conecte o
ECHOpino do HC-SR04 (que geralmente é verde) ao pino digital 11 no Arduino.
Certifique-se de que as conexões estejam seguras para evitar quaisquer leituras intermitentes. Se estiver usando uma configuração diferente ou tiver fiação alternativa, consulte o vídeo para orientação adicional (no vídeo em 00:00).
Exemplos de Código e Guia Passo a Passo
O código a seguir inicializa a biblioteca NewPing e configura os pinos para o sensor HC-SR04. Os principais componentes incluem definir os pinos de trigger e echo, bem como a distância máxima.
#define TRIGGER_PIN 12 // Trigger pin
#define ECHO_PIN 11 // Echo pin
#define MAX_DISTANCE 200 // Max distance in cm
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Set up NewPingNeste excerto, oTRIGGER_PINeECHO_PINestão configurados para os pinos digitais 12 e 11, respectivamente. OMAX_DISTANCEé definido como 200 cm, que é a distância máxima que você está interessado em medir.
A seguir, temos a função setup, onde o monitor serial é inicializado para exibir os resultados:
void setup() {
Serial.begin(115200); // Initialize serial monitor
}Este código abre a comunicação serial a uma taxa de 115200 baud, permitindo-nos ver as medições de distância no monitor serial.
Finalmente, a função loop mede a distância e verifica se é menor ou igual a 12 cm:
void loop() {
delay(50); // Wait between pings
int distance = sonar.ping_cm(); // Measure distance
if(distance <=12){ // Check distance
Serial.println("Very close"); // Print if very close
}
}Noloop(), introduzimos um atraso de 50 milissegundos para controlar a frequência das medições. A distância é medida e, se for menor ou igual a 12 cm, é impresso "Muito perto" no monitor serial.
Para o código completo, por favor consulte a seção de carregamento abaixo do artigo.
Demonstração / O que esperar
Quando você executar o programa, o Arduino medirá continuamente a distância até o objeto mais próximo. Ele deve imprimir a distância em centímetros e notificá-lo com "Muito perto" quando um objeto for detectado dentro de 12 cm. Se o objeto estiver muito próximo, você pode obter leituras imprecisas ou nenhuma leitura, como mostrado no vídeo (no vídeo, aos 10:00).
Certifique-se de que o sensor está posicionado corretamente e de que não há obstáculos bloqueando as ondas ultrassônicas. Se tudo estiver configurado corretamente, você deverá ver medições consistentes exibidas no monitor serial.
Marcas de tempo do vídeo
- 00:00- Introdução ao HC-SR04
- 01:30- Ligação do sensor
- 03:00- Visão geral do código
- 05:00- Executando o programa
- 07:30- Medindo distâncias
Coisas que você pode precisar
-
eBay
-
BanggoodPurchase HC-SR04 Ultrasonic Sensor from Banggoodbanggood.com
Recursos e referências
-
ExternoBiblioteca Ultrassônica HC-SR04 do site oficial do Arduinoplayground.arduino.cc
Arquivos📁
Nenhum arquivo disponível.