Go Down

Topic: TTP229 16 Channel Digital Capacitive Switch Touch (Read 14605 times) previous topic - next topic


Hi guys. I just bought    Arduino TTP229 16 Channel Digital Capacitive Switch Touch and cant find neather librarie nor test code. can any one help?


Were you able to find anything about this? I am trying to find a way to connect only I2C connections only.


They have sold dozens of these on eBay, me included, with vague references to Arduino. I cannot find any specific info as to hookup or library or example for arduino. There is a datasheet for the ic and a schematic here... https://www.openimpulse.com/blog/products-page/product-category/ttp229-capacitive-touch-sensor-module-16-channels/ but I don't see how it connects to the arduino and theres no library besides. Anyone get all 16 keys working?


Steve Greenfield AE7HD
Drawing Schematics: tinyurl.com/23mo9pf - tinyurl.com/o97ysyx - https://tinyurl.com/Technote8
Multitasking: forum.arduino.cc/index.php?topic=223286.0
gammon.com.au/blink - gammon.com.au/serial - gammon.com.au/interrupts


Mar 01, 2015, 02:54 pm Last Edit: Mar 01, 2015, 02:57 pm by tschmitz
Here is my simple Example to read the Module using SDD and SCL (this is not I2C!). 


Also check out this post: http://forum.arduino.cc/index.php?topic=301382.msg2252580#msg2252580

Uses external interrupt so no need to constantly poll the device.


Visit our IR Remote Control Blog and Infrared RC for Air Conditioners
KontroLIR: 100% Arduino compatible IR Remote Control
LearnIR: Most advanced IR Learner USB Dongle


Apparently, the "DV" line is the "Data Valid" line and it is an output which I suppose could be used to generate an interrupt on the Arduino if you connect it to pin D2 or D3 (the interrupt input lines). I have a TTP226 8 Channel version of the board which I'll try to get going today. With the 16 input version you will likely have to use the 6 analog input lines as well as 10 of the digital input lines to handle the 16 switch output lines. This is in addition to D2 (or D3) as the interrupt input line (tied to the DV output of the capacitive keypad). Since it requires so many I/O pins which is considered a valuable resource, might need to use a couple 8-bit PISO shift registers to latch the output of the keypad and shift it all into a single digital input pin on the Arduino. I suppose you could also do a I2C interface, but I have not done one of them before. Going with a pair of PISO shift registers which likely will require a couple control lines as well would likely result in an interface more like the SPI (like as what you'd end up with interfacing a 1602 LCD display using a 74LS595). Seems easier to me than going I2C.

Go Up