Cómo medir la distancia con Raspberry Pi

Cómo medir la distancia con Raspberry Pi
Puede medir la distancia utilizando el sensor ultrasónico HC-SR04 con Raspberry Pi. El sensor HC-SR04 puede medir la distancia desde 2 mm (.02M) a 400 cm (4m). Envía 8 ráfaga de señales de 40 kHz y luego espera a que golpee un objeto y se refleje. El tiempo que lleva la onda de sonido ultrasónica de 40 kHz viajar de un lado a otro se usa para calcular la distancia entre el sensor y el objeto en camino. Así es básicamente como funciona el sensor HC-SR04.

En este artículo, le mostraré cómo usar un sensor ultrasónico HC-SR04 para medir la distancia entre su sensor y un objeto a su manera usando Raspberry Pi. Empecemos.

Componentes que necesita:

Para medir con éxito la distancia con el sensor Raspberry Pi y HC-SR04, necesita,

  • Una computadora de una sola placa Raspberry Pi 2 o 3 con Raspbian instalada.
  • Un módulo de sensor ultrasónico HC-SR04.
  • Resistencias de 3x10kΩ.
  • Un tablero.
  • Algunos conectores masculinos a femeninos.
  • Algunos conectores masculinos a masculinos.

He escrito un artículo dedicado sobre la instalación de Raspbian en Raspberry Pi, que puede verificar en https: // Linuxhint.com/ install_raspbian_raspberry_pi/ si lo necesita.

HC-SR04 PINOUTS:

El HC-SR04 tiene 4 pines. VCC, disparador, eco, groud.

Fig1: Pinouts HC-SR04 (https: // www.mouse.com/ds/2/813/hcsr04-1022824.PDF)

El pin VCC debe conectarse a un pin de +5V de la Raspberry Pi, que es el pin 2. El pasador de tierra debe conectarse al pasador GND de la Raspberry Pi, que es el pin 4.

Los pasadores de disparo y eco deben conectarse a los pasadores GPIO de la frambuesa Pi. Mientras que el pasador de activación se puede conectar directamente a uno de los pines GPIO del Raspberry Pi, el pin de eco necesita un circuito de divisor de voltaje.

Diagrama de circuito:

Conecte el sensor ultrasónico HC-SR04 a su Raspberry Pi de la siguiente manera:

Fig2: Sensor ultrasónico HC-SR04 conectado a Raspberry Pi.

Una vez que todo está conectado, así es como se ve:

Fig3: Sensor ultrasónico HC-SR04 conectado a Raspberry Pi en paneles.

Fig4: Sensor ultrasónico HC-SR04 conectado a Raspberry Pi en paneles.

Escribir un programa de Python para medir la distancia con HC-SR04:

Primero, conéctese a su Raspberry Pi con VNC o SSH. Luego, abra un nuevo archivo (digamos distancia.py) y escriba las siguientes líneas de códigos:

Aquí, la línea 1 importa la biblioteca de Raspberry Pi GPIO.

Línea 2 Importa la biblioteca de tiempo.

Dentro de intentar Bloque, el código realmente para medir la distancia usando HC-SR04 está escrito.

El finalmente El bloque se usa para limpiar los pasadores GPIO con GPIO.limpiar() método cuando el programa sale.

Dentro de intentar bloque, en la línea 5, GPIO.setMode (GPIO.JUNTA) se usa para facilitar la definición. Ahora, puede hacer referencia a los pines por números físicos tal como está en el tablero de Raspberry Pi.

En la línea 7 y 8, pintrigger se establece en 7 y pindo se establece en 11. El DESENCADENAR El pin de HC-SR04 está conectado al pin 7 y ECO El pin de HC-SR04 está conectado al pin 11 del Rapsberry Pi. Ambos son pines GPIO.

En la línea 10, pintrigger está configurado para la salida usando GPIO.configuración() método.

En la línea 11, pindo está configurado para la entrada usando GPIO.configuración() método.

Las líneas 13-17 se utilizan para restablecer pintrigger (estableciéndolo en lógica 0) y configurando el pintrigger a la lógica 1 para 10 ms y luego a la lógica 0. En 10 ms, el sensor HC-SR04 envía 8 40 kHz de pulso.

Las líneas 19-24 se utilizan para medir el tiempo que tarda los pulsos de 40 kHz en reflejarse en un objeto y volver al sensor HC-SR04.

En la línea 25, la distancia se mide usando la fórmula,

Distancia = tiempo delta * velocidad (340m / s) / 2

=> Distancia = tiempo delta * (170m/s)

Calculé la distancia en centímetros en lugar de metros, solo para ser precisa. Calculé que la distancia también se redondea a 2 decimales.

Finalmente, en la línea 27, se imprime el resultado. Eso es todo, muy simple.

Ahora, ejecute el script de Python con el siguiente comando:

$ python3 distancia.py

Como puede ver, la distancia medida es 8.40 cm.

Fig5: Objeto colocado a aproximadamente 8.A 40 cm del sensor.

Me moví para objetar un poco más lejos, la distancia medida es 21.81 cm. Entonces, está funcionando como se esperaba.

Fig6: Objeto colocado a aproximadamente 21.A 81 cm del sensor.

Así es como mides la distancia con Raspberry Pi usando el sensor ultrasónico HC-SR04. Ver el código para la distancia.Py debajo:

importar RPI.GPIO como GPIO
tiempo de importación
intentar:
GPIO.setMode (GPIO.JUNTA)
PinTrigger = 7
Pinecho = 11
GPIO.Configuración (Pintrigger, GPIO.AFUERA)
GPIO.Configuración (Pinecho, GPIO.EN)
GPIO.Salida (Pintrigger, GPIO.BAJO)
GPIO.Salida (Pintrigger, GPIO.ALTO)
tiempo.dormir (0.00001)
GPIO.Salida (Pintrigger, GPIO.BAJO)
Mientras que GPIO.entrada (pinecho) == 0:
pulsStarttime = tiempo.tiempo()
Mientras que GPIO.entrada (pinecho) == 1:
pulseendtime = tiempo.tiempo()
pulseduration = pulseendtime - pulsStarttime
Distancia = redonda (pulseduración * 17150, 2)
Imprimir ("Distancia: %.2f cm " % (distancia))
finalmente:
GPIO.limpiar()