紅外遙控實驗

2021-09-24 17:27:47 字數 2349 閱讀 6971

紅外遙控是一種無線、非接觸摸制技術,具有抗干擾能力強,資訊傳輸可靠,功耗低,成本低,易實現等顯著優點,被諸多電子裝置特別是家用電器廣泛採用,並越來越多的應用到計算機系統中。由於紅外線遙控不具有像無線電遙控那樣穿過障礙物去控制被控物件的能力,所以,在設計紅外線遙控器時,不必要像無線電遙控器那樣,每套(發射器和接收器)要有不同的遙控頻率或編碼(否則,就會隔牆控制或干擾鄰居的家用電器),所以同類產品的紅外線遙控器,可以有相同的遙控頻率或編碼,而不會出現遙控訊號「串門」的情況。這對於大批量生產以及在家用電器上普及紅外線遙控提供了極大的方面。由於紅外線為不可見光,因此對環境影響很小,再由紅外光波動波長遠小於無線電波的波長,所以紅外線遙控不會影響其他家用電器,也不會影響臨近的無線電裝置。

紅外遙控的編碼方式目前廣泛使用的是: pwm(脈衝寬度調製)的 nec 協議和 philips ppm(脈衝位置調製) 的 rc-5 協議的。

nec 協議,其特徵如下:

8 位位址和 8 位指令長度;

位址和命令 2 次傳輸(確保可靠性)

pwm 脈衝位置調製,以發射紅外載波的占空比代表「0」和「1」;

載波頻率為 38khz;

位時間為 1.125ms 或 2.25ms;

rgb超薄遙控器,1-32鍵遙控器,用於usb卡小音響遙控器/車載***遙控器/足浴器遙控器/燈具遙控器/數碼相框遙控器/微控制器遙控器/開發板遙控器等。詳細引數如下:

 尺寸:84.556.56.0mm。

 產品內含1個cr2025鈕扣電池。

 有效角度:60度。

 麵貼材料:0.125mmpet,有效壽命2萬次 。

 含cr2025鈕扣電池,有絕緣片(以免不用時耗電)。

乙個脈衝對應 560us 的連續載波,乙個邏輯 1 傳輸需要 2.25ms(560us 高+1680us 低),乙個邏輯 0 的傳輸需要 1.125ms(560us 高+560us 低)。而紅外置收頭在收到脈衝的時候為低電平,在沒有脈衝的時候為高電平,這樣,我們在接收頭端收到的訊號為:邏輯 1 應該是 560us 低+1680us 高,邏輯 0 應該是 560us 低+560us 高(接受頭接受到的電平值取反)。

nec 遙控指令的資料格式為:同步碼頭(引導碼/起始碼)、位址碼(遙控id)、位址反碼、控制碼(鍵值)、控制反碼。同步碼由乙個 9ms 的低電平和乙個 4.5ms 的高電平組成,位址碼、位址反碼、控制碼、控制反碼均是8 位資料格式。按照低位在前,高位在後的順序傳送。採用反碼是為了增加傳輸的可靠性(可用於校驗)。

我們遙控器的按鍵「off」按下時,從紅外置收頭端收到的波形如下圖所示:

從上圖中可以看到,其位址碼為 0,控制碼為96。可以看到在 100ms 之後,我們還收到了幾個脈衝,這是 nec 碼規定的連發碼(由 9ms 的低電平、2.5ms的高電平、0.56ms 的低電平、97.94ms 的高電平組成),如果在一幀資料傳送完畢之後,按鍵仍然沒有放開,則發射重複碼,即連發碼,可以通過統計連發碼的次數來標記按鍵按下的長短/次數。

當接受到同步碼頭就知道有按鍵被按下

開始接受位址碼+位址反碼+控制碼+控制反碼

邏輯 高電平時間

邏輯1 1680us

邏輯0 560us

同步碼頭 4500us

連發碼 2500us

重點就是通過捕獲一段的脈衝的高電平時間來區別是邏輯1還是邏輯0還是同步碼還是連發碼檢測高電平。

uint8_t dir_f_r = 0;

uint16_t dat = 0;

uint32_t buf_vaule = 0; //接收資料

uint8_t dat_flag = 0; //可以讀取資料標誌

uint8_t flag_key = 0;

//中斷服務函式

void exti1_irqhandler(void)

else if(dir_f_r == 1)

else if(dat_flag && (i < 32))

else if((dat >= 150) && (dat <= 200))//邏輯1

i++;

}else if((dat >= 200) && (dat <= 250))//連發碼

}}uint8_t contorl_dat(void)

t1 = 0;

tmp = 0;

t1 = (buf_vaule & 0x00ff0000) >> 16;

tmp = (buf_vaule & 0xff000000) >> 24;

if((tmp&0xff) == ((~t1)&0xff))

return 0;

}

漫談紅外遙控

漫談紅外遙控 紅外遙控是目前家用電器中用得較多的遙控方式,為此,本欄目特邀請李洪明先生撰寫了關於紅外遙控的系列文章,其中包括 漫談紅外遙控 單通道紅外遙控電路 8通道紅外遙控電ba5140 ba520410 18路紅外遙控電路等四篇,其餘三篇將在今後幾期陸續刊出。在講紅外遙控之前,首先講一講什麼是紅...

紅外遙控碼

下面是我測試的紅外遙控的hex碼 這款遙控接收是有延遲的 int val int pos void setup void loop 當程式中有了上面紅色的延遲程式的時候,在電腦上的串列埠助手中 就能看到當微控制器接收到 應該是微控制器的緣故,不太可能是紅外遙控的延遲 的資料是搖擺之後再趨於穩定的.我...

紅外遙控智慧型小車

熱29 已有 620 次閱讀 2010 09 28 23 06 頂 3g移動 android開發工程師全能班 我前段時間寫了 用pwm驅動智慧型小車 和 紅外遙控器編碼識別 兩篇博文,分別介紹了如何用pwm驅動直流電機及紅外遙控器編碼識別,這一次我們把二者結合起來,用紅外遙控器遙控智慧型小車。在 紅...