forked from arduino12/ttp229b-arduino
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathReadMe.txt
72 lines (71 loc) · 7.97 KB
/
ReadMe.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*********************************** LICENCE ***********************************\
| Copyright (c) 2014, A.E. TEC |
| All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions are met: |
| |
| * Redistributions of source code must retain the above copyright notice, |
| this list of conditions and the following disclaimer. |
| * Redistributions in binary form must reproduce the above copyright notice, |
| this list of conditions and the following disclaimer in the documentation |
| and/or other materials provided with the distribution. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| POSSIBILITY OF SUCH DAMAGE. |
\*****************************************************************************/
/************************************ USES ************************************\
| This library designed to communicate with the TTP229 chip from an Arduino |
| |
| It works with a TTP229 (16-Channel Digital Touch Capacitive Switch Sensor) |
| using the 2-wires serial interface protocol - only 2 arduino pins. |
\*****************************************************************************/
/*********************************** CIRCUIT ***********************************\
| General: |
| * TTP229 VCC to pin VCC |
| * TTP229 GND to pin GND |
| * TTP229 SCL to any pin you choose... |
| * TTP229 SDO to any pin you choose... |
| |
| 16 Buttons Mode (else 8 Buttons Mode): |
| * TTP229 TP2 to GND via 1 Megohm resistor! |
| # Must use the ReadKey16, GetKeys16... else use the ReadKey8, GetKeys8... |
| |
| Multi Keys Mode (else Single key Mode): |
| * TTP229 TP3 to GND via 1 Megohm resistor! |
| * TTP229 TP4 to GND via 1 Megohm resistor! |
| |
| 64Hz Sampling Rate (else 8Hz Sampling Rate): |
| * TTP229 TP5 to GND via 1 Megohm resistor! |
| |
| 2ms Wake Up Rate (else 4ms Wake Up Rate): |
| * TTP229 TP6 to GND via 1 Megohm resistor! |
| |
| 60sec Key On Timeout (else No Key On Timeout): |
| * TTP229 TP7 to GND via 1 Megohm resistor! |
| |
| Important: |
| * Must reconnect the TTP229 power so the mode changes will take effect |
| * The 1 Megohm resistors already exist on some TTP229 modules |
\*****************************************************************************/
Functions:
TTP229(uint8_t sclPin, uint8_t sdoPin); // Constructor
uint8_t
ReadKey8(), // Wait for a key to be touched, then return its index(1 - 8) (When released return 0).
GetKey8(), // If a key is touched, return its index(1 - 8) (else return 0).
ReadKeys8(), // Wait for a touch, then return the keys buffer (each bit represents a key).
GetKeys8(), // Return the keys buffer (each bit represents a key).
ReadKey16(), // Wait for a key to be touched, then return its index(1 - 16) (When released return 0).
GetKey16(); // If a key is touched, return its index(1 - 16) (else return 0).
uint16_t
ReadKeys16(), // Wait for a touch, then return the keys buffer (each bit represents a key).
GetKeys16(); // Return the keys buffer (each bit represents a key).