Olá!
Estou com um problema ao utilizar o sensor HC-SR04 no Arduino. Ao realizar a leitura ele retorna sempre a distância de 5 cm. Porém ao colocar um objeto entre o transmissor e o receptor ele mede normalmente. Alguém sabe me dizer o porquê deste erro e se é solucionável?
Obrigado!
Tags:
Olá Roger.
Realmente o comportamento, ou da leitura ou do sensor, estão realmente estranhos.
Eu sugiro alguns testes para descobrirmos o que pode ser.:
1) Tente simular o seu código. Vou colar o link de um tópico que ajudei sobre o assunto do sensor ultrassônico. E também de um blog que ensina a como simular.
[ Tópico ]
http://labdegaragem.com/forum/topics/biblioteca-para-o-sensor-de-ul...
[Blog 1]
http://blogembarcado.blogspot.com.br/2012/12/ultrasonic-sensor-simu...
[Blog 2]
http://blogembarcado.blogspot.com.br/2013/06/sensor-ultrassonico-v2...
2) E o segundo teste seria o de colocar um dos programas de exemplo (que tem lá no blog mesmo) no seu Arduino e usando o seu sensor, e ver se ele está respondendo da mesma forma que agora.
Caso tenha descoberto que o sensor está legal, mas é o código que está gerando este erro. Cole ou envie o seu código, para que possamos ajudá-lo a entender o que acontece.
Ou se preferir, envie o código para mim que poderei montar a simulação para você.
Existe um outro porém, recordo que para alguns sensores ultrassônicos, quando você requisita a leitura (envia o sinal de PING/TRIGGER), caso ele não tenha detectado nenhum objeto ou realmente não exista nada, ele manda a largura de pulso (sinal de ECHO) em um valor constante e definido. Então o que precisaria fazer é criar um tratamento no seu código que verifica esse pulso e te informa que não existe nenhum objeto detectado. No datasheet do seu sensor você encontrará esta informação.
Espero ter ajudado.
Att.
Muito obrigado Daniel pelas dicas e pelos links, são realmente muito bons e foram de grande ajuda.
Testei novamente meu sensor com os códigos disponibilizados no blog que indicaste e foi apresentado o mesmo problema, ele mede 4cm e quando separo o emissor e o receptor mede normalmente qualquer distância (e com precisão).
Estou mais convicto que o problema é no hardware do sensor. Vou testar outro com o mesmo código e posto aqui o resultado.
Abraço!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por