#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// กำหนดที่อยู่ของ LCD2004 I2C
LiquidCrystal_I2C lcd(0x27, 20, 4); // เปลี่ยนที่อยู่ I2C ถ้าไม่ตรง
// กำหนดขาของ LED
const int ledPins[] = {15, 2, 4, 16, 17, 5, 18, 19};
const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]); // จำนวน LED
// หน่วงเวลาในการเปิด/ปิด LED
const int delayTime = 200; // 200 ms
void setup() {
// เริ่มต้นการใช้งานจอ LCD
lcd.init();
lcd.backlight();
// แสดงข้อความบนจอ LCD
lcd.setCursor(0, 0);
lcd.print("HELLO FRIENDS...");
lcd.setCursor(0, 1);
lcd.print("WELCOME TO");
lcd.setCursor(0, 2);
lcd.print("IOT2/2567");
// ตั้งค่าขา LED เป็น OUTPUT
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW); // เริ่มต้นด้วยการปิด LED ทั้งหมด
}
}
void loop() {
// เปิด LED จากซ้ายไปขวา
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH); // เปิด LED
delay(delayTime); // หน่วงเวลา
}
// ปิด LED จากขวาไปซ้าย
for (int i = numLeds - 1; i >= 0; i--) {
digitalWrite(ledPins[i], LOW); // ปิด LED
delay(delayTime); // หน่วงเวลา
}
}