紅外線是一種波長比紅光還要長的一種電磁波,由于超出了人眼所能觀察的范圍,所以人眼是看不到的,但是傳感器卻不一樣,它能看的見,波長一般在760nm到400nm之間,我們可以好好利用這一點來做一個紅外控制器。
紅外遙控器在我們生活中已經算是較為常見了,像電視機、空調、影碟機、甚至連手機都加上了這一功能,據說國民品牌華為P10也具有紅外模塊,由于制作成本較低,所以應用會如此廣泛。
但是對于學單片機的朋友來說紅外功能是必須所要掌握的技能,我們本是電子領域的,所以今天就講解下紅外控制原理,由于代碼較長,頭條中不允許具有鏈接分享,所以如果大家喜歡的話,改一天把紅外設計資料再單獨在視頻中分享給大家,要給就都給大家,發送接收都有哦。
先來看下原理圖,知道紅外控制是怎么一回事。
左圖為紅外接收管,由原理圖可知紅外接收管其中兩個引腳接電源,最后一個串聯一個電阻和單片機P3.2相連,這并不難理解。
紅外發射管稍微復雜一點,紅外發送管一端直接連在VCC上,另一端接了一個PNP型三極管,三極管B極串連一個電阻接到單片機P1.5口,這沒什么疑惑,至于為什么這樣連接,只能說這樣連接好控制,當然還有其它連接方式,可以說硬件部分是較簡單的。
再來理解一下單片機控制協議,如果搞DIY的話,接觸到最多的協議就是NEC協議,至于這種協議有很多種,有部分人會問為什么是這種協議,我只能告訴你,這是規定,如果你有這個能力的話完全可以自己規定一個協議,好了我們還是先來了解下NEC協議規定。
協議規定
1、低位首先發送,一串信息首先發送9ms的AGC(自動增益控制)的高脈沖,接著發送4.5ms的起始低電平,接下來是發送四個字節的地址碼和命令碼,這四個字節分別為:地址碼;地址碼反碼;命令碼;命令碼反碼,如果你一直按那個按鍵,一串信息也只能發送一次,一直按著,發送的則是以110ms為周期的重復碼,這個協議有一個很突出的特點就是接收到的信號跟發送到的信號正好是反向的。
2、重復碼的格式是由9ms的AGC高電平和4.5ms的低電平及一個560us的高電平組成。
3、邏輯1的是由560us的高電平和1.69ms的低電平組成的脈沖表示
4、邏輯0的是由560us的高電平和565us的低電平組成的脈沖表示
了解協議之后我們就是寫程序了,程序按照該協議規定一步步去寫,首先單片機先判斷是否產生下降沿,然后進入外部中斷0的中斷函數,延時一下之后檢測IO口是否還是低電平,是就等待9ms的低電平過去,之后在等待4.5ms高電平過去,接下來接收傳送過來的四組數據(先等待560us的低電平過去,再去高電平時間,如果超過1.12ms那么是高電平),然后檢測接收到數據和數據反碼進行比較,是否等到的數據是一樣的。
上述就是程序所要控制的內容,再次說明下,頭條文章中不能加入鏈接分享,所以如果大家喜歡的話,我再單獨發布一個視頻,把大家想要的資料都會公布,其中有紅外接收器,也有紅外發送器,其實你認為高大上的遙控器也不是夢,學會了紅外控制部分,你就會知道控制家電就是那么簡單。
審核編輯:湯梓紅
-
傳感器
+關注
關注
2552文章
51382瀏覽量
755819 -
單片機
+關注
關注
6042文章
44617瀏覽量
637600 -
家電
+關注
關注
12文章
1016瀏覽量
34463 -
紅外遙控器
+關注
關注
3文章
133瀏覽量
21706 -
紅外控制
+關注
關注
0文章
25瀏覽量
11629
原文標題:自做一個紅外控制裝置,控制家電很簡單
文章出處:【微信號:電路一點通,微信公眾號:電路一點通】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論