Nota

¡Hola, bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook! Sumérgete en el mundo de 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.

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

  • Preestrenos exclusivos: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.

  • Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.

  • Promociones festivas y sorteos: Participa en sorteos y promociones de temporada.

👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo!

2.1.2 Microinterruptor

Introducción

En este proyecto, aprenderemos cómo usar un microinterruptor. Un microinterruptor es un pequeño interruptor muy sensible que requiere una compresión mínima para activarse. Debido a que son fiables y sensibles, los microinterruptores se utilizan a menudo como dispositivos de seguridad.

Se utilizan para evitar que las puertas se cierren si algo o alguien está en el camino y en otras aplicaciones similares.

Componentes Necesarios

En este proyecto, necesitamos los siguientes componentes.

../_images/2.1.2_micro_switch_list.png

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

Nombre

ELEMENTOS EN ESTE KIT

ENLACE

Kit Raphael

337

Raphael Kit

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

INTRODUCCIÓN AL COMPONENTE

ENLACE DE COMPRA

Placa de Extensión GPIO

COMPRAR

Protoboard

COMPRAR

Cables de Puente

COMPRAR

Resistor

COMPRAR

LED

COMPRAR

Microinterruptor

-

Capacitor

COMPRAR

Diagrama Esquemático

Conecta el pin izquierdo del microinterruptor a GPIO17, y dos LEDs a los pines GPIO22 y GPIO27 respectivamente. Luego, cuando presionas y sueltas el brazo móvil del microinterruptor, puedes ver los dos LEDs encenderse alternativamente.

../_images/2.1.2_micro_switch_schematic_1.png ../_images/2.1.2_micro_switch_schematic_2.png

Procedimientos Experimentales

Paso 1: Monta el circuito.

../_images/2.1.2_micro_switch_circuit.png

Paso 2: Accede a la carpeta del código.

cd ~/raphael-kit/python-pi5

Paso 3: Ejecuta.

sudo python3 2.1.2_MicroSwitch_zero.py

Mientras el código se está ejecutando, presiona el brazo móvil, entonces el LED amarillo se enciende; suelta el brazo móvil, el LED rojo 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  # Importar clases LED y Button de gpiozero
from time import sleep  # Importar función sleep para retrasos

# Inicializar el microinterruptor en el pin GPIO 17 sin activar el resistor pull-up
micro_switch = Button(17, pull_up=False)
# Inicializar LED1 conectado al pin GPIO 22
led1 = LED(22)
# Inicializar LED2 conectado al pin GPIO 27
led2 = LED(27)

try:
    # Comprobar continuamente el estado del microinterruptor y controlar los LEDs en consecuencia
    while True:
        if micro_switch.is_pressed:  # If the micro switch is pressed
            print('LED1 ON')  # Print a message to the console
            led1.on()       # Turn on LED1
            led2.off()      # Turn off LED2
        else:  # If the micro switch is not pressed
            print('    LED2 ON')  # Print a message to the console
            led1.off()      # Turn off LED1
            led2.on()       # Turn on LED2

        sleep(0.5)  # Pausar 0.5 segundos antes de comprobar el interruptor nuevamente

except KeyboardInterrupt:
    # Manejar KeyboardInterrupt (Ctrl+C) para salir del bucle de forma segura
    pass

Explicación del Código

  1. Esta línea configura el script para ejecutarse con Python 3. Importa LED y Button de gpiozero para controlar dispositivos GPIO, y sleep de time para retrasos.

    #!/usr/bin/env python3
    from gpiozero import LED, Button  # Importar las clases LED y Button de gpiozero
    from time import sleep  # Importar la función sleep para retrasos
    
  2. Inicializa un microinterruptor conectado al pin GPIO 17 con la resistencia pull-up deshabilitada, y dos LEDs conectados a los pines GPIO 22 y 27.

    # Inicializar el microinterruptor en el pin GPIO 17 sin activar la resistencia pull-up
    micro_switch = Button(17, pull_up=False)
    # Inicializar LED1 conectado al pin GPIO 22
    led1 = LED(22)
    # Inicializar LED2 conectado al pin GPIO 27
    led2 = LED(27)
    
  3. En el bucle principal, se verifica el estado del microinterruptor. Si está presionado, el LED1 se enciende y el LED2 se apaga. Si no está presionado, el LED1 se apaga y el LED2 se enciende. El bucle se repite cada 0.5 segundos. Captura un KeyboardInterrupt (como Ctrl+C) para permitir la terminación segura del script.

    try:
        # Comprobar continuamente el estado del microinterruptor y controlar los LEDs en consecuencia
        while True:
            if micro_switch.is_pressed:  # If the micro switch is pressed
                print('LED1 ON')  # Print a message to the console
                led1.on()       # Turn on LED1
                led2.off()      # Turn off LED2
            else:  # If the micro switch is not pressed
                print('    LED2 ON')  # Print a message to the console
                led1.off()      # Turn off LED1
                led2.on()       # Turn on LED2
    
            sleep(0.5)  # Pausar por 0.5 segundos antes de verificar el interruptor nuevamente
    
    except KeyboardInterrupt:
        # Manejar KeyboardInterrupt (Ctrl+C) para salir del bucle de forma segura
        pass