TTP229 16key touch keypad
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には繋がない)にしてください。その他のジャンパは使用目的に応じて自由に設定して構いません。
詳しくはこちらをご覧ください。
TTP229.cpp@0:50226acdb872, 2016-07-16 (annotated)
- Committer:
- jk1lot
- Date:
- Sat Jul 16 11:19:03 2016 +0000
- Revision:
- 0:50226acdb872
1st published version
Who changed what in which revision?
User | Revision | Line number | New 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 | } |