I2C capacitive touch keypad for input detection.
Wire Color Connections:
Pin Configuration:
#include <Wire.h>
#define KEYPAD_I2C_ADDR 0x57 // TTP229-I2C default address (use I2C scanner if different)
byte keyPressed = 0;
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println(\"Capacitive Keypad (I2C) Ready. Press a key...\");
}
void loop() {
Wire.requestFrom(KEYPAD_I2C_ADDR, (uint8_t)2);
if (Wire.available() >= 2) {
uint16_t keyData = Wire.read() | (Wire.read() << 8);
for (byte i = 1; i <= 16; i++) {
if (keyData & (1 << (i - 1))) {
keyPressed = i;
Serial.print(\"Key Pressed: \");
Serial.println(keyPressed);
break;
}
}
}
delay(100);
}