5.3 KiB
Detectar proximidad - Raspberry Pi
En esta parte de la lección, agregarás un sensor de proximidad a tu Raspberry Pi y leerás la distancia desde él.
Hardware
La Raspberry Pi necesita un sensor de proximidad.
El sensor que usarás es un sensor de distancia Grove Time of Flight. Este sensor utiliza un módulo de medición láser para detectar la distancia. Tiene un rango de 10mm a 2000mm (1cm - 2m) y reporta valores en ese rango con bastante precisión, aunque las distancias superiores a 1000mm se reportan como 8109mm.
El telémetro láser está en la parte trasera del sensor, en el lado opuesto al conector Grove.
Este es un sensor I²C.
Conectar el sensor Time of Flight
El sensor Grove Time of Flight puede conectarse a la Raspberry Pi.
Tarea - conectar el sensor Time of Flight
Conecta el sensor Time of Flight.
-
Inserta un extremo de un cable Grove en el conector del sensor Time of Flight. Solo encajará de una manera.
-
Con la Raspberry Pi apagada, conecta el otro extremo del cable Grove a uno de los conectores I²C marcados como I²C en el Grove Base Hat conectado a la Pi. Estos conectores están en la fila inferior, en el extremo opuesto a los pines GPIO y junto a la ranura del cable de la cámara.
Programar el sensor Time of Flight
Ahora se puede programar la Raspberry Pi para usar el sensor Time of Flight conectado.
Tarea - programar el sensor Time of Flight
Programa el dispositivo.
-
Enciende la Raspberry Pi y espera a que inicie.
-
Abre el código
fruit-quality-detector
en VS Code, ya sea directamente en la Pi o conectándote mediante la extensión Remote SSH. -
Instala el paquete Pip
rpi-vl53l0x
, un paquete de Python que interactúa con un sensor de distancia VL53L0X Time of Flight. Instálalo usando este comando pip:pip install rpi-vl53l0x
-
Crea un nuevo archivo en este proyecto llamado
distance-sensor.py
.💁 Una forma sencilla de simular múltiples dispositivos IoT es hacerlo en diferentes archivos de Python y ejecutarlos al mismo tiempo.
-
Agrega el siguiente código a este archivo:
import time from grove.i2c import Bus from rpi_vl53l0x.vl53l0x import VL53L0X
Esto importa la biblioteca Grove I²C bus y una biblioteca para el hardware principal del sensor incorporado en el sensor Grove Time of Flight.
-
A continuación, agrega el siguiente código para acceder al sensor:
distance_sensor = VL53L0X(bus = Bus().bus) distance_sensor.begin()
Este código declara un sensor de distancia utilizando el bus Grove I²C y luego inicia el sensor.
-
Finalmente, agrega un bucle infinito para leer las distancias:
while True: distance_sensor.wait_ready() print(f'Distance = {distance_sensor.get_distance()} mm') time.sleep(1)
Este código espera a que un valor esté listo para ser leído desde el sensor y luego lo imprime en la consola.
-
Ejecuta este código.
💁 ¡No olvides que este archivo se llama
distance-sensor.py
! Asegúrate de ejecutarlo con Python, no conapp.py
. -
Verás las mediciones de distancia aparecer en la consola. Coloca objetos cerca del sensor y observarás la medición de distancia:
pi@raspberrypi:~/fruit-quality-detector $ python3 distance_sensor.py Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm
El telémetro está en la parte trasera del sensor, así que asegúrate de usar el lado correcto al medir la distancia.
💁 Puedes encontrar este código en la carpeta code-proximity/pi.
😀 ¡Tu programa del sensor de proximidad fue un éxito!
Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.