Código Arduino e vídeo para o sensor ultrassônico de distância HC-SR04

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.

How HC-SR04 ulrasonic sensor work

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

FabricanteHC-SR04
Número da peçaHC-SR04
Tensão lógica/E/S5 V
Tensão de alimentação5 V
Corrente de saída (por canal)15 mA
Corrente de pico (por canal)20 mA
Orientação sobre a frequência PWMNão aplicável
Limiares lógicos de entrada0.3 V (baixo), 0.7 V (alto)
Queda de tensão / RDS(on) / saturaçãoNão aplicável
Limites térmicos0°C a 70°C
PacoteMódulo
Notas / variantesAlcance 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

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor

Para ligar o sensor ultrassônico HC-SR04 ao seu Arduino, siga estes passos:

  • Conecte oVCCpino do HC-SR04 para o pino 5V do Arduino.
  • Conecte oGNDpino do HC-SR04 para um pino de terra no Arduino.
  • Conecte oTRIGpino do HC-SR04 (que normalmente é azul) ao pino digital 12 no Arduino.
  • Conecte oECHOpino 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 NewPing

Neste 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

Imagens

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
How HC-SR04 ulrasonic sensor work
How HC-SR04 ulrasonic sensor work
42-This is the Arduino code for the HC-SR04 ultrasonic distance sensor.
Idioma: C++
Copiado!

Coisas que você pode precisar

Recursos e referências

Arquivos📁

Nenhum arquivo disponível.