Sensor de Distância Ultrassônico com o Raspberry
Fala galera,
hoje vou explicar um sensor um pouco mais difícil de utilizar, que é o sensor Ultrassônico comprado no FilipeFlop.
Faremos a conexão do seguinte modo:
- VCC – entrada de energia ativa do Raspberry de 3.3v à 5v (pino 1 ou pino2 )
- Trigger – Pino transmissor da onda de som
- Echo – Pino receptor da onda
- GND – Ground.
Basicamente o sensor funciona da seguinte forma:
O Transmissor manda uma onda de som que vai ate algum objeto ou algum bloqueio que retorna para o receptor, essa diferença de entrada é saída da onda é chamada de distância de deslocamento.
Sabemos (ou não) que a velocidade do som é igual a 340 m/s,
Convertendo 340m para cm dará
velocidade do som = 34000cm/s
porém esses 34000cm/s se dá para ida+volta pois a onda precisa IR e VOLTAR, então dividimos por 2
então:
Proximidade = (distância de deslocamento * velocidade do som) / 2
Utilizaremos para a conexão 2 resistores, um para o Trigger e outro para o Ground como de padrão de utilização.
Utilizaremos os pinos 11 e 12 para fazer o transmissor e o receptor
A precisão dele é bem confiável de 2 , 3 ,4 cm bem precisos.
Faremos um script para rodar somente uma vez porém pode ser facilmente adicionado um While(True):
import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD); GPIO.setwarnings(False); GPIO.setup(12,GPIO.IN); # PIN QUE VAI CAPTAR GPIO.setup(11,GPIO.OUT); # PIN QUE VAI ENVIAR O SOM GPIO.output(11, False); time.sleep(3); GPIO.output(11, True); time.sleep(0.00001); GPIO.output(11, False); tempoInicio = time.time(); while GPIO.input(12)==0: tempoInicio = time.time(); while GPIO.input(12)==1: tempoFinal = time.time(); variacaoTempo = tempoFinal-tempoInicio; somVolta = variacaoTempo * 17000; somVolta = round(somVolta, 2); print "Distancia do objeto : %.2f cm " % somVolta; GPIO.cleanup();
Espero que tenham gostado e até a próxima!