#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define LED 2
#define LED2 4
#define SW1 5
#define SW2 16
#define SW3 17
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 20, 4);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
Serial.println("My name is KIttisak Jeenboonme ");
LCD.init();
LCD.backlight();
LCD.setCursor(3, 0);
LCD.print(" POND ");
pinMode(LED, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(SW1, INPUT_PULLUP);
pinMode(SW2, INPUT_PULLUP);
pinMode(SW3, INPUT_PULLUP);
///////////////////LED1&LED2--> OFF <-- //////////////////
digitalWrite(LED, LOW);
Serial.println("LED1 === OFF");
LCD.setCursor(0, 1);
LCD.print("LED1 === OFF ");
digitalWrite(LED2, LOW);
Serial.println("LED2 === OFF");
LCD.setCursor(0, 2);
LCD.print("LED2 === OFF ");
////////////////////////////////////////////////
//LCD.clear();
delay(2000);
}
void loop() {
if (digitalRead(SW1) == LOW){
function_a ();
}
if (digitalRead(SW2) == LOW){
function_LED1();
}
if (digitalRead(SW3) == LOW){
function_LED2();
}
function_off ();
delay(100);
}
void function_a (){
digitalWrite(LED, HIGH);
Serial.println("LED1 === ON");
LCD.setCursor(0, 1);
LCD.print("LED1 === ON ");
digitalWrite(LED2, LOW);
Serial.println("LED2 === OFF");
LCD.setCursor(0, 2);
LCD.print("LED2 === OFF ");
delay(1000);
digitalWrite(LED, LOW);
Serial.println("LED1 === OFF");
LCD.setCursor(0, 1);
LCD.print("LED1 === OFF ");
digitalWrite(LED2, HIGH);
Serial.println("LED2 === ON");
LCD.setCursor(0, 2);
LCD.print("LED2 === ON ");
delay(1000);
}
void function_LED1(){
digitalWrite(LED, HIGH);
Serial.println("LED1 === ON");
LCD.setCursor(0, 1);
LCD.print("LED1 === ON ");
delay(1000);
digitalWrite(LED, LOW);
Serial.println("LED1 === OFF");
LCD.setCursor(0, 1);
LCD.print("LED1 === OFF ");
delay(1000);
}
void function_LED2 (){
digitalWrite(LED2, LOW);
Serial.println("LED2 === OFF");
LCD.setCursor(0, 2);
LCD.print("LED2 === OFF ");
delay(1000);
digitalWrite(LED2, HIGH);
Serial.println("LED2 === ON");
LCD.setCursor(0, 2);
LCD.print("LED2 === ON ");
delay(1000);
}
void function_off (){
///////////////////LED1&LED2--> OFF <-- //////////////////
digitalWrite(LED, LOW);
Serial.println("LED1 === OFF");
LCD.setCursor(0, 1);
LCD.print("LED1 === OFF ");
digitalWrite(LED2, LOW);
Serial.println("LED2 === OFF");
LCD.setCursor(0, 2);
LCD.print("LED2 === OFF ");
////////////////////////////////////////////////
}