Raspberry Pi

Como medir a distância com Raspberry Pi

Como medir a distância com Raspberry Pi
Você pode medir a distância usando o sensor ultrassônico HC-SR04 com Raspberry Pi. O sensor HC-SR04 pode medir distâncias de 2 mm (.02m) a 400cm (4m). Ele envia 8 rajadas de sinais de 40 KHz e, em seguida, espera que atinja um objeto e seja refletido de volta. O tempo que leva para a onda sonora ultrassônica de 40 KHz viajar para frente e para trás é usado para calcular a distância entre o sensor e o objeto em seu caminho. É basicamente assim que o sensor HC-SR04 funciona.

Neste artigo, vou mostrar como usar um sensor ultrassônico HC-SR04 para medir a distância entre seu sensor e um objeto em seu caminho usando Raspberry Pi. Vamos começar.

Componentes de que você precisa:

Para medir a distância com sucesso com o sensor Raspberry Pi e HC-SR04, você precisa,

Escrevi um artigo dedicado à instalação do Raspbian no Raspberry Pi, que você pode verificar em https: // linuxhint.com / install_raspbian_raspberry_pi / se você precisar.

Pinagem HC-SR04:

O HC-SR04 tem 4 pinos. VCC, TRIGGER, ECHO, GROUD.

Fig1: pinagem HC-SR04 (https: // www.rato.com / ds / 2/813 / HCSR04-1022824.pdf)

O pino VCC deve ser conectado ao pino + 5V do Raspberry Pi, que é o pino 2. O pino TERRA deve ser conectado ao pino GND do Raspberry Pi, que é o pino 4.

Os pinos TRIGGER e ECHO devem ser conectados aos pinos GPIO do Raspberry Pi. Embora o pino TRIGGER possa ser conectado diretamente a um dos pinos GPIO do Raspberry Pi, o pino ECHO precisa de um circuito divisor de tensão.

Diagrama de circuito:

Conecte o sensor ultrassônico HC-SR04 ao seu Raspberry Pi da seguinte maneira:

Fig2: sensor ultrassônico HC-SR04 conectado ao Raspberry Pi.

Depois que tudo estiver conectado, será assim:

Fig3: sensor ultrassônico HC-SR04 conectado ao Raspberry Pi no breadboard.

Fig4: sensor ultrassônico HC-SR04 conectado ao Raspberry Pi no breadboard.

Escrevendo um programa Python para medir distâncias com HC-SR04:

Primeiro, conecte-se ao Raspberry Pi usando VNC ou SSH. Em seguida, abra um novo arquivo (digamos distância.py) e digite as seguintes linhas de códigos:

Aqui, a linha 1 importa a biblioteca GPIO raspberry pi.

A linha 2 importa a biblioteca de tempo.

Dentro de tentar bloco, o código real para medir a distância usando HC-SR04 é escrito.

O finalmente bloco é usado para limpar os pinos GPIO com GPIO.Limpar() método quando o programa termina.

Dentro de tentar bloco, na linha 5, GPIO.setmode (GPIO.BORDA) é usado para facilitar a definição de pinos. Agora, você pode fazer referência aos pinos por números físicos, como acontece na placa do Raspberry Pi.

Nas linhas 7 e 8, pinTrigger está configurado para 7 e pinEcho está configurado para 11. O ACIONAR pino de HC-SR04 é conectado ao pino 7, e ECO pino do HC-SR04 é conectado ao pino 11 do Rapsberry Pi. Ambos são pinos GPIO.

Na linha 10, pinTrigger está configurado para OUTPUT usando GPIO.configurar() método.

Na linha 11, pinEcho está configurado para INPUT usando GPIO.configurar() método.

As linhas 13-17 são usadas para redefinir pinTrigger (configurando-o para lógico 0) e configurando o pinTrigger para a lógica 1 por 10ms e depois para a lógica 0. Em 10 ms, o sensor HC-SR04 envia 8 pulsos de 40 KHz.

As linhas 19-24 são usadas para medir o tempo que leva para os pulsos de 40KHz serem refletidos para um objeto e de volta para o sensor HC-SR04.

Na linha 25, a distância é medida usando a fórmula,

Distância = tempo delta * velocidade (340M / S) / 2

=> Distância = tempo delta * (170M / S)

Calculei a distância em centímetros em vez de metros, só para ser mais preciso. A distância calculada também é arredondada para 2 casas decimais.

Finalmente, na linha 27, o resultado é impresso. É isso muito simples.

Agora, execute o script Python com o seguinte comando:

$ python3 distance.py

Como você pode ver, a distância medida é 8.40 cm.

Fig5: objeto colocado em cerca de 8.40 cm de distância do sensor.

Mudei para o objeto um pouco mais longe, a distância medida é 21.81cm. Então, está funcionando conforme o esperado.

Fig6: objeto colocado em cerca de 21.81 cm de distância do sensor.

Então é assim que você mede a distância com Raspberry Pi usando o sensor ultrassônico HC-SR04.  Veja o código para distância.py abaixo:

importar RPi.GPIO como GPIO
tempo de importação
tentar:
GPIO.setmode (GPIO.BORDA)
pinTrigger = 7
pinEcho = 11
 
GPIO.configuração (pinTrigger, GPIO.FORA)
GPIO.configuração (pinEcho, GPIO.DENTRO)
 
GPIO.saída (pinTrigger, GPIO.BAIXO)
GPIO.saída (pinTrigger, GPIO.ALTO)
 
Tempo.dormir (0.00001)
GPIO.saída (pinTrigger, GPIO.BAIXO)
 
enquanto GPIO.entrada (pinEcho) == 0:
pulseStartTime = tempo.Tempo()
enquanto GPIO.entrada (pinEcho) == 1:
pulseEndTime = tempo.Tempo()
 
pulseDuration = pulseEndTime - pulseStartTime
distance = round (pulseDuration * 17150, 2)
 
imprimir ("Distância:%.2f cm "% (distância))
finalmente:
GPIO.Limpar()
Os 5 principais produtos ergonômicos de mouse de computador para Linux
O uso prolongado do computador causa dor no pulso ou nos dedos? Você está sofrendo de rigidez nas articulações e constantemente precisa apertar as mão...
Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...
Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...