Módulo Sensor Ultrassônico HC-SR04

Um sensor capaz não só de medir se existe algum obstáculo, mas ainda consegue calcular a distancia entre si mesmo e o próprio obstáculo é sem dúvida muito importante para inúmeros projetos, o Módulo Sensor Ultrassonico HC-SR04 faz isso, nesse post falaremos sobre seu funcionamento, testamos, e comprovaremos que a conversão de unidades de medida vista no ensino médio foi importante..rs

modulo-sensor-ultrassnico-de-distncia-hc-sr04-191301-D_NQ_NP_796182-MLB26103190277_092017-O

O funcionamento desse componente na verdade é bem simples, ele emite uma onda de som, que é refletida por algum obstáculo (se existir), então a onda é mandada de volta ao módulo, que pelo tempo e velocidade já conhecidos consegue calcular a distancia, como você pode observar na imagem:sensor-ultrassonico-funcionamento-1

Mas, é obvio que não ficaremos com essa explicação superficial, então vamos aprofundar para realmente compreendermos seu funcionamento.

A velocidade de onda que o módulo emite já é conhecida, 340 m/s ou 0,034 cm/μs, com esses números, e um exemplo, já é o suficiente, então suponhamos que um objeto esteja a 10 cm do nosso módulo, com essa velocidade a onda irá viajar uma distância de 10cm em 294 μs, porém, o módulo receberá 588, sabe porque? Nó estamos recebendo o tempo de ida e volta da onda, ou seja,  o dobro do tempo para o objeto em questão, sendo assim, para descobrir a distância basta multiplicar o tempo pela distancia e dividir por 2, para o exemplo chegaremos a distância pela seguinte fórmula:    s = 588 * 0,034 / 2, ou, s ~= 10cm.

Especificações

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

Testando o Módulo

Segue o circuito..

Arduino_HC_SR04_bb.png

Abaixo segue o código, e com a leitura principalmente dos comentários no mesmo finalizamos o nosso entendimento do comportamento do módulo e como manipulamos tal para nosso objetivo..


//constantes criadas para o modulo 
const int trigPin = 4;
const int echoPin = 5;
//criamos duas variaveis aqui, uma para a duração que iremos receber, e outra para a distancia que iremos calcular
long duracao;
int distancia;
void setup() {
//informamos ao arduino que o pino 4 é uma saida e o pino 5 uma entrada
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT); 
Serial.begin(9600); // iniciamos a comunicação serial
}
void loop() {
//certificamos que o trigpin está limpo
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// definimos o trig pin em estado alto durante 10ms
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// lemos o tempo de duração usando a função pulseIn e armazenamos na variavel duracao
duracao = pulseIn(echoPin, HIGH);
//jogamos a duracao na formula que vimos e assim temos a distancia
distancia= duracao*0.034/2;
// printamos a distancia no serial monitor
Serial.print("Distancia: ");
Serial.println(distancia);
}

Para fins de curiosidade achei um site mostrando algumas formas de aplicação de sensores ultrassônicos, segue o link.. Soluções completas fornecidas por um sensor altamente flexível
Bons Estudos! 🙂

Anúncios

Um comentário sobre “Módulo Sensor Ultrassônico HC-SR04

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s