Letztens sind in einer Lieferung von elektronischen Bauteilen aus China auch die folgenden Touch-Sensor-Module angekommen. Ich habe noch keine richtige Verwendung dafür, aber ich musste sie sofort ausprobieren. Da das Datenblatt des Moduls leider auf chinesisch ist, habe ich die wichtigsten Fakten daraus im Folgenden festgehalten.
HTTM ist die Abkürzung für "HelTec Touch Model".
Es gibt einige verschiedene Bauformen:
Bauform: "HTTM-xyz"
x: Anzahl der Tasten: S: Einzeltaste, D: Doppeltaste, T: Dreiertaste, F: Vierertaste
y: Version: C: Standard-Version, S: Spezial-Edition
z: Hintergrundbeleuchtungs-Farbe: B: blau, R: rot, G: grün
Beispiele:
HTTM-SCR: Einzeltaste, Standard-Version, rote Hintergrundbeleuchtung
HTTM-FSB: Touch-Modul mit vier Tasten, benutzerdefinierter Version und blauer Hintergrundbeleuchtung
Der Output-Modus kann beim HTTM-Modul geändert werden, indem ein Widerstand von ca. 10kΩ auf eine spezielle Lötstellen angebracht wird.
In dem Experiment wird durch Berühren des Touch-Sensors eine LED zum Leuchten bzw. Erlöschen gebracht.
#define PIN_LED 13
#define PIN_TOUCH_SWITCH 7
byte buttonState;
void setup()
{
pinMode(PIN_TOUCH_SWITCH, INPUT);
pinMode(PIN_LED, OUTPUT);
}
void loop()
{
buttonState = digitalRead(PIN_TOUCH_SWITCH);
if (buttonState == HIGH) {
digitalWrite(PIN_LED, HIGH);
} else {
digitalWrite(PIN_LED, LOW);
}
}
Es ist auch möglich die LED des Touch-Sensors direkt anzusprechen. Dafür muss aber die Verdrahtung etwas
geändert werden, d.h. der Sensor-Anschluss VCC
mit statt an 5V and einen digitalen Pin des Arduino
angeschlossen werden, damit die LED des Sensors dynamisch an- und ausgeschaltet werden kann. Der folgende
Versuch benutzt 4 Sensoren mir verschieden farbigen LEDs und lässt ein kleines Lauflicht entstehen.
#define PIN_AMOUNT 4
byte leds[PIN_AMOUNT] = {8, 9, 10, 11};
byte buttons[PIN_AMOUNT] = {4, 5, 6, 7};
void setup()
{
for (byte i = 0; i < PIN_AMOUNT; i++) {
pinMode(leds[i], OUTPUT);
pinMode(buttons[i], INPUT);
digitalWrite(leds[i], LOW);
}
}
void loop()
{
for (byte i = 0; i < PIN_AMOUNT; i++) {
pinMode(buttons[i], OUTPUT);
digitalWrite(buttons[i], HIGH);
digitalWrite(leds[i], HIGH);
delay(150);
pinMode(buttons[i], INPUT);
digitalWrite(buttons[i], LOW);
digitalWrite(leds[i], LOW);
}
}