Nota

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

¿Por qué unirse?

  • Soporte de Expertos: Resuelve problemas post-venta 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: Accede anticipadamente a nuevos anuncios de productos y vistas previas.

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

  • Promociones y Sorteos Festivos: Participa en sorteos y promociones festivas.

👉 ¿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. Usualmente, el interruptor deslizante se suelda en una PCB como interruptor de encendido, pero aquí necesitamos insertarlo en la placa de pruebas, por lo que puede no estar bien ajustado. Lo utilizamos en la placa de pruebas para mostrar su función.

Componentes Necesarios

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

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

Interruptor Deslizante

COMPRAR

Capacitor

COMPRAR

Diagrama Esquemático

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

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

Procedimientos Experimentales

Paso 1: Monta el circuito.

../_images/image161.png

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

cd ~/raphael-kit/c/2.1.4

Paso 3: Compila el código.

gcc 2.1.4_Slider.c -lwiringPi

Paso 4: Ejecuta el archivo compilado.

sudo ./a.out

Mientras el código se está ejecutando, si el interruptor está conectado a la izquierda, el LED amarillo se encenderá; si está a la derecha, el LED rojo se encenderá.

Nota

Si no funciona después de ejecutarlo, o aparece un mensaje de error: "wiringPi.h: No such file or directory", por favor consulta Instalar y verificar WiringPi.

Código

#include <wiringPi.h>
#include <stdio.h>
#define slidePin        0
#define led1            3
#define led2            2

int main(void)
{
    // When initialize wiring failed, print message to screen
    if(wiringPiSetup() == -1){
        printf("setup wiringPi failed !");
        return 1;
    }
    pinMode(slidePin, INPUT);
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    while(1){
        // slide switch high, led1 on
        if(digitalRead(slidePin) == 1){
            digitalWrite(led1, LOW);
            digitalWrite(led2, HIGH);
            printf("LED1 on\n");
        }
        // slide switch low, led2 on
        if(digitalRead(slidePin) == 0){
            digitalWrite(led2, LOW);
            digitalWrite(led1, HIGH);
            printf(".....LED2 on\n");
        }
    }
    return 0;
}

Explicación del Código

if(digitalRead(slidePin) == 1){
            digitalWrite(led1, LOW);
            digitalWrite(led2, HIGH);
            printf("LED1 on\n");
    }

Cuando el interruptor deslizante se mueve a la derecha, el pin central y el derecho están conectados; la Raspberry Pi lee un nivel alto en el pin central, por lo que el LED1 se enciende y el LED2 se apaga.

if(digitalRead(slidePin) == 0){
            digitalWrite(led2, LOW);
            digitalWrite(led1, HIGH);
            printf(".....LED2 on\n");
        }

Cuando el interruptor deslizante se mueve a la izquierda, el pin central y el izquierdo están conectados; 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