In acest articol voi folosi un numar de 4 module touch cu chip-ul TTP223. Aceste module au fost cumparate de pe acest site.
Cele 4 module se alimenteaza cu o tensiune cuprinsa intre +3.3V si +5V iar iesirile fiecarui modul se conecteaza la pinii digitali 4, 5, 6 si 7.
Modulul folosit este cel din poza de mai jos:


Afisarea informatiilor dorite se va face pe un display LCD 1602 conectat prin I2C.
Sketchul folosit este cel de mai jos:
#define touchSw1 4
#define touchSw2 5
#define touchSw3 6
#define touchSw4 7
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
boolean touchState1;
boolean touchState2;
boolean touchState3;
boolean touchState4;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
pinMode(touchSw1, INPUT);
pinMode(touchSw2, INPUT);
pinMode(touchSw3, INPUT);
pinMode(touchSw4, INPUT);
lcd.begin();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Testare butoane");
lcd.setCursor(0, 1);
lcd.print("touch TTP223");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("electronicstore");
lcd.setCursor(13, 1);
lcd.print(".ro");
delay(3000);
lcd.clear();
}
void loop() {
touchState1 = digitalRead(touchSw1);
touchState2 = digitalRead(touchSw2);
touchState3 = digitalRead(touchSw3);
touchState4 = digitalRead(touchSw4);
lcd.setCursor(0, 0);
if (touchState1 == HIGH) {
lcd.print("B1 ON ");
} else {
lcd.print("B1 OFF");
}
lcd.setCursor(8, 0);
if (touchState2 == HIGH) {
lcd.print("B2 ON ");
} else {
lcd.print("B2 OFF");
}
lcd.setCursor(0, 1);
if (touchState3 == HIGH) {
lcd.print("B3 ON ");
} else {
lcd.print("B3 OFF");
}
lcd.setCursor(8, 1);
if (touchState4 == HIGH) {
lcd.print("B4 ON ");
} else {
lcd.print("B4 OFF");
}
}
Un filmulet cu montajul in functiune poate fi vizualizat aici: