Nota

¡Hola! Bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook. Sumérgete 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.

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

  • Previsualizaciones exclusivas: 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 navideñas.

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

2.1.4 Interruptor Deslizante

Introducción

En este proyecto, aprenderemos a usar un interruptor deslizante. Por lo general, el interruptor deslizante se suelda en PCB como interruptor de encendido, pero aquí necesitamos insertarlo en la placa de pruebas, por lo que puede no estar apretado. Y lo usamos en la placa de pruebas para mostrar su función.

Componentes Requeridos

En este proyecto, necesitamos los siguientes componentes.

../_images/list_2.1.2_slide_switch.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 DEL COMPONENTE

ENLACE DE COMPRA

Placa de Extensión GPIO

COMPRAR

Protoboard

COMPRAR

Cables de Puente

COMPRAR

Resistor

COMPRAR

LED

COMPRAR

Interruptor Deslizante

COMPRAR

Capacitor

COMPRAR

Diagrama Esquemático

Conecta el pin central del interruptor deslizante al GPIO17 y dos LEDs a los pines GPIO22 y GPIO27 respectivamente. Luego, cuando deslices el interruptor, verás que los dos LEDs se encienden alternativamente.

../_images/image305.png ../_images/image306.png

Procedimientos Experimentales

Paso 1: Construye el circuito.

../_images/image161.png

Paso 2: Ingresa en la carpeta del código.

cd ~/raphael-kit/python

Paso 3: Ejecuta.

sudo python3 2.1.4_Slider.py

Mientras el código se está ejecutando, mueve el interruptor hacia la izquierda, entonces el LED amarillo se encenderá; hacia la derecha, el LED rojo se encenderá.

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.

import RPi.GPIO as GPIO
import time

# Establece GPIO17 como pin del interruptor deslizante, GPIO22 como pin del led1, GPIO27 como pin del led2
slidePin = 17
led1Pin = 22
led2Pin = 27

# Define una función de configuración para algunas configuraciones
def setup():
    # Configura los modos GPIO a Numeración BCM
    GPIO.setmode(GPIO.BCM)
    # Configura slidePin como entrada
    # Configura ledPin como salida,
    # y nivel inicial a Alto (3.3v)
    GPIO.setup(slidePin, GPIO.IN)
    GPIO.setup(led1Pin, GPIO.OUT, initial=GPIO.HIGH)
    GPIO.setup(led2Pin, GPIO.OUT, initial=GPIO.HIGH)

# Define una función principal para el proceso principal
def main():
    while True:
        # interruptor deslizante alto, led1 encendido
        if GPIO.input(slidePin) == 1:
            print ('    LED1 ON    ')
            GPIO.output(led1Pin, GPIO.LOW)
            GPIO.output(led2Pin, GPIO.HIGH)

        # interruptor deslizante bajo, led2 encendido
        if GPIO.input(slidePin) == 0:
            print ('    LED2 ON    ')
            GPIO.output(led2Pin, GPIO.LOW)
            GPIO.output(led1Pin, GPIO.HIGH)

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

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

Explicación del Código

if GPIO.input(slidePin) == 1:
            GPIO.output(led1Pin, GPIO.LOW)
            GPIO.output(led2Pin, GPIO.HIGH)

Cuando el interruptor deslizante se mueve hacia la derecha, el pin del medio y el derecho se conectan; la Raspberry Pi lee un nivel alto en el pin del medio, por lo que el LED1 se enciende y el LED2 se apaga.

if GPIO.input(slidePin) == 0:
            GPIO.output(led2Pin, GPIO.LOW)
            GPIO.output(led1Pin, GPIO.HIGH)

Cuando el interruptor deslizante se mueve hacia la izquierda, el pin del medio y el izquierdo se conectan; la Raspberry Pi lee un nivel bajo, por lo que el LED2 se enciende y el LED1 se apaga.

Imagen del Fenómeno

../_images/image162.jpeg