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 a distância de 2 mm (.02m) a 400cm (4m). Ele envia 8 sinais de rajada de 40kHz e depois espera que ele acerte um objeto e seja refletido de volta. O tempo que leva para a onda sonora ultrassônica de 40khz para viajar para frente e para trás é usada para calcular a distância entre o sensor e o objeto a caminho. É basicamente assim que o sensor HC-SR04 funciona.

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

Componentes que você precisa:

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

  • Um computador de placa Raspberry Pi 2 ou 3 com Raspbian instalado.
  • Um módulo de sensor ultrassônico HC-SR04.
  • Resistores 3x10kΩ.
  • Uma placa de pão.
  • Alguns conectores masculinos para mulheres.
  • Alguns conectores masculinos para homens.

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

HC-SR04 PILOUTS:

O HC-SR04 tem 4 pinos. VCC, gatilho, eco, grouda.

Fig1: HC-SR04 PILOUTS (https: // www.mouser.com/ds/2/813/hcsr04-1022824.pdf)

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

Os pinos de gatilho e eco devem estar conectados aos pinos GPIO do Raspberry Pi. Enquanto o pino de gatilho pode ser diretamente conectado a um dos pinos GPIO do Raspberry Pi, o pino de eco precisa de um circuito de 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 está conectado, é assim que se parece:

Fig3: sensor ultrassônico HC-SR04 conectado ao Raspberry Pi na placa de ensaio.

Fig4: sensor ultrassônico HC-SR04 conectado ao Raspberry Pi na placa de ensaio.

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

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

Aqui, a linha 1 importa a biblioteca Raspberry Pi GPIO.

A linha 2 importa a biblioteca do tempo.

Dentro de tentar Bloco, o código realmente para medir a distância usando HC-SR04 está escrito.

O finalmente O bloco é usado para limpar os pinos do GPIO com Gpio.limpar() método quando o programa sai.

Dentro de tentar Bloco, na linha 5, Gpio.SetMode (GPIO.QUADRO) é usado para facilitar a definição de pinos. Agora, você pode fazer referência a pinos por números físicos como na placa Raspberry Pi.

Na linha 7 e 8, Pintrigger está configurado para 7 e Pinecho está configurado para 11. O ACIONAR O pino de HC-SR04 está conectado ao pino 7 e ECO O pino de HC-SR04 está conectado ao pino 11 do Rapsberry Pi. Ambos são pinos de GPio.

Na linha 10, Pintrigger é configurado para saída usando Gpio.configurar() método.

Na linha 11, Pinecho é configurado para entrada usando Gpio.configurar() método.

As linhas 13-17 são usadas para redefinir Pintrigger (configurando -o como lógica 0) e definindo o Pintrigger para a lógica 1 por 10ms e depois a lógica 0. Em 10ms, o sensor HC-SR04 envia 8 40kHz de pulso.

As linhas 19-24 são usadas para medir o tempo necessário para que os pulsos de 40kHz sejam refletidos para um objeto e voltem ao 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)

Eu calculei a distância em centímetros em vez de medidores, apenas para ser preciso. Eu calculei a distância também é arredondada para 2 lugares decimais.

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

Agora, execute o script Python com o seguinte comando:

$ python3 Distância.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.

Eu me mudei para me opor um pouco mais longe, a distância medida é 21.81cm. Então, está funcionando como esperado.

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

É assim que você mede a distância com o 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.QUADRO)
Pintrigger = 7
Pinecho = 11
Gpio.Configuração (Pintrigger, GPio.FORA)
Gpio.Configuração (Pinecho, GPio.EM)
Gpio.Saída (Pintrigger, GPio.BAIXO)
Gpio.Saída (Pintrigger, GPio.ALTO)
tempo.sono (0.00001)
Gpio.Saída (Pintrigger, GPio.BAIXO)
enquanto gpio.entrada (pinecho) == 0:
pulsestarttime = tempo.tempo()
enquanto gpio.entrada (pinecho) == 1:
PulsendTime = Time.tempo()
Pulseduração = PulsendTime - PulsestartTime
Distância = rodada (pulseduração * 17150, 2)
Imprimir ("Distância: %.2f cm " % (distância))
finalmente:
Gpio.limpar()