Nota
¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Profundiza 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.
Avances Exclusivos: Obtén acceso anticipado a anuncios de nuevos productos y adelantos.
Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones y Sorteos Festivos: Participa en sorteos y promociones navideñas.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.
2.1.3 Módulo de Interruptor Táctil
Introducción
En este proyecto, aprenderás sobre el módulo de interruptor táctil. Puede reemplazar los tipos tradicionales de interruptores con estas ventajas: operación conveniente, agradable sensación al tacto, control preciso y mínimo desgaste mecánico.
Componentes Necesarios
En este proyecto, necesitaremos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ARTÍCULOS EN ESTE KIT |
ENLACE |
|---|---|---|
Kit Raphael |
337 |
También puedes comprarlos por separado en los enlaces a continuación.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
|---|---|
Diagrama Esquemático
Procedimientos Experimentales
Paso 1: Construir el circuito.
Paso 2: Cambiar directorio.
cd ~/raphael-kit/python-pi5
Paso 3: Ejecutar.
sudo python3 2.1.3_TouchSwitch_zero.py
Mientras el código se está ejecutando, el LED rojo se enciende; cuando tocas el módulo de interruptor táctil, el LED amarillo se enciende.
Advertencia
Si recibe el mensaje de error RuntimeError: Cannot determine SOC peripheral base address, consulte Si «gpiozero» no funciona.
Código
Nota
Puedes Modificar/Restablecer/Copiar/Ejecutar/Detener el código a continuación. Pero antes de eso, necesitas ir a la ruta del código fuente como raphael-kit/python-pi5. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.
#!/usr/bin/env python3
from gpiozero import LED, Button # Importa las clases LED y Button de gpiozero
from time import sleep # Importa sleep para retrasos
# Inicializa el sensor táctil (Button) en el pin GPIO 17, con la resistencia pull-up deshabilitada
touch_sensor = Button(17, pull_up=False) # Adecuado para sensores que llevan el pin a bajo cuando se presionan
# Inicializa LED1 y LED2 conectados a los pines GPIO 22 y 27 respectivamente
led1 = LED(22) # LED1 conectado al pin GPIO 22
led2 = LED(27) # LED2 conectado al pin GPIO 27
try:
# Monitorea continuamente el estado del sensor táctil y controla los LEDs en consecuencia
while True:
if touch_sensor.is_pressed: # Check if the touch sensor is pressed
print('You touch it!') # Output message indicating sensor activation
led1.off() # Turn off LED1
led2.on() # Turn on LED2
else: # If the sensor is not pressed
led1.on() # Turn on LED1
led2.off() # Turn off LED2
sleep(0.5) # Pausa de 0.5 segundos antes de verificar nuevamente el estado del sensor
except KeyboardInterrupt:
# Maneja una interrupción de teclado (Ctrl+C) para salir del bucle limpiamente
pass
Explicación del Código
Esta línea configura el script para ejecutarse con Python 3. Importa
LEDyButtondegpiozeropara controlar dispositivos GPIO, ysleepdetimepara retrasos.#!/usr/bin/env python3 from gpiozero import LED, Button # Importa las clases LED y Button de gpiozero from time import sleep # Importa sleep para retrasos
Inicializa un sensor táctil (como un Button) en el pin GPIO 17 con pull-up deshabilitado, y dos LEDs en los pines GPIO 22 y 27.
# Inicializa el sensor táctil (Button) en el pin GPIO 17, con la resistencia pull-up deshabilitada touch_sensor = Button(17, pull_up=False) # Adecuado para sensores que llevan el pin a bajo cuando se presionan # Inicializa LED1 y LED2 conectados a los pines GPIO 22 y 27 respectivamente led1 = LED(22) # LED1 conectado al pin GPIO 22 led2 = LED(27) # LED2 conectado al pin GPIO 27
El bucle principal verifica el estado del sensor táctil. Cuando se toca, LED2 se enciende y LED1 se apaga; cuando no se toca, LED1 está encendido y LED2 apagado. El bucle se repite cada 0.5 segundos. Captura un KeyboardInterrupt (como Ctrl+C) para permitir la terminación limpia del script.
try: # Monitorea continuamente el estado del sensor táctil y controla los LEDs en consecuencia while True: if touch_sensor.is_pressed: # Check if the touch sensor is pressed print('You touch it!') # Output message indicating sensor activation led1.off() # Turn off LED1 led2.on() # Turn on LED2 else: # If the sensor is not pressed led1.on() # Turn on LED1 led2.off() # Turn off LED2 sleep(0.5) # Pausa de 0.5 segundos antes de verificar nuevamente el estado del sensor except KeyboardInterrupt: # Maneja una interrupción de teclado (Ctrl+C) para salir del bucle limpiamente pass