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.

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

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

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

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

👉 ¿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 fino, 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

ELEMENTOS EN ESTE KIT

ENLACE

Kit Raphael

337

Raphael Kit

También puedes comprarlos por separado en los siguientes enlaces.

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 de directorio.

cd ~/raphael-kit/c/2.1.3/

Paso 3: Compilar.

gcc 2.1.3_TouchSwitch.c -lwiringPi

Paso 4: Ejecutar.

sudo ./a.out

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.

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 touchPin        0
#define led1            3
#define led2            2

int main(void)
{
    // When initialize wiring failed, print message to screen
    if(wiringPiSetup() == -1){
        printf(etup w"siringPi failed !");
        return 1;
    }

    pinMode(touchPin, INPUT);
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);

    while(1){
        // touch switch high, led1 on
        if(digitalRead(touchPin) == 1){
            digitalWrite(led1, LOW);
            digitalWrite(led2, HIGH);
            printf("You touch it! \r\n");
        }
        // touch switch low, led2 on
        if(digitalRead(touchPin) == 0){
            digitalWrite(led2, LOW);
            digitalWrite(led1, HIGH);
        }
    }

    return 0;
}

Explicación del Código

#define touchPin        0
#define led1            3
#define led2            2

Los pines GPIO17, GPIO22 y GPIO27 de la T_Extension Board corresponden a los GPIO0, GPIO3 y GPIO2 en wiringPi. Asigna GPIO0, GPIO3 y GPIO2 a touchPin, led1 y led2.

pinMode(touchPin, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
Configura led1 y led2 como salidas para escribir valores en ellos y configura

touchPin como entrada para leer valores de él.

while(1){
    // touch switch high, led1 on
    if(digitalRead(touchPin) == 1){
        digitalWrite(led1, LOW);
        digitalWrite(led2, HIGH);
        printf("You touch it! \r\n");
    }
    // touch switch low, led2 on
    if(digitalRead(touchPin) == 0){
        digitalWrite(led2, LOW);
        digitalWrite(led1, HIGH);
    }
}

Establece un bucle infinito, cuando tocas el módulo de interruptor táctil, touchPin está alto, led1 se encenderá e imprimirá «You touch it!». Cuando touchPin está bajo, led2 se encenderá.

Imagen del Fenómeno

../_images/2.1.3touch_switch_module.JPG