Frambuesa pi

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 distancias desde 2 mm (.02m) hasta 400cm (4m). Envía 8 ráfagas de señales de 40 KHz y luego espera a que golpee un objeto y se refleje. El tiempo que tarda la onda de sonido ultrasónica de 40 KHz en viajar de un lado a otro se usa para calcular la distancia entre el sensor y el objeto en su 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 en su camino usando Raspberry Pi. Empecemos.

Componentes que necesita:

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

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

Configuración de pines HC-SR04:

El HC-SR04 tiene 4 pines. VCC, GATILLO, ECHO, GROUD.

Fig1: Distribución de pines HC-SR04 (https: // www.ratonero.com / ds / 2/813 / HCSR04-1022824.pdf)

El pin VCC debe estar conectado al pin + 5V de la Raspberry Pi, que es el pin 2. El pin de TIERRA debe estar conectado al pin GND de la Raspberry Pi, que es el pin 4.

Los pines TRIGGER y ECHO deben estar conectados a los pines GPIO de la Raspberry Pi. Mientras que el pin TRIGGER se puede conectar directamente a uno de los pines GPIO de la Raspberry Pi, el pin ECHO necesita un circuito 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 la placa de pruebas.

Fig4: Sensor ultrasónico HC-SR04 conectado a Raspberry Pi en la placa de pruebas.

Escribir un programa en Python para medir distancias con HC-SR04:

Primero, conéctese a su Raspberry Pi usando 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 GPIO de raspberry pi.

La línea 2 importa la biblioteca de tiempo.

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

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

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

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

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

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

Las líneas 13-17 se utilizan para restablecer pinTrigger (configurándolo en 0 lógico) y configurando el pinTrigger a la lógica 1 durante 10ms y luego a la lógica 0. En 10 ms, el sensor HC-SR04 envía 8 pulsos de 40 KHz.

Las líneas 19-24 se utilizan para medir el tiempo que tardan 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 precisos. Calculé la distancia también se redondea a 2 lugares decimales.

Finalmente, en la línea 27, se imprime el resultado. Eso es, 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.40 cm de distancia del sensor.

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

Fig6: objeto colocado aproximadamente a 21.81 cm de distancia 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 a continuación:

importar RPi.GPIO como GPIO
tiempo de importación
intentar:
GPIO.modo de ajuste (GPIO.JUNTA)
pinTrigger = 7
pinEcho = 11
 
GPIO.configuración (pinTrigger, GPIO.FUERA)
GPIO.configuración (pinEcho, GPIO.EN)
 
GPIO.salida (pinTrigger, GPIO.BAJO)
GPIO.salida (pinTrigger, GPIO.ELEVADO)
 
hora.dormir (0.00001)
GPIO.salida (pinTrigger, GPIO.BAJO)
 
mientras GPIO.entrada (pinEcho) == 0:
pulseStartTime = tiempo.hora()
mientras GPIO.entrada (pinEcho) == 1:
pulseEndTime = tiempo.hora()
 
pulseDuration = pulseEndTime - pulseStartTime
distancia = ronda (pulseDuration * 17150, 2)
 
print ("Distancia:%.2f cm "% (distancia))
finalmente:
GPIO.limpiar()
Controle y administre el movimiento del mouse entre múltiples monitores en Windows 10
Administrador de mouse de doble pantalla le permite controlar y configurar el movimiento del mouse entre varios monitores, al ralentizar sus movimient...
WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...
El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...