Erriez TTP229 touch sensitive 4x4 keypad library for Arduino  1.0.0
This is a TTP229 touch sensitive 4x4 keypad library for Arduino
Erriez TTP229 touch sensitive keypad library for Arduino

This is an TTP229 touch sensitive library for Arduino.

TTP229

Library features

Design notes

Examples

Getting started

{c++}
#include <ErriezTTP229.h>
// TTP229 pin defines
#if defined(ARDUINO_ARCH_AVR)
#define TTP229_SDO_PIN 2 // SDO to interrupt pin 2 (INT0) or pin 3 (INT1)
#define TTP229_SCL_PIN 3 // SCL to any DIGITAL IO pin
#elif defined(ARDUINO_ARCH_ESP8266)
#define TTP229_SDO_PIN D1 // Interrupt pin
#define TTP229_SCL_PIN D2 // Any pin
#elif defined(ARDUINO_ARCH_ESP32)
#define TTP229_SDO_PIN 16 // Keep GPIO0 low during programming
#define TTP229_SCL_PIN 4
#else
#error "May work, but not tested on this target"
#endif
// Create keypad object
ErriezTTP229 ttp229;
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
ICACHE_RAM_ATTR
#endif
void keyChange()
{
// A key press changed
ttp229.keyChange = true;
}
void setup()
{
// Initialize serial
Serial.begin(115200);
while (!Serial) {
;
}
Serial.begin(115200);
Serial.println(F("\nErriez TTP229 single 16-keys keypad example"));
// Initialize keypad with interrupt
ttp229.begin(TTP229_SCL_PIN, TTP229_SDO_PIN);
// Initialize interrupt pin on SD0
attachInterrupt(digitalPinToInterrupt(TTP229_SDO_PIN), keyChange, FALLING);
}
void loop()
{
// Print key
if (ttp229.keyChange) {
Serial.println(ttp229.GetKey16());
ttp229.keyChange = false;
}
}

Library dependencies

Hardware

Arduino UNO

Arduino UNO

ESP8266

Arduino ESP8266

ESP32

Arduino ESP32

DUE

Arduino DUE

Library installation

Please refer to the Wiki page.

Other Arduino Libraries and Sketches from Erriez