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