Aprenda a utilizar o Sensor de Distância Ultrassônico HC-SR04 com Arduino

sensor-ultrassonico
Font Size

Nosso post de hoje é sobre a utilização do sensor ultrassônico HC-SR04, o sensor ultrassônico mais utilizado pela comunidade maker devido ao seu baixo custo, eficiência e disponibilidade de documentação. Nesse post falaremos sobre o funcionamento teórico do sensor de ultrassom e para finalizar, faremos a integração do sensor com o Arduino Uno. Então, está preparado? Mãos à obra!

Como funciona o sensor ultrassônico?

Os sensores ultrassônicos possuem um emissor e um receptor de ondas sonoras, onde seu funcionamento baseia-se na emissão de uma onda sonora de alta frequência, algo na faixa de 40khz, essa onda sonora é imperceptível ao ouvido humano, nós conseguimos perceber sons na faixa de 20 a 20khz variando de indivíduo para indivíduo.

Ao emitir essa onda sonora, é acionado uma espécie de relógio de alta precisão que cronometra o tempo entre a onda sonora colidir com um obstáculo e refletir de volta ao receptor do sensor. Uma vez que a velocidade do som no ar é conhecida(340 m/s), é possível, através do tempo que o sinal levou para colidir com o obstáculo e retornar, saber qual a distância percorrida entre sensor e obstáculo.

O cálculo para chegar até essa distância é bem simples, sendo ele:

d = (V*t)/2

onde:

d = distância percorrida entre o sensor e o obstáculo (medição que queremos saber)

V = velocidade do som no ar (340 m/s)

t = tempo percorrido entre a emissão do sinal sonoro e o seu retorno (tempo medido pelo sensor ultrassônico)

A divisão por 2 deve existir, uma vez que, o sensor mede o tempo total de ida e volta, ou seja, duas vezes o tempo que queremos.

Temos abaixo uma imagem que ilustra bem o funcionamento do sensor ultrassônico.

Figura 01: Princípio de funcionamento do sensor ultrassônico

Fonte: tecnologiasinterativas.wordpress.com

Quais as aplicações dos sensores ultrassônicos?

Os sensores ultrassônicos são vastamente utilizados em diversas áreas, principalmente na automação e na indústria, uma vez que ele é muito utilizado na medição de distâncias e níveis sem contato, na contagem de objetos cujo material é transparente, entre outros. Além das áreas de indústria e automação, o uso do sensor ultrassônico vêm nos últimos anos ganhando força na área da robótica, esse tipo de sensor é o mais utilizado na construção de robôs que desviam de obstáculos.

Figura 02: Robô utilizando sensor ultrassônico

Fonte: www.botmag.com

Conhecendo o sensor ultrassônico HC-SR04

O sensor ultrassônico HC-SR04 possui 4 pinos, são eles:

Outras informações técnicas do HC-SR04 podem ser verificadas em seu datasheet, clicando em datasheet-hc-sr04 .

Em relação à sua faixa de medição, o HC-SR04 mede distâncias de 2 a 4m, essa faixa pode variar de sensor para sensor. É importante ressaltar que caso o obstáculo a frente do sensor seja muito pequeno ou não esteja a frente do sensor, pode ocorrer do sensor não detectar esse obstáculo.

Funcionamento do sensor HC-SR04

Aplicando o funcionamento básico de um sensor ultrassônico, o HC-SR04 envia sinais ultrassônicos e aguarda o echo, ou seja, o retorno do sinal. Primeiramente ele envia um sinal com duração de 10us indicando o início da transmissão de dados e logo depois envia 8 pulsos de 40khz, após esse envio, o sensor fica aguardando o retorno do sinal em nível alto(HIGH) para então calcular a distância entre o sensor e o obstáculo utilizando a equação antes mencionada d = (V*t)/2.

Aplicação do sensor ultrassônico com Arduino

Agora que nós já conhecemos como funciona um sensor ultrassônico e sobre o sensor HC-SR04, nós podemos desenvolver uma aplicação básica integrado o sensor ao Arduino, vamos lá!

Material Necessário

01x Arduino Uno R3 Compatível + Cabo Usb

01x Sensor de Distância Ultrassônico HC-SR04

01x Protoboard 400 Pontos

04x Jumpers MxM

 

Montagem do Circuito

Figura 03: Ligações do arduino com sensor ultrassônico

Fonte: Próprio Autor

Código

Inicialmente, você deve baixar a biblioteca Ultrasonic.h, essa biblioteca está disponível para download clicando aqui, após realizar o download da biblioteca, você deve descompactar o arquivo e adicionar à pasta libraries da IDE Arduino. Após instalar a biblioteca Ultrasonic.h, você irá criar um novo sketch e utilizará o código abaixo.

#include <Ultrasonic.h> //Inclui a biblioteca Ultrasonic.h
#define trigger  5 // Definição do pino digital 5 para o sinal de trigger
#define echo 6 // Definição do pino digital 6 para o sinal echo
 
 
Ultrasonic ultrasonic(trigger, echo); //Inicializa o sensor nos pinos definidos
 
void setup()
{
  Serial.begin(9600);
  Serial.println("Começando a leitura de dados do sensor...");
}
 
void loop()
{
  //Leitura de informações do sensor em cm
  float cmMsec;
  long microsec = ultrasonic.timing();
  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
  Serial.print("Distância em cm: ");
  Serial.print(cmMsec);
  delay(1000);
}

 

Opcionalmente, você também pode inserir a leitura das informações do sensor em polegadas, optamos por demonstrar apenas as medidas em cm, uma vez que essa é a unidade de medida mais usual no Brasil.

Resultados

Temos na figura 04 os dados exibidos no monitor serial, os dados mostrados são as distâncias de determinado objeto sendo aproximado ou afastado do sensor ultrasônico.

Figura 04: Monitor serial mostrando os dados recebidos do sensor

Fonte: Próprio Autor

Conclusão

O sensor ultrassônico HC-SR04 é um sensor que lhe permite utilizá-lo em várias aplicações por um baixo custo sem pecar pela ineficiência, sua programação é simples, possui uma vasta documentação na internet, o que faz dele o sensor ultrassônico mais querido do mundo maker, com certeza este sensor lhe proporcionará uma infinidade de possibilidades. No tutorial aqui apresentado, nós pudemos ver a sua eficiência e a gama de aplicações em que ele pode ser inserido.

E aí, galera? Curtiram? Não deixe de nos dar o feedback sobre o que você achou, seu feedback é muito importante para nós! Sugiro que você dê uma olhada no nosso post de uma régua eletrônica onde o sensor hc-sr04 é utilizado, basta você clicar aqui! Não deixe de nos acompanhar nas redes sociais, te espero lá!

Posts relacionados

Mostrando Imagens no Display Nokia

por Danilo Nogueira
4 anos ago

Como utilizar Display Nokia 5110 com Arduino?

por Danilo Nogueira
5 anos ago

Como Construir um Robô de Resgate Competitivo – Parte 1: Introdução

por autocore
6 anos ago
Sair da versão mobile