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:

 

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.