16 Touches Tactile Capacitif TTP229 I2C Module
Vue d’ensemble
Module tactile capacitif basé sur la puce TTP229BSF avec 16 entrées tactiles indépendantes. Communique via un protocole série I²C-like (2 fils). Détecte le toucher sur n’importe quel matériau conducteur — pads PCB personnalisés, objets métalliques, encre conductrice, ou même fruits (parfait pour les projets MaKey MaKey).
Spécifications
| Spécification | Valeur |
|---|---|
| Sensor IC | TTP229BSF |
| Touch Inputs | 16 (or 8 in 8-key mode) |
| Interface | I2C (2-wire serial) or single-output mode |
| Operating Voltage | 2.4 V – 5.5 V |
| Operating Current (16-key mode) | 2.5 µA typical |
| Operating Current (8-key mode) | 2.0 µA typical |
| Sensitivity Adjustment | External capacitor 0–50 pF |
| Re-calibration Period | ~4 seconds (auto) |
| Output Logic | Active HIGH on key press |
| Multi-touch | Single-key only (16-key mode); multi in 8-key mode |
| Operating Temperature | −40 °C to +85 °C |
Applications courantes
- Claviers personnalisés (saisie PIN, navigation menu)
- Contrôleurs musicaux (touches MIDI)
- Installations artistiques interactives
- Projets éducatifs type MaKey MaKey (piano banane)
- Panneaux de contrôle industriels avec surfaces étanches
Programmation
#define SCL_PIN 2
#define SDO_PIN 3
uint16_t readTouch() {
uint16_t data = 0;
for (int i = 0; i < 16; i++) {
digitalWrite(SCL_PIN, LOW);
delayMicroseconds(2);
digitalWrite(SCL_PIN, HIGH);
delayMicroseconds(2);
if (digitalRead(SDO_PIN) == LOW) {
data |= (1 << i); // active LOW on press
}
}
return data;
}
void setup() {
pinMode(SCL_PIN, OUTPUT);
pinMode(SDO_PIN, INPUT);
digitalWrite(SCL_PIN, HIGH);
Serial.begin(9600);
}
void loop() {
uint16_t keys = readTouch();
if (keys) {
Serial.print("Keys: 0x");
Serial.println(keys, HEX);
}
delay(50);
}