#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int buttonPin = 3;
int buttonState = 0 ;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรตำแหน่งที่0 แถวที่ 1 เตรียมพิมพ์ข้อความ
lcd.print("LCD1602 I2c Test"); //พิมพ์ข้อความ "LCD1602 I2c Test"
lcd.setCursor(2, 1); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรกำแหน่งที3 แถวที่ 2 เตรียมพิมพ์ข้อความ
lcd.print("myarduino.net"); //พิมพ์ข้อความ "myarduino.net"
pinMode(buttonPin, INPUT);// กำหนดขาทำหน้าที่ให้ขา 3 เป็น INPUT รับค่าจากสวิตช์
}
void loop() {
buttonState = digitalRead(buttonPin); // อ่านค่าสถานะขา3
if (buttonState == HIGH) { //กำหนดเงื่อนไขถ้าตัวแปล buttonState เก็บ ค่า 1(HIGH) ให้ทำในปีกกา
lcd.setCursor(0, 0); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรตำแหน่งที่0 แถวที่ 1 เตรียมพิมพ์ข้อความ
lcd.print("LCD1602 I2c Test"); //พิมพ์ข้อความ "LCD1602 I2c Test"
lcd.setCursor(2, 1); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรกำแหน่งที3 แถวที่ 2 เตรียมพิมพ์ข้อความ
lcd.print("esp32"); //พิมพ์ข้อความ "myarduino.net"
lcd.setCursor(2, 1); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรกำแหน่งที3 แถวที่ 2 เตรียมพิมพ์ข้อความ
lcd.print("test"); //พิมพ์ข้อความ "myarduino.net"
}
else { //ถ้าตัวแปล buttonState ไม่ได้เก็บ ค่า 1(HIGH) คือ ตัวแปล buttonState เก็บค่า 0(LOW) อยู่ ให้ทำปีกกาข้างล่าง
// ไฟ LED 1ดับ
lcd.setCursor(0, 0); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรตำแหน่งที่0 แถวที่ 1 เตรียมพิมพ์ข้อความ
lcd.print("LCD1602 I2c Test"); //พิมพ์ข้อความ "LCD1602 I2c Test"
lcd.setCursor(2, 1); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรกำแหน่งที3 แถวที่ 2 เตรียมพิมพ์ข้อความ
lcd.print("not fond"); //พิมพ์ข้อความ "myarduino.net"
}
}