16er Touch Pad TTP229 mit dem Arduino Uno auslesen.

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

Zum Teil 2 und Teil 3

2 Gedanken zu „16er Touch Pad TTP229 mit dem Arduino Uno auslesen.

  1. Pingback: Eine längere Zahl mit dem TTP229 Touch Pad eingeben und bei ENTER ausgeben. | Shelvin – Elektronik ausprobiert und erläutert

  2. Pingback: Teil 3 : 16er Touchpad TTP229 mit Bestätigung, Kommastellen und +/- Wechsel | Shelvin – Elektronik ausprobiert und erläutert

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.