Serial.print(results->panasonicAddress,HEX);
提示是 "IRremote.h" 对应多个库
已使用: C:\Users\78339\Documents\Arduino\libraries\IRremote
未使用:D:\Arduino\libraries\RobotIRremote
exit status 1
'class decode_results' has no member named 'panasonicAddress' 最近重做了一個音響遙控器,因為有多餘用不到的按鍵,就想將
它們用在房間冷氣上,無奈就是解不出它的編碼,本來作罷了,
爬文爬到這篇又燃起一絲希望,試了幾次,最後竟然成功了! :lol
我的冷氣是 FUJITSU 的,因為相關功能都需搭配遙控器上的
液晶面板使用,我只整合了開機、關機這二個功能在音響遙
控器上,開機 RAW,關機 RAW,以 IRrecvDumpV2
程式 DUMP 出來的資料可直接使用,不需再將第一筆往最後移
不過追加後因為編碼資料量過多造成無法組譯,只能將資料
以 PROGMEM 的方式放到 FLASH 裏,要使用時再讀取,舉個
按鍵為例子:
#define KHZ 38 //38KHZ 頻率為紅外線通訊常用協定
const int PROGMEMPB_POWER[] = {17, 850,900, 1750,1750, 1800,1800, 1700,1800, 1700,950, 850,1750, 900,900, 1750,900, 800};//紅外線編碼 raw 資料,資料數追加在第一筆
int CODE_BUFFER; //編碼資料暫存區:從編碼資料表格中讀取並暫存欲使用資料
void send_signal( const int *DATA_PTR,const int CODE_NUMBERS )
{
int SIZE = sizeof( CODE_NUMBERS ); //計算 int 使用的位元組數(兼容性考量,亦可直接指定 4 )
memcpy_P( CODE_BUFFER, DATA_PTR, CODE_NUMBERS*SIZE ); //從程式記憶體拷貝資料到變數陣列中
irsend.sendRaw( CODE_BUFFER, CODE_NUMBERS, KHZ ); //傳送紅外線資料
TIMER = millis(); //記錄最後有效按鍵處理後的時間
delay(10); //最快每 0.01 秒重傳一次(接點彈跳不處理,由音響端負責過濾)
}
void loop() 中判讀按鍵再發送相對應的信號(其他程式略過):
send_signal( PB_POWER+1, PB_POWER ); //呼叫發送音響開/關機信號
提供同好作為參考,也感謝樓主的分享 :loveliness:
页:
1
[2]