Touch Keypad (KS0260) mit 16 Tasten für Arduino & Raspberry

In diesem Beitrag möchte ich dir zeigen, wie du das Touch Keypad vom Typ KS0260 mit 16 Tasten am Arduino programmieren kannst.

Touch Keypad (KS0260) mit 16 Tasten für Arduino & Raspberry
Touch Keypad (KS0260) mit 16 Tasten für Arduino & Raspberry

Das Touch Keypad wird in einem kleinen Karton fertig aufgebaut geliefert, du brauchst also eigentlich nur noch 4 Breadboardkabel und einen Mikrocontroller.

Bezug des Touchkeypad

Das mir vorliegende Modell habe ich auf ebay.de für knapp 4,7 € zzgl. Versandkosten bestellt.

Aufbau

Das Touchkeypad KS0260 wird per I2C angeschlossen und somit ergeben sich 4 Pins welche mit dem Mikrocontroller verbunden werden.

Anschluss an den Mikrocontroller

Das Modul verfügt über eine 4 polige Stiftleiste, welche wir mit einfachen Breadboardkabel an den Mikrocontroller anschließen können.

Pins vom Touch Keypad KS0260 von Keyestudio
Pins vom Touch Keypad KS0260 von Keyestudio

Wie auf dem Bild oben zu sehen verfügt das Modul über eine I2C Schnittstelle, somit ergibt sich nachfolgender Anschlussplan:

KS0260Arduino Mikrocontroller
3V33.3V
SDAanaloger Pin A4
SCLanaloger Pin A5
GNDGND

Für diesen Beitrag verwende ich den Funduino UNO, welcher dem Arduino UNO sehr ähnlich ist.

Mikrocontroller Funduino UNO mit Touch Keypad KS0260 von Keyestudio
Mikrocontroller Funduino UNO mit Touch Keypad KS0260 von Keyestudio

Anschluss & Programmieren

Im nachfolgenden YouTube Video erläutere ich dir, wie du das Touch Keypad KS0260 von Keyestudio an den Funduino UNO anschließt und programmierst.

Keyestudio Touch Keypad KS0260 am Arduino UNO programmieren

Programmieren

Für die Programmierung des Touchkeypad Typ KS0260 benötigen wir noch eine Bibliothek, diese können wir über die Wiki-Seite Ks0260 keyestudio TTP229L 16-key Touch Sensor als RAR-Datei inkl. Beispiel herunterladen.

Da jedoch das Beispiel vom Hersteller unnötige Ausgaben auf der seriellen Schnittstelle erzeugt und auch die Tasten dort nicht ausreichend beschrieben sind, habe ich mir die Zeit genommen und die Bibliothek erweitert.

Du kannst diese Bibliothek unter nachfolgenden Link herunterladen und als ZIP-Bibliothek in der Arduino IDE installieren (was bei der RAR-Datei nicht möglich war / ist).

Verwenden der Bibliothek

Wie erwähnt lässt sich die ZIP-Datei als Bibliothek in die Arduino IDE einbinden und auch enthält diese ein kleines Beispiel.

Die 16 Tasten haben nun jeweils einen Namen und können über diesen angesprochen werden. Um an diese Namen zu gelangen, müssen wir lediglich die Klasse KS0260Button initialisieren und können dann auf die Konstanten zugreifen.

Konstanten für die Tasten auf dem Modul KS0260 von Keyestudio
Konstanten für die Tasten auf dem Modul KS0260 von Keyestudio

Jetzt kann man recht easy mit einem If-Statement prüfen, ob die gedrückte Taste einem der Buttons entspricht.

data = TTP229_i2c_read();
if (data != 2 && data != 0) {
   String button = "-undefine-";
   switch (data) {
      case btns.button_power:
         button = "Power";
         break;
     }
}

In dem Code Snipped klammer ich die Werte 2 & 0 aus, denn diese werden abwechselnd ausgegeben, auch wenn keine Taste betätigt wird.

Beispiel

Nachfolgend das Beispiel, welches ich der ZIP-Datei beigelegt habe.

#include "TTP229L_I2C.h"

unsigned int data;

#define debugKs0260 false

KS0260Buttons btns = KS0260Buttons();
btns.button_

void setup() {
  Serial.begin(9600);
}

void loop() {
  data = TTP229_i2c_read();
  if (data != 2 && data != 0) {
    String button = "-undefine-";
    switch (data) {
      case btns.button_power:
        button = "Power";
        break;
      case btns.button_raspberry:
        button = "Raspberry";
        break;
      case btns.button_up:
        button = "Up";
        break;
      case btns.button_down:
        button = "Down";
        break;
      case btns.button_left:
        button = "Left";
        break;
      case btns.button_right:
        button = "Right";
        break;
      case btns.button_home:
        button = "Home";
        break;
      case btns.button_triangle:
        button = "Triangle";
        break;
      case btns.button_quare:
        button = "Quare";
        break;
      case btns.button_circle:
        button = "Circle";
        break;
      case btns.button_cross:
        button = "Cross";
        break;
      case btns.button_l:
        button = "L";
        break;
      case btns.button_minus:
        button = "Minus (-)";
        break;
      case btns.button_plus:
        button = "Plus (+)";
        break;
      case btns.button_r:
        button = "R";
        break;
      default:
        Serial.println("Unknown Code[" + String(data, DEC) + "] found!");
    }
    Serial.println(button);
  }
}

Wenn man diesen Code auf dem Mikrocontroller überspielt und Tasten auf dem Touch Keypad betätigt, dann wird der jeweilige Text auf der seriellen Schnittstelle ausgegeben.

Ein Kommentar

Kommentar hinterlassen

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