November 29,2021

Teclado táctil capacitivo TTP224

by Marcel Lundberg

En este proyecto vamos a utilizar el módulo del teclado táctil capacitivo TTP224, el cual es un teclado capacitivo de 4 teclas, lo utilizaremos en dos proyectos, el primero será solo capturar la información del sensor para visualizarlas por el monitor serial y el segundo utilizaremos el módulo para interactuar con unos LED y un zumbador.

Módulo de teclado capacitivo TTP224

Sensor táctil capacitivo TPP224

El módulo táctil capacitivo TTP224 es un sensor capacitivo táctil de 4 canales y está basado en el integrado TTP224 de Tonek Design Technology, consta de 4 sensores táctiles que al tocarlos encienden un LED y envían una señal digital a nuestro Arduino o al microcontrolador que estemos usando, también podría utilizare como pulsadores. Este CI de detección táctil está diseñado para reemplazar los pulsadores tradicionales. Por lo que es ideal para utilizar nen cualquier lugar donde sea necesario el toque humano con poca o ninguna fuerza.

En un módulo bastante práctico y muy fácil para hacer interfaz con el Arduino, básicamente es alimentar el módulo y un pin del Arduino por cada pin de salida del teclado,hay que tener en cuenta esto según el proyecto, porque utilizaría 4 pines del Arduino y en modelos con más teclas, usaría más pines, ahí seria bueno utilizar mejor los modelos que tiene Adafruit o Sparkfun que tiene conexión por I2C o SPI.

Este módulo tiene 6 pines o terminales, tiene un terminal VCC y un GND, para alimentar el módulo y posee otros 4 terminales para la salida de las 4 teclas, OUT1-OUT4. Utiliza el integrado TTP224 para controlarlo y 4 LED para monitorizar cuando se presiona cada tecla.

Especificaciones:

Voltaje de operación: 2.4 – 5V

Tiempo de respuesta: 100ms

Número de canales: 4

Temperatura de funcionamiento: -20 °C a 80 °C

Componentes

Arduino UNO o placa compatible

Protoboard o placa de pruebas

Módulo de teclado táctil capacitivo TTP224

Cables o Jumpers

Proyecto 22 – Teclado táctil capacitivo TPP224

Este diagrama nos muestra un esquema de conexiones bastante simple, mirando de derecha a izquierda el módulo veremos los pines de salida, el pin OUT1 se conectará al pin 8 del Arduino, el OUT2 se conectará al pin 9 del Arduino, OUT3 se conectará al pin 10 del Arduino, OUT4 se conectará al pin 8 del Arduino. Luego vamos con las conexiones de energía del módulo, luego sigue el pin GND del módulo que irá a tierra del Arduino y por último el pin VCC que irá al pin de 5V del Arduino.

Pin módulo TTP224 Pin Arduino OUT1 8 OUT2 9 OUT3 10 OUT4 11 GND GND VCC 5V

Código

El código de este proyecto es muy corto y simple.

int pinTecla1 = 8; int pinTecla2 = 9; int pinTecla3 = 10; int pinTecla4 = 11; bool estadoBoton1, estadoBoton2, estadoBoton3, estadoBoton4; void setup() { for (int i = pinTecla1; i <= pinTecla4; i++) { pinMode(i, INPUT); } Serial.begin(9600); } void loop() { estadoBoton1 = digitalRead(pinTecla1); estadoBoton2 = digitalRead(pinTecla2); estadoBoton3 = digitalRead(pinTecla3); estadoBoton4 = digitalRead(pinTecla4); Serial.println(String(estadoBoton1) + "t"+String(estadoBoton2) + "t"+String(estadoBoton3) + "t"+String(estadoBoton4)); }

Comenzaremos a revisar el código, primero vamos a ver las declaraciones de las variables.

int pinTecla1 = 8; int pinTecla2 = 9; int pinTecla3 = 10; int pinTecla4 = 11; bool estadoBoton1, estadoBoton2, estadoBoton3, estadoBoton4;

Declaramos 4 variables de tipo entero, una para cada pin de salida del módulo, así tendríamos que la tecla 1 se conectará el pin 8 del Arduino, la tecla 3 al 9, la tecla 3 al 10 y la tecla 4 al 11. Luego declaramos 4 variables de tipo booleano en las que almacenaremos el estado de cada una de las teclas.

En la función setup:

for (int i = pinTecla1; i <= pinTecla4; i++) { pinMode(i, INPUT); } Serial.begin(9600);

En el setup normalmente estableceríamos un pinMode por cada pin de entrada o salida que vamos a utilizar pero en este caso utilizamos un for, for (int i = pinTecla1; i <= pinTecla4; i++) el cual seria de forma más simple for (int i = 8; i <=11; i++) , que ejecutará pinMode(i, INPUT) cuatro veces, la primera seria pinMode(8, INPUT) hasta pinMode(11, INPUT) .

Por último vemos Serial.begin(9600) donde inicializamos la comunicación serial a una velocidad de 9600 baudios que utilizaremos para ver los estados de cada una de las teclas por el monitor serial

Y en la función loop:

estadoBoton1 = digitalRead(pinTecla1); estadoBoton2 = digitalRead(pinTecla2); estadoBoton3 = digitalRead(pinTecla3); estadoBoton4 = digitalRead(pinTecla4); Serial.println(String(estadoBoton1) + "t"+String(estadoBoton2) + "t"+String(estadoBoton3) + "t"+String(estadoBoton4));

Esta parte es bastante simple, comenzamos con estadoBoton1 = digitalRead(pinTecla1) , donde a la variable estadoBoton1 le asignamos el valor que tiene el pin 8 del Arduino, es decir la tecla 1 y como es un valor booleano eso sería un 1 o un 0, luego sigue estadoBoton2 = digitalRead(pinTecla2) donde a la variable estadoBoton2 a la cual le asignamos el valor del pin 9 del Arduino, el cual corresponde a la tecla 2, seguimos con estadoBoton3 = digitalRead(pinTecla3) en donde le asignamos a estadoBoton3 el valor que capturamos del pin 10 del Arduino, estadoBoton4 = digitalRead(pinTecla4) en donde le asignamos a estadoBoton4 el valor que capturamos del pin 11 del Arduino.

La última línea Serial.println(String(estadoBoton1) + "t"+String(estadoBoton2) + "t"+String(estadoBoton3) + "t"+String(estadoBoton4)) , una línea algo larga pero es bastante simple, tenemos un Serial.println donde imprimiremos por el monitor serial el valor de las 4 variables donde guardamos el estado de las 4 teclas separados por una tabulación.

Ejemplo de la salida por monitor serial

Resumen

En el proyecto veremos por medio del monitor serial el estado de cada uno de las 4 teclas, cuando se toca alguna tecla, aparecerá un 1 en el monitor serial, de lo contrario aparecerá un 0.

En el siguiente proyecto usaremos el teclado interactuando con unos LED y un zumbador.

  • Marcel Lundberg
  • November 29,2021

Leave a Reply