#include <LiquidCrystal_I2C.h> //ประกาศเรียกใช้งานไลบลาลี่ LCD
LiquidCrystal_I2C lcd(0x27,16,2); //กำหนดเเอดเดรสเเละขนาดจอ
#define pot A0 //กำหนดชื่อและอุปกรณ์
#define led1 10 // กำหนดชื่อเเละขา
#define led2 11 //กำหนดชื่อเเละขา
int status_pot; //ประกาศตัวเเปรมาไว้เก็บค่า pot
int map_pot; //ประกาศตัวแปรมาไว้เก็บค่าที่ map แล้ว
void setup() {
lcd.init(); //กำหนดให้แสดงข้อความออกหน้าจอ lcd
lcd.backlight(); //ทำให้ไฟพื้นหลังติด
pinMode(pot, INPUT); //กำหนดให้เป็น INPUT
pinMode(led1, OUTPUT); //กำหนดให้เป็นOUTPUT
pinMode(led2, OUTPUT); //กำหนดให้เป็นOUTPUT
}
void loop() {
status_pot = analogRead(pot); //อ่านค่าจากpot แล้วเก็บไว้ในตัวแปร
lcd.setCursor(0,0); //กำหนดตำแหน่งก่อนพิมพ์
lcd.print("status_pot= "); //ปริ้นข้อความ
lcd.setCursor(12,0); //กำหนดตำเเหน่องก่อนพิมพ์
lcd.print(status_pot); //ปริ้นค่าตัวแปรที่เก็บไว้ status_pot
delay(1000); //หน่วงเวลา1วิ
lcd.clear(); //เคลียร์จอ
map_pot = map(status_pot,0,1023,0,255); //เปลี่ยนค่าสเตตัสพอสจาก0-1023 เป็น 0-255 เเล้วเก็บไว้ในตัวแปร map_pot
lcd.setCursor(0,1); //กำหนดตำแหน่งก่อนพิมพ์
lcd.print("map_pot = "); //ปริ้นข้อความ
lcd.setCursor(12,1); //กำหนดตำแหน่งก่อนพิมพ์
lcd.print(map_pot); //ปริ้พ์ข้อความ
analogWrite(led1,map_pot); //led1ติด
analogWrite(led2,255-map_pot); //led2ติดตามสมการ
}