O sensor ultrassônico é presente em nosso dia dia, principalmente em veículos. Mas já parou para pensar como ele funciona? Aprenda a usar com Arduino e dominará em qualquer microcontrolador.
Como funciona?
O sensor basicamente é um autofalante e um “microfone” só que em uma frequência sonora acima do qual conseguirmos escutar, seu funcionamento é o mesmo do morcego, golfinho e submarino.

O sensor ultrassônico segue o mesmo principio dos exemplos da imagem acima, mais especificamente o submarino por ser uma maquina. O som é emitido percorrendo uma distância ‘s’ até o objeto aonde é refletido até a fonte emissora, o espaço do emissor entre o objeto se da pela seguinte formula:

- Espaço em cm (S);
- Tempo em ms (T);
- Velocidade do som em cm/ms da (V).
Observações
Este sensor trabalha da mesma forma que um alto falante e um microfone por se tratar de ondas sonoras só que ultrassônicas, por isso deve ser considerado os mesmos comportamentos físicos do som. A depender do ambiente, superfície e angulação do objeto/sensor pode haver uma leitura errada que não vai coincidir com a distância real.

Embora a imagem esteja retratando a reflexão do feixe de luz, o mesmo comportamento acontecerá com o sensor ultrassônico caso esteja com uma angulação ‘x’ menor que 90° em relação ao objeto. Esse é um dos exemplos do comportamento “mais comum” que pode ocorrer na maioria das aplicações, quando isso acontece ocorre uma leitura de um valor geralmente acima da distância real, para entender mais sobre acústica e propagação do som clique aqui.
Especificações do Sensor Ultrassônico HC-SR04

- Voltagem de alimentação: DC 5V;
- Corrente de trabalho: 15mA;
- Frequência de operação: 40Hz;
- Distância máxima: 4m;
- Distância mínima: 2cm;
- Ângulo de medição: 15°;
- Entrada de sinal trigger: Pulso de 10µS TTL;
- Saída do sinal echo proporcional a entrada;
- Dimensões 45 * 20 * 15mm.
Montagem de Exemplo
Nesta montagem foi utilizado um display OLED 0,96″ i2c para exibir a distância obtida pelo sensor ultrassônico HC SR04 mas pode ser retirado e exibir via serial.

Código
A biblioteca do sensor ultrassônico já vem junto com a IDE do Arduino mas para esse exemplo com display OLED 0,96″ é necessário que tenha instalado a biblioteca Adafruit_SSD1306. Você pode copiar o código abaixo ou baixar via GitHub
/*=======================================================================
Conteúdo completo e detalhado no link:
https://elcereza.com/sensor-ultrassonico-com-arduino/
Site : https://elcereza.com/
Autor : Gustavo Cereza
Disponibilizado por : Elcereza
Redes : @ellcereza
Canal Telegram : https://t.me/elcereza
=======================================================================*/
#include <Elcereza_HCSR04.h>
#define TRIGGER_PIN 5
#define ECHO_PIN 6
HCSR04 u(ECHO_PIN, TRIGGER_PIN);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Distância: " + String(u.getcm()) + "cm");
delay(1000);
}
Funcionamento
Nó vídeo abaixo é possível notar que ao aproximar o cartão, o sensor diminui a distância mas também em uma parte do vídeo é perceptível que ao depender da angulação do objeto, neste caso um cartão, o valor lido se não será a distância exata do objeto para o sensor. Isso ocorre pois as ondas sonoras são refletidas em outra direção, como se fosse um espelho e um laser.