一、空調(diào)紅外控制原理
空調(diào)遙控器是通過發(fā)射斷斷續(xù)續(xù)的紅外光來傳遞信息的,我們可以把發(fā)射的時候看做是“1”,沒發(fā)射的時候看做是“0”,這樣的話發(fā)射出去的信號就可以轉(zhuǎn)充當(dāng)一組通訊的數(shù)據(jù),不同的按鍵以不同的編碼方式發(fā)射。當(dāng)空調(diào)接收到這些紅外光后按照制定好的規(guī)則解碼就可以知道遙控發(fā)送的什么命令,從而執(zhí)行相應(yīng)的操作。
同一個品牌的空調(diào),它們的編碼規(guī)則都是一致的,所以我們只要找到它們紅外發(fā)射的編碼規(guī)則,就可以模擬這個信號來控制這個品牌的所有空調(diào)。
二、解碼原理
要想破解編碼規(guī)則,首先要用紅外接收管接收空調(diào)發(fā)出來的紅外信號,然后用示波器去觀察這個信號。空調(diào)紅外編碼一般最前面會有至少一個引導(dǎo)碼,是由一個特定時間的低電平和高電平組成的,不知道的同學(xué)可以去查一下NEC規(guī)則。然后緊接著的就是要傳輸?shù)臄?shù)據(jù),一般數(shù)據(jù)“0”和“1”也是由一個低電平+一個高電平組成,只是電平的時間不一樣,不同品牌的空調(diào),“0”和“1”高低電平的時間也有差別。
好了,知道這些信息之后,就可以用單片機去捕獲這些電平了,通過采集每一個電平持續(xù)的時間就可以知道傳輸數(shù)據(jù)的是“0”還是“1”,然后通過串口打印出來就可以得到完整的一幀數(shù)據(jù)。然后通過改變某一個變量測量多組數(shù)據(jù),找出變化那部分的規(guī)律就可以推出編碼規(guī)則了。
三、電平規(guī)則
完整的一幀數(shù)據(jù):165ms
引導(dǎo)碼:低電平約3.2ms,高電平約1.6ms
數(shù)據(jù)“0”:低電平350~400us ,高電平450~500us
數(shù)據(jù)“1”:低電平350~400us,高電平約1300us
注:這些電平的持續(xù)時間是有一定的容錯空間的,所以不一定要嚴格按照這個值來發(fā)射紅外信號,如果你發(fā)現(xiàn)按這些值不能控制空調(diào),可以在這個值的基礎(chǔ)上進行邊緣修正,多嘗試,總能找到合適的值。
四、 編碼規(guī)則
開關(guān): 開:1 關(guān):0
模式: 制冷:100 除濕:101 循環(huán):110 通風(fēng):000 制熱:010
溫度:(溫度-16)(逆序)
風(fēng)速:1級:000 2級:100 3級:010 4級:110
掃風(fēng)模式:上下掃風(fēng)(0~90度):001 橫向掃風(fēng)(0度):110 朝下30度:010 朝下60度:100 朝下90度:000
如:24度 = (24 - 16)(逆序) = 1000(逆序) = 0001
注:定時開機、定時關(guān)機和睡眠這些在我的項目中不需要用到,所以沒有去找規(guī)律,定時開關(guān)機按照我的經(jīng)驗應(yīng)該是分別用8個位表示的,很可能是在掃風(fēng)模式后面,感興趣的同學(xué)可以按照我這個方法去找一下。三菱是正反碼,沒有校驗位,比較簡單,應(yīng)該很好找。
好了,關(guān)于三菱空調(diào)碼值就講到這里,如果還有什么問題,可以留言給我,如果文章有誤,請一定要指出來,如果這篇博文正好幫助到你,可以給我點個贊,謝謝?。?!