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:
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.
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.
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:
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.
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!
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:
- Pino Trigger deve ser levado a nível 1 por pelo menos 10us;
- Uma onda de 8 ciclos a 40KHz é enviada;
- 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!
muito bom
ResponderExcluir