segunda-feira, 20 de outubro de 2014

Sensor de distância por ultrassom HC-SR04 + display 16x2

Neste post iremos testar o sensor de distância por ultrassom HC-SR04. Com ele é possível medir distâncias diretamente de 2 a 400 cm e de uma forma qualitativa podemos detectar a presença de paredes, obstáculos, buracos, objetos, etc.

Muito usado em veículos e robôs, este sensor é de grande utilidade como um modo de fazer o seu sistema embarcado obter uma leitura do ambiente em que está inserido. Prevenindo, assim, colisões e quedas ou adaptando o sistema para que possa transpor certas barreiras.

Assim como o morcego e o golfinho, o sensor envia uma onda ultrassônica em direção a algum objeto e essa onda é refletida e volta para quem a enviou. O tempo que esta onda leva pra retornar será diferente se as distâncias e formatos dos objetos refletores forem diferentes. Isto faz com que o emissor obtenha informações sobre o ambiente ao seu redor de forma rápida, sem a necessidade de iluminação ou de contato físico direto.

Outro uso clássico do sonar é em navios para detectar objetos, submarinos e cardumes abaixo da superfície da água. Não confundir com o radar que utiliza ondas de rádio e não de som.



Partindo do princípio mencionado acima, este sonar tem um dispositivo gerador de ultrassom e um outro que é o receptor de ultrassom. O HC-SR04 tem 4 pinos, sendo:


Princípio de funcionamento


Para que o sensor inicie o seu funcionamento devemos fazer com ele envie uma onda para ser recebida instantes depois. A ativação deste envio é feita mantendo a saída Trigger em nível alto por pelo menos 10us. Logo após, automaticamente, o gerador de ultrassom envia oito ciclos de sinais ultrassônicos de 40KHz. Enquanto o sinal retorna, o pino Echo fica em nível alto até que o sinal retorne por completo. Ou seja, o tempo que o pino Echo fica em nível alto é igual ao tempo necessário para a onda ser enviada, refletida e retornada. Como este tempo é proporcional à distância do objeto refletor, podemos saber a que distância ele está, visto que a velocidade de propagação do som é de 340 m/s.

Podemos resumir o funcionamento do HC-SR04 como:


  1. Pino Trigger deve ser levado a nível 1 por pelo menos 10us;
  2. Uma onda de 8 ciclos a 40KHz é enviada;
  3. Durante o tempo de emissão e recepção o pino Echo vai a 1.    

 Formas de onda características




O módulo nos dá apenas o tempo de ida e de volta da onda sonora. Portanto, para sabermos que distância ela viajou, devemos levar em consideração sua velocidade, e que a largura do pulso de Echo é o tempo necessário de ida e também de volta (que são iguais!) então deveremos usar nos cálculos metade deste tempo.

O cálculo da velocidade se dá como:



Onde:
v: velocidade;
d: distância percorrida;
Δt: variação no tempo.

No nosso caso, v é a velocidade de propagação do som, 340 m/s, e Δt é igual ao tempo que o pino Echo fica em nível alto. Como Δt é o tempo de ida e volta, devemos dividir por 2. Deixando a equação desta forma:

Montagem


Na montagem de teste do módulo utilizamos um Arduino DUE junto com um LCD Shield para vermos os resultados e, é claro, o módulo ultrassônico. Conectamos o pino Trigger no pino 17 do Arduino DUE e o pino Echo no pino 21. Os de alimentação em 5V (vermelho) e GND (preto).





Por se tratar de um dispositivo onde o tempo é importante, temos a necessidade de utilizar no algoritmo algum tipo de TIMER para que sejam realizados os cálculos necessários. Para tanto utilizamos a função "micros()" que retorna o número de microssegundos desde que o Arduino começou a rodar o programa. É na verdade um timer que inicia sua contagem ao ligar o Arduino na alimentação e estoura em aproximadamente 70 minutos.


Então o que nosso algoritmo faz basicamente é anotar o valor que retorna da função "micros()" quando o pino Echo vai para nível alto e anotar novamente quando o mesmo cai para zero. Fazendo a diferença entre o segundo e o primeiro valor anotado, teremos o tempo de duração do pulso de Echo, que será o nosso Δt das equações acima mencionadas.

Aqui o link para o algoritmo utilizado.

Fotos dos teste


Distância da mesa até o anteparo (caderno)
Módulo Ultrassom afixado no tampo da mesa por volta de 11cm do anteparo
Montagem de testes

Valor medido sendo mostrado no display

Nova distância à aprox. 30 cm

Testes à aproximadamente 30 cm
Valor medido

Agradeemos a todos por acompanhar mais este post. Adquiram o módulo sensor de distância em nossa loja e façam seus projetos perceberem o ambiente em que estão envolvidos.

Até o próximo post!

Nenhum comentário:

Postar um comentário