TTP223B Sensor de Toque Touch Modulo para Arduino 2-5.5VDC Teclado Capacitivo TTP229 de 16 Teclas

[TTP229B] TTP223B Sensor de Toque Touch Modulo para Arduino 2-5.5VDC Teclado Capacitivo TTP229 de 16 Teclas

https://electrofranko.com/web/image/product.template/298/image_1920?unique=8b7f284

S/ 20.00 20.0 PEN S/ 20.00

S/ 20.00

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: TTP229B

Teclado Matricial Capacitivo de 16 Canales TTP229B

Módulo de detección táctil multipunto para interfaces de usuario complejas y control por bus serial o bidireccional.

El TTP229B es un módulo de teclado táctil capacitivo de 16 canales diseñado para crear interfaces numéricas de control avanzadas sin partes mecánicas móviles. Basado en el chip de alta estabilidad TTP229, este dispositivo monitoriza de forma independiente dieciséis zonas sensoras dispuestas en una matriz de 4x4. Por defecto, opera en un modo simplificado de 8 canales con salidas paralelas individuales, pero al puentear sus terminales de hardware traseros, activa su rango completo de 16 teclas mediante una interfaz de comunicación serial sincrónica de dos hilos (SCL/SDO). Es altamente versátil, de bajo consumo y autocalibrable.

Especificaciones Técnicas

Parámetro EléctricoRango / Valor Oficial
Sistemas CompatiblesArduino, ESP32, STM32, PIC, Raspberry Pi
Voltaje de Alimentación2.4 V a 5.5 V DC
Corriente de Operación (Vcc=3V)25 µA a 32 µA (En modo activo continuo)
Corriente en Reposo (Low Power)2.5 µA a 4.0 µA (Modo sleep profundo)
Modos de Interfaz8 Canales Directos / 16 Canales Seriales 2 hilos
Frecuencia del Reloj Serial (SCL)Hasta 512 kHz (Sincronismo de datos ágil)
Indicadores Visuales en PlacaLED piloto de encendido integrado
Parámetro Operativo / FísicoRango / Valor Oficial
Tiempo de Respuesta de Teclas~100 ms tras transición desde reposo
Opciones de DetecciónMulti-tecla simultánea o Tecla única ("Single key")
Tasa de Muestreo InternaAjustable dinámicamente según el ruido
Capacitancia Base Soportada0.5 pF a 50 pF por cada almohadilla
Materiales Soportados (Cubierta)Vidrio, Acrílico, Madera, Plásticos (< 4mm)
Dimensiones de la Placa PCB65 mm x 50 mm
Peso Neto del DispositivoAproximadamente 12.5 gramos

Compatibilidad y Ventajas en Arduino, ESP32 y Raspberry Pi

Ahorro Crítico de Pines GPIO: Mediante su protocolo serial propietario de dos hilos (SCL/SDO), lee una matriz completa de 16 teclas empleando únicamente dos pines digitales del microcontrolador, a diferencia de los teclados mecánicos clásicos que requieren 8 cables.

Prevención de Falsas Pulsaciones: Cuenta con una función avanzada de exclusión mutua programable por hardware que permite bloquear lecturas accidentales provocadas por apoyar la mano completa o rozar varias teclas a la vez.

Excelente Durabilidad Estructural: Al no tener contactos metálicos propensos a oxidación ni resortes mecánicos que sufran fatiga, el teclado resiste millones de pulsaciones y tolera la humedad ambiente sin degradar su rendimiento.

El conexionado del TTP229B varía según el modo elegido. Para operar a 16 canales, se conecta el bus serie a los pines digitales de control seleccionados.

Galería Dinámica de Conexiones de Hardware

