#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define SDA_PIN 14
#define SCL_PIN 13
#define TOUCH_PIN 4
#define LED_PIN 26

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {

  Serial.begin(115200);

  /* Initialize I2C with custom pins */
  Wire.begin(SDA_PIN, SCL_PIN);

  /* Pin Modes */
  pinMode(TOUCH_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);

  /* LCD Start */
  lcd.init();
  lcd.backlight();

  lcd.setCursor(0,0);
  lcd.print("Touch Sensor");
  lcd.setCursor(0,1);
  lcd.print("System Ready");

  delay(2000);
  lcd.clear();
}

void loop() {

  int touchState = digitalRead(TOUCH_PIN);

  if (touchState == HIGH) {

    digitalWrite(LED_PIN, HIGH);

    lcd.setCursor(0,0);
    lcd.print("Touch Detected ");
    lcd.setCursor(0,1);
    lcd.print("LED ON          ");

  } 
  else {

    digitalWrite(LED_PIN, LOW);

    lcd.setCursor(0,0);
    lcd.print("No Touch        ");
    lcd.setCursor(0,1);
    lcd.print("LED OFF         ");

  }

  delay(200);
}