#include <IRremoteESP8266.h>
#include <IRsend.h>
#include <ir_Daikin.h>
#define IR_LED_PIN 4 // ขาที่ต่อ IR LED (ปรับตามบอร์ดคุณ)
// สร้าง object ควบคุม Daikin
IRDaikinESP ac(IR_LED_PIN);
void setup() {
Serial.begin(115200);
ac.begin();
Serial.println("เริ่มต้นส่งคำสั่ง Daikin IR...");
// ตั้งค่าการทำงาน
ac.on(); // เปิดแอร์
ac.setMode(kDaikinCool); // โหมดเย็น
ac.setTemp(25); // อุณหภูมิ 25°C
ac.setFan(kDaikinFanAuto); // พัดลม Auto
ac.setSwingVertical(false); // ปิดส่ายแนวตั้ง
// ส่งคำสั่งไปแอร์
ac.send();
Serial.println("ส่งคำสั่ง Daikin เรียบร้อย!");
}
void loop() {
// ถ้าต้องการส่งซ้ำทุก X วินาที
delay(5000);
ac.send();
Serial.println("ส่งคำสั่งซ้ำ Daikin IR");
}
/*
// นี่คือตัวอย่าง ESP32 + IRremoteESP8266
// ที่ให้คุณปรับค่า Mode / Temperature / Fan / Swing ผ่าน Serial Monitor ได้เลย
#include <IRremoteESP8266.h>
#include <IRsend.h>
#include <ir_Daikin.h>
#define IR_LED_PIN 4 // ขาที่ต่อ IR LED (ปรับตามบอร์ดคุณ)
IRDaikinESP ac(IR_LED_PIN);
void setup() {
Serial.begin(115200);
ac.begin();
Serial.println("Daikin IR Controller (ESP32)");
Serial.println("ป้อนคำสั่ง: mode,temp,fan,swing");
Serial.println("ตัวอย่าง: 1,25,2,0");
Serial.println("Mode: 0=Auto,1=Cool,2=Dry,3=Fan,4=Heat");
Serial.println("Fan: 0=Auto,1=Min,2=Med,3=High");
Serial.println("Swing: 0=Off,1=On");
}
void loop() {
if (Serial.available()) {
String input = Serial.readStringUntil('\n');
input.trim();
if (input.length() == 0) return;
int mode, temp, fan, swing;
char sep;
if (sscanf(input.c_str(), "%d,%d,%d,%d", &mode, &temp, &fan, &swing) == 4) {
// ตั้งค่าตาม Serial input
ac.setMode((daikin_mode_t)mode);
ac.setTemp(temp);
ac.setFan((daikin_fan_t)fan);
ac.setSwingVertical(swing == 1);
ac.on(); // เปิดแอร์
// ส่งคำสั่งไปแอร์
ac.send();
Serial.print("ส่งคำสั่ง: Mode=");
Serial.print(mode);
Serial.print(" Temp=");
Serial.print(temp);
Serial.print(" Fan=");
Serial.print(fan);
Serial.print(" Swing=");
Serial.println(swing);
} else {
Serial.println("รูปแบบไม่ถูกต้อง! ใช้: mode,temp,fan,swing");
}
}
}
*/