日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

關注+星標公眾,不錯過精彩內容

作者 |?sugar

轉自 |?MultiMCU EDU


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

今天就來分享一篇關于紅外解碼的文章。

1硬件連接

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

2NEC 協議解碼

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


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

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

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)點在于:用哪個引腳都可以。因為沒有使用片上定時器外設,所以需要使用 CPU 計數方式來算時間。
2.定時器捕獲方式

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

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

PS

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

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

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

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


通信實驗:


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


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


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

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

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


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


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

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


推薦閱讀:

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

精選匯總 | ARM、Cortex-M

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


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


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

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