Das 16er Touch Tasten Feld mit dem TTP229 Chip wird vom Arduino Uno seriell ausgelesen.
Dazu muss eine Brücke (siehe Bild) auf der fertigen Platine HW-136 gesteckt werden um alle 16 Tasten einzeln seriell auszulesen.
5V und GND werden am Arduino angeschlossen.
SCL und SDO werden auf beliebige digitale Pins des Arduino gelegt. Ich habe hier Pin 2 und 3 verwendet.
Hier der Aufbau:
Hier das Programm für den Arduino:
// TTP229 (HW-136) touch field with 16 pads // serial read to Arduino Uno // connected: 5V & GND, SCL > Pin3, SDO > Pin2 // // Matthias Busse 12.11.2022 Ver. 1.0 #define SCL 3 // connect SCL to Pin 3 #define SDO 2 // connecz SDO to Pin 2 int key; void setup() { Serial.begin(38400); pinMode(SCL, OUTPUT); pinMode(SDO, INPUT); Serial.println("start"); } void loop() { key=readTTP229(); // read touch pad if(key>0) { // if key pressed, then print Serial.println(key); delay(500); // wait while pressed } } int readTTP229(void) { byte i, pad=0; for(i=1; i<17; i++) { // read all 16 touch pads 1-16 digitalWrite(SCL, LOW); if(!digitalRead(SDO)) pad=i; // if touched store pad no. digitalWrite(SCL, HIGH); } return pad; }
Und die Ausgabe:
Verwendet wurden:
Arduino Uno
16er Touchpad TTP229 HW-136
von Matthias Busse
Pingback: Eine längere Zahl mit dem TTP229 Touch Pad eingeben und bei ENTER ausgeben. | Shelvin – Elektronik ausprobiert und erläutert
Pingback: Teil 3 : 16er Touchpad TTP229 mit Bestätigung, Kommastellen und +/- Wechsel | Shelvin – Elektronik ausprobiert und erläutert