#include <IRremote.hpp> // 使用IRremote庫
const int RECV_PIN = 11; // 紅外接收頭連接的數字引腳
const int RELAY_PIN = 10; // 繼電器連接的數字引腳
void setup() {
Serial.begin(9600);
IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK); // 啟動紅外接收
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // 確保繼電器初始為斷開狀態
}
void loop() {
if (IrReceiver.decode()) { // 如果接收到紅外信號
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX); // 在串口監視器打印按鍵碼
// 檢查接收到的碼值是否是你想要的鍵(例如 0xBF40FF00)
if (IrReceiver.decodedIRData.decodedRawData == 0xBF40FF00) {
digitalWrite(RELAY_PIN, HIGH); // 吸合繼電器,模擬按下按鈕
delay(5000); // 保持按下狀態5秒(可根據點火器所需時間調整)
digitalWrite(RELAY_PIN, LOW); // 斷開繼電器,模擬松開按鈕
Serial.println("點火觸發!");
}
IrReceiver.resume(); // 等待接收下一個信號
}
}
32.jpg (1.06 MB, 下載次數: 0)
| 歡迎光臨 (http://www.denmoz.com/bbs/) | Powered by Discuz! X3.1 |