Sensor HC-SR04

Sensor HC-SR04 é um módulo que consiste na emissão de sinais ultrassônicos onde a medição da distância é obtida com base no tempo de emissão do sinal com o tempo de retorno desse mesmo sinal refletido pelo objeto.
Como ouvido humano só consegue identificar ondas mecânicas até a frequência de 20KHz, os sinais emitidos pelo sensor Ultrassônico não podem ser escutados por nós, pois o sensor trabalha na faixa de 40KHz.

Estruturação do Sensor HC-SR04

    • Transmissor Ultrassônico – Emite as ondas ultrassônicas que serão refletidas pelos obstáculos
    • Um receptor – Identifica o eco do sinal emitido pelo transmissor
    • Circuito de controle – Controla o conjunto transmissor/receptor, calcula o tempo entre a emissão e recepção do sinal

Especificações

    • Alimentação: 5V DC
    • Corrente de Operação: 2mA
    • Ângulo de Efeito: 15°
    • Alcance: 2cm ~ 4m
    • Precisão: 3mm

Operação do Sensor Ultrassônico HC-SR04

Primeiramente, o circuito externo (Arduino) envia um pulso Trigger de pelo menos 10us em nível alto. Em seguida, ao receber o sinal Trigger, o sensor HC-SR04 envia 8 pulsos de 40khz e detecta se há ou não algum sinal de retorno. Então, se algum sinal de retorno for identificado pelo receptor, o sensor HC-SR04 gera um sinal de nível alto no pino de saída cujo tempo de duração é igual ao tempo calculado entre o envio e o retorno do sinal ultrassônico.
Através do pulso de saída, onde a emissão e recepção tem o mesmo tempo, calcula-se a distância entre o sensor e o obstáculo por meio de uma simples equação:

Distância =Tempo de Duração do Sinal2×Velocidade do Som

O tempo de duração do sinal é o tempo em que o pino Echo permaneceu em nível alto após o pino Trigger ter sido colocado em nível alto.

Simples Projeto com o  HC-SR04

Primeiramente, faça a conexão do sensor HC-SR04 com o Arduino conforme o esquema:

Esquema HC-SR04

Em seguida, inclua a biblioteca “NewPing.h”. Feito isso, percebe-se que essa biblioteca é de muito fácil aplicação com vários exemplos, incluindo códigos com utilização de vários sensores simultaneamente.
Então, escolheremos o exemplo NewPingExemple e faremos somente duas alterações (nas portas digitais e no tempo entre os pings). Finalmente, agora é só carregar o código:

 1 #include <NewPing.h>
 2  
 3  #define TRIGGER_PIN  4   // Pino Trigger do sensor
 4  #define ECHO_PIN     5   // Pino Echo do sensor
 5  #define MAX_DISTANCE 300 // Distancia maxima requerida para fazer ping (Maxima 400-500cm)
 6  
 7  NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Configuracao NewPing de pinos e distancia maxima
 8  
 9  void setup() {
10    Serial.begin(115200); // Abrir o monitor serial a 115200 ver os resultados do ping
11  }
12  
13  void loop() {
14    delay(100);                    // Aguarde 100ms entre pings. Nao pode ser menor que 29ms entre os pings.
15    Serial.print("Ping: ");
16    Serial.print(sonar.ping_cm()); // Envie ping, obtenha distancia em cm e imprima o resultado (0 = fora da faixa de distancia definida)
17    Serial.println("cm");
18  }

Então, agora é só abrir o Monitor Serial e acompanhar a variação de distância sendo impressa na tela.

Onde comprar?

LOJAS

Conheça também!