Controlando tu Arduino con un teclado táctil

Introducción:

En este tutorial, aprenderás a usar el teclado táctil TTP229-BSF para controlar tu Arduino. El TTP229-BSF es un chip que se utiliza comúnmente en placas de teclado táctil, capaz de reconocer hasta 16 toques. Se explorará el uso del módulo en varios modos: el modo de 8 teclas, el modo de 16 teclas y el modo de teclas múltiples (Multi-key).

Materiales necesarios:

  • Placa Arduino (por ejemplo, Arduino UNO)
  • Módulo de teclado táctil con TTP229-BSF
  • Cables de conexión

Una visión general del teclado táctil TTP229-BSF:

El TTP229-BSF es un chip desarrollado por la compañía china Titan Micro Electronics. Se utiliza comúnmente en módulos de teclado táctil debido a su eficacia para detectar la capacitancia en varias configuraciones de teclas.

Aspectos destacados del TTP229-BSF:

  1. Configurable: El chip soporta hasta 16 teclas en una matriz capacitiva. 

  2. Modos de funcionamiento: Puede operar en modo 'Multi-key' (donde se pueden reconocer múltiples teclas pulsadas simultáneamente) y en modo 'Single-key' (donde sólo se reconoce una tecla a la vez).

  3. Comunicación Two-wire:

    • SDO (Serial Data Output): Este es el pin a través del cual los datos se transmiten del chip TTP229-BSF al microcontrolador. 
    • SCL (Serial Clock): Este es el pin que controla la sincronización de los datos transmitidos. 
  4. Bajo consumo de energía: El TTP229-BSF tiene un modo de ahorro de energía incorporado, lo que lo hace adecuado para aplicaciones alimentadas por batería.

Los módulos de teclado táctil basados en el TTP229-BSF son ideales para proyectos de Arduino y otras aplicaciones de microcontroladores donde se necesita una entrada táctil fácil de usar. Su flexibilidad y fácil integración los hacen excelentes para una amplia gama de proyectos, desde teclados musicales interactivos hasta sistemas de control táctiles personalizados.

Modo de 8 teclas

Por defecto, el módulo de teclado táctil TTP229-BSF viene en el modo de 8 teclas, lo que significa que se pueden utilizar 8 de las 16 teclas disponibles en la placa.

En este modo, las salidas OUT1 a OUT8 del módulo corresponden a cada una de las 8 teclas. Cuando tocas una tecla, la salida correspondiente se pone en HIGH (1), y cuando la tecla no se toca, la salida está en LOW (0).

Puedes conectar estas salidas directamente a las entradas digitales de tu placa Arduino y utilizar la función digitalRead() en tu código Arduino para leer el estado de cada tecla.

 Aquí hay un ejemplo simple de cómo puedes hacer esto en tu código Arduino:

 

 Abriendo el monitor serial a 9600 baudios podrás ver cuando se presiona una tecla.

Modo de 16 teclas

El módulo de teclado táctil TTP229-BSF cuando se configura en el modo de 16 teclas, sólo ofrece una interfaz de salida serie. Esto significa que las señales correspondientes a las 16 teclas se transmiten de manera secuencial o "en serie" a través de un único canal de datos, en lugar de utilizar una salida individual para cada tecla.

Para activar el modo de 16 teclas en el módulo táctil TTP229-BSF, debes establecer un puente o soldar el pad TP2. Este pad específico en la placa del módulo se utiliza para alternar entre los modos de 8 y 16 teclas.

La conexiones necesarias se representan en el siguiente diagrama.

A continuación se proporciona un código que realiza lo siguiente:

Cuando el programa comienza, el pin del reloj se pone en estado HIGH. Luego, el programa entra en un bucle en el que:

  1. Pone el pin del reloj en estado LOW. Esto indica al chip TTP229-BSF que debe prepararse para enviar el estado de la próxima tecla.

  2. Lee el estado del pin de datos. Este estado es proporcionado por el chip TTP229-BSF en respuesta a la señal de reloj y representa el estado de la tecla actual. Si el estado es LOW (0), esto significa que la tecla correspodiente está siendo presionada.

  3. Si se detecta que una tecla está siendo presionada, el programa imprime el número de esa tecla.

  4. Finalmente, el pin del reloj se pone de nuevo en estado HIGH, preparándose para la siguiente tecla.

Este proceso se repite 16 veces, una por cada tecla en el módulo. De tal manera que, con cada pulso de reloj, el chip TTP229-BSF envía el estado de una tecla diferente, hasta recorrer todas las 16 teclas.

El uso de un delay de 300ms garantiza que el programa no detecte múltiples pulsaciones por un solo toque en una tecla.

 

Abre el monitor serial a 9600 baudios para recibir los datos.

Modo Multi-key

En este modo, el módulo TTP229-BSF puede reconocer múltiples teclas que se presionan al mismo tiempo. Esto puede ser especialmente útil en proyectos donde se necesita controlar varias funciones a la vez. 

Las conexiones para este modo son las mismas que para el modo de 16 teclas, añadiendo los puentes en los pads TP3 y TP4.

Se proporciona un código que lee y muestra el estado de cada una de las 16 teclas. Para cada tecla, imprime un '0' si la tecla está siendo presionada y un '1' si no lo está. Se añade un salto de línea después de leer todas las teclas, por lo que en la consola del serial verás una nueva línea de 16 dígitos (cada uno representando el estado de una tecla) cada 300 milisegundos.

 En este caso se presionaron las teclas 5,9,8 y 12.

Conclusiones

Ahora que tienes una buena comprensión de cómo utilizar el TTP229-BSF, puedes comenzar a pensar en cómo podrías incorporar esta funcionalidad en tus propios proyectos. Aquí hay algunas ideas:

  1. Controlador de Juegos: Podrías utilizar el teclado táctil como un controlador de videojuegos personalizado. Cada tecla podría representar una acción diferente en tu juego.

  2. Instrumento Musical: Podrías crear un instrumento musical digital, con cada tecla representando una nota musical diferente.

  3. Sistema de Seguridad: Podrías utilizar el teclado táctil para ingresar un código de seguridad que activa o desactiva un sistema de seguridad.

  4. Interfaz de Usuario: Podrías usarlo para crear una interfaz de usuario elegante y moderna para tu próximo proyecto de Arduino.

Continúa experimentando con el módulo de teclado táctil TTP229-BSF y buscando nuevas formas de utilizarlo en tus proyectos. ¡La experimentación es una de las mejores formas de aprender y mejorar tus habilidades de Arduino!

 

Productos Relacionados

Ver artículo

Ver artículo

ArduinoTeclado

Deja un comentario