Esquema 1: Arduino Uno TTP229B Serial
Esquema 3: Puentes de Configuración TP1 a TP7
Esquema 2: Pinout del Bloque de Control
Esquema 4: Configuración TTP229B con ESP32
Guía Esencial de Configuración por Jumpers: De fábrica, el módulo solo lee las primeras **8 teclas** mediante salidas individuales en su bornera lateral. Para desbloquear el modo de **16 teclas de matriz completa**, es obligatorio colocar un puente físico corto (soldadura) en los pines rotulados como **TP2**. Para conectar el bus serie a su microcontrolador (por ejemplo, Arduino Uno), utilice cuatro cables básicos: **VCC** a 5V, **GND** a Tierra, el pin de reloj **SCL** conectado al pin digital **3** y el pin de datos **SDO (o OUT)** direccionado al pin digital **2**. El protocolo lee de forma sincrónica el estado de los 16 canales bit por bit.
🎓 Mecanismo de Desplazamiento Sincrónico y Lectura Bit a Bit

Para implementar por software la lectura del TTP229B en modo extendido de 16 canales sin recurrir a librerías externas complejas, analice su dinámica de transmisión:

  • Estado de Alerta de Datos (SDO): Cuando el sensor detecta que una de las 16 almohadillas táctiles ha sido presionada, el pin SDO cae a nivel BAJO de manera autónoma, actuando como un aviso o flag de interrupción para el procesador anfitrión.
  • Ciclo de Muestreo por Tren de Reloj: Para recuperar qué tecla exacta fue accionada, el microcontrolador debe generar manualmente un tren secuencial de **16 pulsos de reloj** enviando flancos a la línea SCL. En cada flanco de bajada de SCL, el chip TTP229B desplaza un bit de información hacia la línea SDO.
  • Decodificación del Mapa de Teclas: El software lee consecutivamente la línea SDO en cada uno de los 16 ciclos. Si el bit leído presenta un valor de 0 (Lógica invertida), indica que esa tecla específica en la matriz se encuentra pulsada en ese instante. Los 16 bits se consolidan en una sola variable entera.
