Nota
¡Hola, bienvenido a la Comunidad de Entusiastas de Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook! Profundiza más en Raspberry Pi, Arduino y ESP32 con otros entusiastas.
¿Por qué unirse?
Soporte experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Preestrenos exclusivos: Accede anticipadamente a nuevos anuncios de productos y adelantos.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones festivas y sorteos: Participa en sorteos y promociones especiales.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy mismo!
Lección 24: Módulo Sensor de Vibración (SW-420)
En esta lección, aprenderás a utilizar un sensor de vibración con la Raspberry Pi. Te guiaremos para conectar el sensor al pin GPIO 17 y escribir un script sencillo en Python. Este script monitorizará el sensor e imprimirá un mensaje cada vez que se detecte una vibración. Esta lección está enfocada en dar una experiencia práctica a los principiantes para conectar un sensor simple a la Raspberry Pi y escribir un script básico para interactuar con él.
Componentes Requeridos
En este proyecto, necesitamos los siguientes componentes.
Es muy conveniente comprar un kit completo, aquí tienes el enlace:
Nombre |
ARTÍCULOS EN ESTE KIT |
ENLACE |
|---|---|---|
Kit de Sensores Universal Maker |
94 |
También puedes comprarlos por separado desde los enlaces a continuación.
Introducción del Componente |
Enlace de compra |
|---|---|
Raspberry Pi 5 |
|
Conexión
Código
from gpiozero import InputDevice
import time
# Conectar la salida digital del sensor de vibración al GPIO17 de la Raspberry Pi
vibration_sensor = InputDevice(17)
# Bucle continuo para leer del sensor
while True:
# Comprobar si el sensor está activo (no se detecta vibración)
if vibration_sensor.is_active:
print("Vibration detected!")
else:
# Cuando el sensor está inactivo (vibración detectada)
print("...")
# Esperar 1 segundo antes de leer el sensor nuevamente
time.sleep(1)
Análisis del Código
Importación de Bibliotecas
El script comienza importando
gpiozerode la librería gpiozero para interactuar con el sensor de vibración, ytimedesde el módulo time para el control de tiempo.from gpiozero import InputDevice import time
Configuración del Sensor de Vibración
Inicializamos el sensor de vibración creando una instancia de
InputDevicedesde la libreríagpiozero. El sensor de vibración está conectado al pin GPIO 17 de la Raspberry Pi.vibration_sensor = InputDevice(17)
Bucle de Monitoreo Continuo
Se utiliza un bucle
while Truepara monitorear continuamente el sensor. Este bucle se ejecutará indefinidamente hasta que el programa sea detenido manualmente.while True:
Comprobación del Estado del Sensor y Salida
Dentro del bucle, utilizamos una sentencia
ifpara comprobar el estado del sensor de vibración. Sivibration_sensor.is_activeesTrue, significa que no se detecta vibración, y se imprime «¡Vibración detectada!».Si
vibration_sensor.is_activeesFalse, indicando que se detectó una vibración, se imprime «…» en su lugar.Esta distinción es clave para entender cómo se interpreta la salida del sensor en el código.
if vibration_sensor.is_active: print("Vibration detected!") else: print("...")
Retraso
Finalmente,
time.sleep(1)agrega un retraso de 1 segundo entre cada iteración del bucle. Este retraso es crucial para evitar la sobrecarga de la CPU y para hacer que la salida sea legible.time.sleep(1)