TTP229 16key touch keypad

Dependents:   TTP229_sample

TTP229 16key touch keypad.
/media/uploads/jk1lot/ttp229_MMK5gIi.jpg

This library support only 16key mode and active low mode
jamper set TP1=1(default) and TP2=0(jamper close).

pin connection

mbed                              TTP229
GPIO(InterruptIn) --------------- SDO
GPIO(DigitalOut)  --------------- SCL
             3.3V --------------- VCC
              GND --------------- GND

sample program is here.

アマゾンで購入したTTP229 を使った16キーのタッチキーパッドを使うためのライブラリです。
このボードは8keyモードにも設定できますが、このライブラリは16キーモード専用です
16キーモードに設定するには TP2を高抵抗でGNDに繋ぎます。私が入手したボードではジャンパ設定の3番をクローズにすればこの状態になります。
TP1で active low と active highの切替が出来ますが、このライブラリは active lowを想定していますので、TP1はデフォルトのまま(GNDには繋がない)にしてください。その他のジャンパは使用目的に応じて自由に設定して構いません。

詳しくはこちらをご覧ください。

Committer:
jk1lot
Date:
Sat Jul 16 17:43:16 2016 +0000
Revision:
2:550c26cd6734
Parent:
0:50226acdb872
collect document of TTP229::attach()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jk1lot 0:50226acdb872 1 #include "TTP229.h"
jk1lot 0:50226acdb872 2
jk1lot 0:50226acdb872 3 TTP229::TTP229(PinName sdopin, PinName sclpin) : sdo(sdopin), sdoInt(sdopin), scl(sclpin)
jk1lot 0:50226acdb872 4 {
jk1lot 0:50226acdb872 5 scl=1;
jk1lot 0:50226acdb872 6 sdoInt.fall(this, &TTP229::interrupt);
jk1lot 0:50226acdb872 7 }
jk1lot 0:50226acdb872 8
jk1lot 0:50226acdb872 9 void TTP229::interrupt()
jk1lot 0:50226acdb872 10 {
jk1lot 0:50226acdb872 11 sdoInt.disable_irq();
jk1lot 0:50226acdb872 12 swnum=0;
jk1lot 0:50226acdb872 13 while(!sdo) {}
jk1lot 0:50226acdb872 14 wait_us(10);
jk1lot 0:50226acdb872 15 for(int i=0; i<16; i++) {
jk1lot 0:50226acdb872 16 scl=0;
jk1lot 0:50226acdb872 17 wait_us(2);
jk1lot 0:50226acdb872 18 if((sw[i]=!sdo)==true) swnum=i+1;
jk1lot 0:50226acdb872 19 scl=1;
jk1lot 0:50226acdb872 20 wait_us(2);
jk1lot 0:50226acdb872 21 }
jk1lot 0:50226acdb872 22 callback();
jk1lot 0:50226acdb872 23 sdoInt.enable_irq();
jk1lot 0:50226acdb872 24 }