// Código Completo y Detallado para la Lectura de 16 Canales del TTP229B // Implementa el protocolo serie de dos hilos nativo por software (Bit-Banging) libre de librerías #include <Arduino.h> const int PIN_SCL = 3; // Pin de salida de Reloj (Generado por el microcontrolador) const int PIN_SDO = 2; // Pin de entrada de Datos (Enviado por el módulo TTP229B) void setup() { // Inicialización del terminal serie para monitorear las teclas pulsadas Serial.begin(115200); // Configuración de direcciones de pines para el bus de dos hilos pinMode(PIN_SCL, OUTPUT); pinMode(PIN_SDO, INPUT); // Establece el pin de reloj en estado ALTO de reposo según el protocolo digitalWrite(PIN_SCL, HIGH); Serial.println("--- Lector de Matriz Táctica TTP229B Iniciado ---"); Serial.println("Asegurese de soldar el puente TP2 en el modulo para habilitar 16 teclas."); Serial.println("---------------------------------------------------------------------"); } // Función encargada de realizar el escaneo bit a bit del bus serial de dos hilos uint16_t escanearTecladoTTP229() { uint16_t mapaTeclas = 0; // El chip TTP229B coloca SDO en BAJO cuando se presiona cualquier tecla if (digitalRead(PIN_SDO) == LOW) { // Bucle cíclico para leer los 16 canales táctiles uno por uno for (int i = 0; i < 16; i++) { // Genera un pulso de reloj: baja la línea SCL digitalWrite(PIN_SCL, LOW); delayMicroseconds(5); // Pequeño tiempo de estabilización de señal // El chip TTP229B coloca los datos válidos en los flancos de bajada // Nota: El integrado opera con lógica invertida (0 significa tecla pulsada) if (digitalRead(PIN_SDO) == LOW) { mapaTeclas |= (1 << i); // Registra el bit en la posición correspondiente } // Restablece la línea de reloj a nivel ALTO para preparar el siguiente ciclo digitalWrite(PIN_SCL, HIGH); delayMicroseconds(5); } // Retardo de protección final exigido por el datasheet para dar tiempo al chip a refrescar su registro delay(20); } return mapaTeclas; } void loop() { // Captura el mapa binario del teclado de 16 bits uint16_t matrizTeclas = escanearTecladoTTP229(); if (matrizTeclas != 0) { Serial.print("[ DETECCIÓN ]: Tecla(s) activa(s): "); // Recorre el mapa binario para imprimir de forma clara qué número de tecla fue pulsado (Del 1 al 16) for (int boton = 0; boton < 16; boton++) { if (matrizTeclas & (1 << boton)) { Serial.print("K"); Serial.print(boton + 1); // Suma 1 para mapearlo de 1 a 16 en lugar de índice 0 a 15 Serial.print(" "); // Bloque de ejemplo para asignación de acciones basadas en la tecla específica if ((boton + 1) == 1) { // Acción específica para la tecla K1 (Ejemplo: Activar bomba, encender relé, etc.) } } } Serial.println(); Serial.println("---------------------------------------------------------------------"); // Retardo de cortesía para evitar saturación de datos en la consola serie delay(200); } delay(10); // Pausa de alivio para el lazo principal }
1. ¿Por qué el módulo TTP229B solo lee hasta la tecla número 8 de forma predeterminada?
Por defecto de fábrica, el circuito integrado arranca en su modo básico de 8 canales con salidas paralelas de un solo pin para compatibilidad directa sin código. Para expandir el funcionamiento a los 16 canales de la matriz completa, es indispensable soldar de forma permanente los terminales del puente **TP2** ubicados en la cara posterior de la placa de circuito impreso.
2. ¿Cuál es la función exacta de los puentes TP1, TP3, TP4 o TP5 que trae la placa?
Permiten configurar el comportamiento del software interno del chip:
TP1: Modifica la frecuencia de salida del bus de datos (Activo=64Hz / Abierto=8Hz).
TP3: Cambia el modo de lectura a tecla única ("Single-key"), desactivando lecturas si se detecta más de un dedo.
TP4: Activa el modo multi-tecla, permitiendo combinaciones de botones simultáneas.
TP5: Altera el tiempo de expiración antes de la autocalibración cíclica en caso de que un objeto se quede apoyado.
3. ¿Es este módulo compatible con la librería estándar I2C de Arduino (Wire.h)?
No. Aunque físicamente utiliza líneas llamadas SCL y SDO que asemejan un bus I2C estándar, el protocolo de transmisión de datos del TTP229B es un protocolo serial síncrono propietario de dos hilos. No maneja direcciones físicas de dispositivo de 7 bits ni registros internos esclavos. Intentar escanearlo con un código I2C común no devolverá ningún resultado; requiere una subrutina dedicada de lectura de pulsos (como la suministrada en la pestaña de código).
4. ¿Qué espesor máximo de acrílico o vidrio templado tolera este panel táctil?
El TTP229B posee una sensibilidad excelente. Puede trabajar de forma idónea montado detrás de cubiertas sólidas aislantes de plástico, metacrilato, acrílico transparente o láminas de vidrio de entre 2 mm y 4 mm de espesor sin perder capacidad de respuesta. No obstante, asegúrese de que no queden bolsas de aire atrapadas entre el teclado y la cubierta exterior protectora para evitar atenuaciones del campo electromagnético.
5. ¿Por qué el teclado realiza disparos erráticos si lo alimento desde fuentes conmutadas baratas?
Los sensores capacitivos miden sutiles variaciones de carga electrostática a frecuencias elevadas. Las fuentes de alimentación conmutadas de baja calidad o cargadores telefónicos genéricos inyectan un alto nivel de ruido rizado de alta frecuencia ("ripple") en la línea de VCC. Este ruido perturba el comparador diferencial interno del TTP229 provocando activaciones fantasma. Coloque un capacitor de **100 nF** en paralelo con uno de **10 µF** directamente soldados entre los pines de VCC y GND del teclado para aislarlo.
6. ¿Cómo se puede limpiar o impermeabilizar la cara frontal de las teclas?
La gran ventaja de la tecnología capacitiva es el aislamiento. Puede aplicar una capa delgada de barniz protector dieléctrico para circuitos impresos o pegar una película vinílica autoadhesiva directamente encima de los números en la PCB. Esto aislará por completo las pistas de cobre frente a derrames accidentales de agua, polvo, grasa o desgaste por fricción, prolongando indefinidamente la vida del panel.