Blog
Sensor de distancia con la Raspberry Pi
- Publicado por: Rafael Fernandez
- Categoría: Blog Raspberry Pi
Expandir nuestros conocimientos con los pines al conectar el sensor de distancia a nuestro Raspberry Pi
Implementar un código que maneje la información del sensor
Hola y bienvenidos a al tutoral 7 de la serie de tutoriales de Raspberry Pi. En este tutorial, vamos a introducir el sensor de distancia ultrasónico HC-SR04, junto con el manejo de la entrada GPIO.
El sensor de distancia HC-SR04 mide la distancia basada en la emisión de una ráfaga de sonido y determina el tiempo que se tarda en recibir el eco. Usando una constante conocida que es la velocidad del sonido, podemos determinar matemáticamente la distancia de cualquier objeto delante de este sensor simplemente midiendo cuánto tiempo pasó mientras las ondas sonoras fueron emitidas, golpearon el objeto frente al sensor, rebotaron de nuevo y regresaron al sensor.
Sensor de distancia con la Raspberry Pi:
Cosas que necesitarás para este tutorial además de tu raspberry Pi:
- Una breadboard
- 4 Cables de conexión macho a hembra
- Resistencias de 1 x 1K Ohm y 1 x 2K Ohm, OR Resores de 3x 1K Ohm… o cualquier otra forma de construir una resistencia de 1k luego una resistencia de 2k.
- 1 x sensor de distancia ultrasónico HC-SR04
El sensor de distancia viene con 4 pines: potencia, disparador, eco y tierra. La alimentación se conectará a la clavija de salida de 5V de la Raspberry Pi, el disparador se asignará a una clavija GPIO como salida, el eco se asignará a una clavija GPIO como entrada y la tierra irá a una clavija de tierra en la Pi.
El siguiente diagrama muestra la configuración:
Como antes, las cajas representan clavijas en la Raspberry Pi y tapones en el tablero. La parte azul es el sensor HC-SR04 enchufado, y las cajas de color representan los cables del puente M-F por medio del color conectado en estos puntos. Las marcas azules con números en ellas son las resistencias. Si usted tiene una resistencia de 2K para para la tierra puede usarla, yo no tenía ninguna, así que usé 2 de 1K en serie.
Código para el Sensor de distancia con la Raspberry pi
Ahora puedes arrancar la Raspberry Pi, crear un nuevo archivo Python y configurar el código:
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM)
Son las mismas importaciones y modo inicial que en el tutorial anterior.
TRIG = 4 ECHO = 18 GPIO.setup(TRIG,GPIO.OUT) GPIO.setup(ECHO,GPIO.IN)
Aquí vamos a definir TRIG y ECHO como los pines de Broadcom que pretendemos usar para esa parte del sensor. Hacemos esto porque necesitamos hacer referencia a ambos pines varias veces. Si al final queremos cambiar la colocación de los pasadores en el futuro, sólo tenemos que modificar una sola variable en lugar de un muchas y arriesgarnos a cometer un error!
GPIO.output(TRIG, True) time.sleep(0.00001) GPIO.output(TRIG, False) while GPIO.input(ECHO) == False: start = time.time()
Arriba, seguimos adelante y emitimos una señal.
while GPIO.input(ECHO) == True: end = time.time() sig_time = end-start
Ahora, cuando finalmente obtenemos un tiempo de entrada, podemos restar el tiempo final de la hora de inicio y calcular la distancia:
#CM: distance = sig_time / 0.000058 #inches: #distance = sig_time / 0.000148 print('Distance: {} centimeters'.format(distance)) GPIO.cleanup()
Imprimimos la distancia, y luego limpiamos los pines.
Tu salida debería ser algo parecido:
Distancia: 8.89959006474 centímetros
Código completo para el tutorial del sensor de distancia con Raspberry Pi
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) TRIG = 4 ECHO = 18 GPIO.setup(TRIG,GPIO.OUT) GPIO.setup(ECHO,GPIO.IN) GPIO.output(TRIG, True) time.sleep(0.00001) GPIO.output(TRIG, False) while GPIO.input(ECHO) == False: start = time.time() while GPIO.input(ECHO) == True: end = time.time() sig_time = end-start #CM: distance = sig_time / 0.000058 #inches: #distance = sig_time / 0.000148 print('Distance: {} centimeters'.format(distance)) GPIO.cleanup()
➡ ¡Felicidades por llegar hasta aquí! El sensor de distancia nos ofrece un sin fin de aplicaciones a nuestros proyectos con Raspberry Pi. Aprende mas del manejo, administración y operación de las Raspberry Pi en nuestro Curso de Raspberry Pi:
[…] Curso de Raspberry Pi con Python, 7º clase […]