COMO MEDIR DISTÂNCIAS COM SENSOR ULTRASSÔNICO – (HC-SR04) E ARDUINO

Sensor Ultrassônico HC-SR04

 
Sensor Ultrassônico HC-SR04 é um módulo que se faz necessário em alguns projetos, (em nosso caso) utilizando o Arduino quando necessitamos: medir, calcular determinadas distâncias em qualquer escala de medida, seja em metros, centímetros, polegadas, etc (até 4m máx), e permite que a gente realize leituras de distâncias entre 3 cm (distância menor que 3cm gera alguns bugs, erros na leitura do sensor) a 4 metros, com precisão de 3mm.  😯 

 

HC-SR04 pode ser utilizado simplesmente para medir a distância entre o sensor e um objeto, assim como, pode ser utilizado para acionar portas do microcontrolador, desviar um robô de barreiras, acionar luzes, acionar alarmes, acionar outros circuitos, etc enfim, as possibilidades são infinitas!  💡 

 

Ideia do funcionamento do sensor HC-SR04

O princípio de funcionamento do sensor ultrassônico (HC-SR04 >> datasheet) é completamente baseado na seguinte sistemática: o transmissor (Tx) do sensor envia sinais ultrassônicos, e neste momento o receptor (Rx) do sensor fica no estado de “alerta” esperando receber o sinal de retorno, que na verdade é o próprio sinal de (echo), e com base no tempo entre o envio do sinal e o retorno do mesmo, então é calculada a distância entre o sensor e o objeto detectado (o objeto que serviu como obstáculo para os sinais de ultra-som baterem e voltarem).  🙂 

 

Princípio de Funcionamento Sensor HC-SR04

Princípio de Funcionamento Sensor HC-SR04

 

Primeiramente o sensor envia um pulso de 10µs, o que indica o início da transmissão. Depois disso, são enviados 8 pulsos de 40 KHz e neste momento o sensor passa então a aguardar o retorno do sinal ultrassônico enviado (em nível alto – 1), para podermos depois de receber o sinal de retorno (echo), utilizar nosso código (sketch) para determinar a distância entre o sensor e o objeto (obstáculo). Veja a imagem ilustrativa abaixo para melhor ideia do funcionamento do sensor HC-SR04:

Sensor HC-SR04 em Funcionamento

Sensor HC-SR04 em Funcionamento

Para conseguirmos realizar a conexão entre o sensor e o nosso Arduino, serão utilizados os 4 pinos do sensor, que são respectivamente: VCC, TRIGGER, ECHO e GND.

Pinagem HC-SR04

 

COMO INTERLIGAR O MÓDULO SENSOR HC-SR04 A NOSSA PLACA ARDUINO:

Para conectar o módulo HC-SR04 a nossa placa Arduino, nosso código (sketch) irá utilizar, além dos pinos de alimentação, os pinos digitais 4 para o Trigger, e para o Echo, mas lembrando que poderíamos utilizar quaisquer outros pinos digitais do Arduino (PWM). A alimentação do circuito será realizada pelo pino 5V da placa Arduino:

Conectando Arduino UNO com Sensor Ultrassônico HC-SR04.

 

Nosso código utiliza uma biblioteca externa chamada Ultrasonic, que você pode baixar aqui.
Descompacte a pasta Ultrasonic e coloque-a dentro da pasta LIBRARIES da IDE do Arduino.

Copie e Cole o código abaixo no editor da sua IDE Arduino e Compile:

Nosso código acima mostra, que todo o cálculo matemático é feito por meio da biblioteca Ultrasonic. O sensor HC-SR04 é inicializado através dos pinos de TRIGGER e ECHO, e então efetua-se a leitura do receptor do sensor, atribuindo à variável cmMsec o valor da distância em centímetros. Um adendo nisto tudo pessoal, é que, como os resultados já são representados no monitor serial em “cm“, eu decidi retirar qualquer casa decimal do valor apresentado! Isso porque não vejo razão de mostrar por exemplo: 32,13 centímetros, pois para o tipo de projeto que pretendo utilizar esse “módulo”, este “circuito de sensor ultrassônico”, obter uma leitura de 32 centímetros já está satisfatório. A linha do código que realizo esse feito que descrevi é a linha:

A leitura do receptor do sensor é colocada a mostra via Monitor Serial da IDE Arduino. Veja figura ilustrativa abaixo:

Leitura “calculada” e “impressa” no Monitor Serial da IDE Arduino

 

UM PEQUENO VIDEO DE DEMONSTRAÇÃO:

 

CURIOSIDADES SOBRE O SENSOR ULTRASSÔNICO – HC-SR04:

A corrente elétrica consumida pelo sensor em estado de espera (stand-by) é da ordem de apenas 2mA e quando em pleno funcionamento, a corrente elétrica consumida fica ao redor dos 15mA!

Abaixo vemos um pequeno gráfico que nos mostra a melhor angulação para que nosso sensor possa ser capaz de “enxergar”, ops, “escutar” sem “se perder”!  💡 

O sensor HC-SR04 “” melhor tudo num ângulo más de 30 Graus.

 

Pessoal, então, é isso aí o que eu tinha pra falar neste momento sobre o sensor ultrassônico HC-SR04!

Se surgiram dúvidas, postem, comentem, perguntem, mandem sinal-de-fumaça, risos…qualquer coisa, que eu vou, tentar ajudar!  🙂 

E aí, GOSTARAM do post?! Então comentem aí abaixo pessoal!  😎 

 

Rodrigo Costa
Sigam-me

3 thoughts on “COMO MEDIR DISTÂNCIAS COM SENSOR ULTRASSÔNICO – (HC-SR04) E ARDUINO”

  1. Boua noite, coloquei o programa com esta ai na demonstração, pois está dando um erro, ‘class Ultrasonic’ has no member named ‘timing’: dizendo que timing não tem um corpo pode me ajudar.

    1. Fala Diego! Tudo Bom?!

      Primeiramente agradeço sua mensagem! 🙂

      Rapaz, antes de lhe responder, literalmente copiei e colei o código acima na IDE do Arduino e mandei compilar, resultado: compilação concluída com sucesso!

      Dessa forma, acredito que você possa estar com uma versão da biblioteca “Ultrasonic” diferente da versão a qual digitamos este código/sketch na época. o.O

      Minha recomendação é que você realize o download da biblioteca Ultrasonic novamente (disponível aqui no Blog) e instale-a na pasta “libraries” da sua IDE Arduino. Obs: Você pode fazer um “backup” da sua atual versão e instalar esta disponível aqui no Blog (que com certeza é mais antiga que a versão atual, MAS, aí é que mora o “perigo”, pois já percebi que versões mais recentes desta mesma biblioteca vêm apresentando erro na hora de compilar)!

      Link Download direto da Biblioteca Ultrasonic: https://eletronicaparatodos.com/download/826/

      Espero que consiga solucionar o problema!

      Sucesso!

      Um Abraço,
      Rodrigo Costa do Canal Youtube,
      https://youtube.com/EletronicaParaTodos

Esse espaço é Seu! Comenta Aí! ;-)