Nota

¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete más en Raspberry Pi, Arduino y ESP32 con otros entusiastas.

¿Por qué unirse?

  • Soporte Experto: Resuelve problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo.

  • Aprender y Compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Avances Exclusivos: Obtén acceso anticipado a nuevos anuncios de productos y vistas previas.

  • Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.

  • 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, sensación de toque fina, control preciso y menor desgaste mecánico.

Componentes Necesarios

En este proyecto, necesitamos los siguientes componentes.

../_images/2.1.3component.png

Es definitivamente conveniente comprar un kit completo, aquí está el enlace:

Nombre

ARTÍCULOS EN ESTE KIT

ENLACE

Kit Raphael

337

Raphael Kit

También puedes comprarlos por separado en los enlaces a continuación.

INTRODUCCIÓN DEL COMPONENTE

ENLACE DE COMPRA

Placa de Extensión GPIO

COMPRAR

Protoboard

COMPRAR

Cables de Puente

COMPRAR

Resistor

COMPRAR

LED

COMPRAR

Módulo de Interruptor Táctil

COMPRAR

Diagrama Esquemático

../_images/2.1.3circuit.png

Procedimientos Experimentales

Paso 1: Construir el circuito.

../_images/2.1.3fritzing.png

Paso 2: Cambiar directorio.

cd ~/raphael-kit/python/

Paso 3: Ejecutar.

sudo python3 2.1.3_TouchSwitch.py

Mientras el código está en ejecución, el LED rojo se enciende; cuando tocas el módulo de interruptor táctil, el LED amarillo se enciende.

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. Después de modificar el código, puedes ejecutarlo directamente para ver el efecto.

#!/usr/bin/env python3

import RPi.GPIO as GPIO
import time

# Establecer el pin #17 como pin del interruptor táctil, #22 como pin del led1, #27 como pin del led2
touchPin = 17
led1Pin = 22
led2Pin = 27

# Definir una función de configuración para algunas configuraciones
def setup():
    # Establecer los modos GPIO a numeración BCM
    GPIO.setmode(GPIO.BCM)
    # Establecer touchPin como entrada
    # Establecer ledPin como salida,
    # y el nivel inicial en alto (3.3v)
    GPIO.setup(touchPin, GPIO.IN)
    GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
    GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)

# Definir una función principal para el proceso principal
def main():
    while True:
        # interruptor táctil en alto, led1 encendido
        if GPIO.input(touchPin) == 1:
            print ('You touch it!')
            GPIO.output(led1Pin, GPIO.LOW)
            GPIO.output(led2Pin, GPIO.HIGH)

        # interruptor táctil en bajo, led2 encendido
        if GPIO.input(touchPin) == 0:
            GPIO.output(led2Pin, GPIO.LOW)
            GPIO.output(led1Pin, GPIO.HIGH)

        time.sleep(0.5)
# Definir una función destroy para limpiar todo después de
# que el script haya terminado
def destroy():
    # Apagar LED
    GPIO.output(led1Pin, GPIO.HIGH)
    GPIO.output(led2Pin, GPIO.HIGH)
    # Liberar recursos
    GPIO.cleanup()

# Si ejecutas este script directamente, haz:
if __name__ == '__main__':
    setup()
    try:
        main()
    # Cuando se presiona 'Ctrl+C', el programa
    # destroy() se ejecutará.
    except KeyboardInterrupt:
        destroy()

Explicación del Código

touchPin = 17
led1Pin = 22
led2Pin = 27

touchPin, led1Pin y led2Pin están conectados a los GPIO17, GPIO22 y GPIO27, es decir, BCM17, BCM22 y BCM27.

GPIO.setmode(GPIO.BCM)
    GPIO.setup(touchPin, GPIO.IN)
    GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
    GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)

Configurar los modos GPIO a numeración BCM. Establecer led1Pin, led2Pin en modo de salida y su nivel inicial en alto (3.3v).

# interruptor táctil en alto, led1 encendido
if GPIO.input(touchPin) == 1:
    print ('You touch it!')
    GPIO.output(led1Pin, GPIO.LOW)
    GPIO.output(led2Pin, GPIO.HIGH)

# interruptor táctil en bajo, led2 encendido
if GPIO.input(touchPin) == 0:
    GPIO.output(led2Pin, GPIO.LOW)
    GPIO.output(led1Pin, GPIO.HIGH)

Cuando tocas el módulo del interruptor táctil, touchPin está en alto, led1 se encenderá y mostrará «¡Lo tocaste!». Cuando touchPin está en bajo, led2 se encenderá.

Imagen del Fenómeno

../_images/2.1.3touch_switch_module.JPG