當前位置:首頁 > 公眾號精選 > strongerHuang
[導讀]紅外遙控我們并不陌生,身邊隨處可見,最常見的就是家電中的紅外遙控,那你知道其中的收發(fā)原理嗎?今天就來分享一篇關(guān)于紅外解碼的文章。

關(guān)注+星標公眾,不錯過精彩內(nèi)容

作者 |?sugar

轉(zhuǎn)自 |?MultiMCU EDU


紅外遙控我們并不陌生,身邊隨處可見,最常見的就是家電中的紅外遙控,那你知道其中的收發(fā)原理嗎?

今天就來分享一篇關(guān)于紅外解碼的文章。

1硬件連接

紅外解碼只需連3 根線(2 根電源 + 1 根數(shù)據(jù))即可,如下圖中TSOP382

2NEC 協(xié)議解碼

本文所述的紅外編解碼采用 NEC 協(xié)議。通信的數(shù)據(jù)幀里使用 高電平時間 來區(qū)分 01。


對于按一下然后按住不動的情況,NEC 協(xié)議下是這么處理的:

上圖中寫的“固定重復指令”也叫作“重復引導碼”。對于紅外通信協(xié)議,搜關(guān)鍵詞“IR 引導碼”會比較容易搜出結(jié)果。

NEC 的編碼規(guī)則非常簡單,如下圖:

實際用邏輯分析儀抓取的波形如下,可以與上面的規(guī)則相互印證:

3Arduino 紅外解碼

把上圖中的代碼復制到下面:
   
#include 
const int irReceiverPin = 2;
IRrecv irrecv(irReceiverPin);decode_results results;decode_results res_last;
void setup() { Serial.begin(9600); irrecv.enableIRIn();}
void loop() { if(irrecv.decode(&results)){ if(res_last.value != results.value){ res_last.value = results.value; Serial.print("irCode: "); Serial.print(results.value, HEX); Serial.print(", bits: "); Serial.println(results.bits); } irrecv.resume(); }}


4STM32 紅外解碼

1.外部中斷方式

參考《江濤帶你玩STM32-CubeMX紅外NEC解碼實戰(zhàn)(上)—外部中斷方式》

外部中斷方式的優(yōu)點在于:用哪個引腳都可以。因為沒有使用片上定時器外設(shè),所以需要使用 CPU 計數(shù)方式來算時間。
2.定時器捕獲方式

參考《江濤帶你玩STM32-CubeMX紅外NEC解碼實戰(zhàn)(下)—定時器TIM捕獲方式》

定時器捕獲方式需要使用與定時器相關(guān)的引腳,優(yōu)點是 CPU 不參與計時,被解放出來的 CPU 可以做其他的事。

PS

除了 NEC 協(xié)議,紅外通信還有很多其他的協(xié)議,這在 Mixly 圖形化編程軟件中看得很明顯,如下圖:

本文選擇最簡單的 NEC 協(xié)議談紅外解碼意在簡單地體現(xiàn) IR 通信的應用,所以沒有引入 38kHz 載波的概念,如果想深入了解可以參考《STM32之紅外遙控信號自學習實現(xiàn)》。

5收、發(fā)解碼差異

如上圖,紅外通信比較奇特的一點就是收發(fā)數(shù)據(jù)反相。這就導致雖然從發(fā)送方或接收方都能解出正確數(shù)據(jù),但必解碼時必須注意極性,極性要是反了就解不出或解不對數(shù)據(jù)。


通信實驗:


如上圖,作者覺得發(fā)與收之間的相位差加強了實驗的真實感。作者用了兩個單片機,分別是 ATMega 2560 和 ATMega 644,選 Arduino 系單片機的原因是想偷個懶不寫軟件。


下面放大一個數(shù)據(jù),仔細看一看 38KHz 的載波長什么樣:


上圖的結(jié)論是占在“接收方”的角度寫的“發(fā)送方”的行為。也就是說:

1.想讓接收方接到 0,發(fā)送方就發(fā) 38KHz 的載波;

2.想讓接收方接到 1,發(fā)送方就停止發(fā)送載波。


這里不免有人會問:停止發(fā)送載波實際上讓接收方收到了 1,那該怎么區(qū)分“停止通信”和“通信中的 1”呢?


這答案就能看出 NEC 協(xié)議的作用了:數(shù)據(jù)幀有頭有尾,在頭尾之間的停止發(fā)送就是數(shù)據(jù) 1,不在頭尾之間的就是沒有通信

------------?END?------------


推薦閱讀:

精選匯總 | 專欄 | 目錄 | 搜索

精選匯總 | ARM、Cortex-M

精選匯總?| ST工具、下載編程工具


關(guān)注 微信公眾號『嵌入式專欄』,底部菜單查看更多內(nèi)容,回復“加群”按規(guī)則加入技術(shù)交流群。


點擊“閱讀原文”查看更多分享,歡迎點分享、收藏、點贊、在看。

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