O sensor de distância ultrassônico é composto de um emissor e um receptor de ondas sonoras. Podemos compará-los a um alto-falante e um microfone trabalhando em conjunto. Entretanto, ambos trabalham com ondas de altíssima frequência, na faixa dos 40.000 Hz (ou 40KHz). Isto é muito, muito acima do que os nossos ouvidos são capazes de perceber. O ouvido humano consegue, normalmente, perceber ondas na entre 20 e 20.000 Hz e por isto o sinal emitido pelo sensor ultrassônico passa despercebido por nós.
O sinal emitido, ao colidir com qualquer obstáculo, é refletido de volta na direção do sensor. Durante todo o processo, o aparelho está com uma espécie de “cronômetro” de alta precisão funcionando. Assim, podemos saber quanto tempo o sinal levou desde a sua emissão até o seu retorno. Como a velocidade do som no ar é conhecida, é possível, de posse do tempo que o sinal levou para ir até o obstáculo e voltar, calcular a distância entre o sensor e o obstáculo. Para isto vamos considerar a velocidade do som no ar (340 m/s) na seguinte equação:
d = ( V * t ) /2
Onde:
- d = Distância entre o sensor e o obstáculo (é o que queremos descobrir)
- V = Velocidade do som no ar (340 m/s).
- t = Tempo necessário para o sinal ir do sensor até o obstáculo e voltar (é o que o nosso módulo sensor ultrassom mede).
A divisão por dois existe pois o tempo medido pelo sensor é na realidade o tempo para ir e voltar, ou seja, duas vezes a distância que queremos descobrir.
O detalhes do sensor
Existem sensor de distância ultrassônico de diversos fabricantes e com algumas particularidades. Em nosso projeto utilizaremos o Sensor de Distância Ultrassônico HC-SR04 que é bastante comum, tem boa precisão e é bastante acessível.
Estes módulos possuem quatro pinos e são bem simples de serem utilizados com microcontroladores como o Arduino, Parallax, BASIC Stamp, PIC e outros. Em nossos exemplos utilizaremos um Arduino. Dois pinos são utilizados para alimentar o sensor , um deles é utilizado para disparar o sinal ultrassônico e o outro para medir o tempo que ele leva para retornar ao sensor. Existem algums sensores ultrassônicos, com o Parallax PING))), que possuem apenas três pinos e utilizam um único pino para disparar o pulso e medir o tempo de resposta. Se seu sensor tiver apenas três pinos as conexões e o código do Arduino devem ser devidamente ajustados.
- VCC : Alimentação do módulo com +5 V.
- Trig : Gatilho para disparar o pulso ultrassônico. Para disparar coloque o pino é HIGH por pelo menos 10us.
- Echo : Gera um pulso com a duração do tempo necessário para o eco do pulso ser recebido pelo sensor.
- Gnd : Terra.
Vale lembrar que existem limitações para o funcionamento do sensor ultrassônico. Primeiro você tem que levar em consideração que tipo de obstáculo está querendo detectar. Se o obstáculo for muito pequeno pode ser que ele não gere um sinal de retorno suficiente para ser percebido pelo sensor. Se o obstáculo não estiver posicionado bem a frente do sensor você pode ter medidas imprecisas ou até mesmo não acusar a presença do mesmo. E por fim, a faixa de distância que o sensor trabalha fica entre 2cm e 4m e isto pode variar de sensor para sensor. De qualquer modo, independentemente destas restrições, estes sensores são super divertidos e muito bons para uma série de aplicações.
Aplicação no Arduino
A interação deste sensor com Arduino é muito simples! Nosso sketch Arduino realizará as seguintes ações:
No setup definiremos dois pinos para utilizarmos como interface com o sensor. Um deles será chamado de gatilho e será definido como uma saída. O outro será chamado de echo e será definido como entrada. Claro, também faremos a incialização do display, mas isto é papo para outro post.
No loop ficaremos, indefinidamente, medindo a distância entre o sensor e o obstáculo e mostrando o resultado no display. A cada iteração faremos o seguinte: instruiremos o sensor a emitir um pulso ultrassônico colocando o pino gatilho em HIGH por alguns microssegundos e, depois, mediremos a duração do pulso no pino echo. De posse da duração do pulso no pino echo basta fazermos algumas contas para descobrir a distância do objeto (em centímetros e polegadas) e apresentarmos estes valores no display LCD.
Muito bem explicado e esclarecedor. Grato!