*6. 紅外遙控燈光控制系統設計:
可通過紅外遙控器遙控實作LED照明燈的開關;
可遙控實作燈光亮度(PWM)的調節;
遙控可在白光照明與彩燈效果之間的切換;
1、
首先你得找到紅外遙控器的這張圖,也就是遙控器按什么,我們單片機會收到對應的數值,
紅外遙控器的鍵碼:

2、
然后你要明白,在仿真軟體里面并沒有紅外遙控器,這意味著我們的思考單片機應該接受什么信號,
首先我們應該想到,如果我們是在做實物,我們需要一個紅外遙控器,然后需要一個紅外遙控接收器,紅外遙控接收器就連著的單片機,他們的通信程序是這樣的,當紅外遙控器按下一個按鍵,紅外遙控器就會通過紅外燈發射紅外光,他發射的這個紅外光是根據紅外協議編碼了的,我們的單片機和我們的紅外接收器就能夠接受到這個紅外光,單片機需要根據紅外協議解碼出這個紅外光所代表的含義,
紅外協議是一種協議:
[如果你想了解紅外協議請點我]
忽略掉協議的內容,我以最直白的方式解釋一下,就是說你按了紅外遙控器上的按鍵,單片機會解碼出一個位元組的資料,而且你要知道紅外遙控器上的每一個按鍵對應的資料都是不一樣的,每個紅外遙控器的鍵碼也不一定相同,
3、
在了解上述基礎內容之后我們就可以開始完成我們的設計,我們要知道在仿真軟體里面是沒有紅外遙控器這個器件的,但我們是可以自己制作出一個紅外遙控器的,怎么制作呢?既然紅外遙控器遵從紅外協議,我們用一塊單片機寫一個紅外發射程式,這個紅外發射程式可以根據傳入的原始資料aaa把它編碼成紅外光信號(其實也就是控制紅外光根據紅外協議以不同的時間發射),
這個紅外光信號可以通過有線連接連接到我們的單片機,然后我們單面機解碼出這個紅外光信號就可以得到原始資料aaa,
這一段說了這么多其實全在這個圖里,在下圖中左邊的紅圈里面圈起來的就是我們自己制作的紅外遙控器,當我們按下矩陣鍵盤的按鍵,也就相當于有了一個原始資料aaa,然后左邊的紅圈里面都這塊單片機就會把這個原始資料aaa編碼成紅外信號,信號最終發出去之后,由右邊的PIC16f887單片機負責接收,我們只用撰寫對應的接收程式就可以了.
備注:下圖中的這個紅外遙控器不是我做的(也就是左邊紅色圈里面的東西),是我以前在網上百度到的一個設計里面的,但現在我也不知道那個設計在哪里下載的,好像是51黑論壇里看到的,
經過測驗下面這個圖里面的矩陣鍵盤的紅外碼對應為:
0X43 0X7 0X15 0X9
0X16 0X19 0XD 0XC
0X18 0X5E 0X8 0X1C
0X5A 0X42 0X52 0X4A

4、
這一步就可以根據紅外協議寫解碼程式了,這東西如果你自己去寫……很麻煩……重復造輪子……我們要善于去查找資料,
那么我就在這個地方找到了資料,點我
為什么我們要借用別人寫好的底層程式?
–>1 別人除錯好的程式肯定是沒有問題的,這樣我們在后面做實物的時候就可以不用擔心是程式出了問題,2 紅外協議還是一個挺復雜的協議,就算我這個懂得紅外協議的人,在不同單片機上它的寫法也不一樣,去重新寫一遍也不是一件簡單的事情,3 寫程式不要閉門造車,這種重復造輪子的事情不要去做,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/163920.html
標籤:其他
下一篇:2020電賽準備總結(四)
