2016年2月13日 星期六

Arduino學習520.紅外線搖控器IRremote



Arduino學習520.紅外線搖控器IRremote

人類可見光的波長約390~ 700 nm奈米左右,而紅外光的波長超過760 nm,
人眼看不見,各種電器也各用不同的頻率協定以免錯誤搖控,
此篇搭配已開發開放的IRremote程式庫指令解碼,
先到Maker大神Ken Shirriff的部落格網站下載程式庫,以下位址擇一下載,
http://www.righto.com/2010/11/irremote-library-now-runs-on-teensy.html
https://github.com/shirriff/Arduino-IRremote/zipball/master
https://github.com/z3t0/Arduino-IRremote
https://drive.google.com/file/d/0B_hzaKBiDSLgUzFjMmFDZ2I4RFU
將壓縮檔Arduino-IRremote-master.zip解開後,修改目錄名稱更名為IRremote,
並將整個目錄放在安裝Arduino的目錄libraries之中,注意可能為次次目錄,
預設位置為C:\Program Files\Arduino\libraries\IRremote

重新執行Arduino,在範例中會多一個IRremote,並選擇打開IRrecvDemo

跳出另一視窗,查看程式內容得知,訊號腳位為Pin11

搭配寫好的程式來安裝硬體,注意各種IR接收器的腳位不一定相同,
以下為訊號/Gnd/Vcc ,將訊號腳位接Pin11及分別Gnd及+5V

完成硬體後回到電腦上連線上傳程式,並打開監控視窗,
搭配學習套件中的搖控器,或是家中任何的紅外線搖控器,


任意按幾個鍵,Arduino會把接收到的訊號顯示在監控視窗上,
該編碼即是按鍵的指令,取得按鍵編碼後再進一步做對應控制元件,
內建範例HEX為8位元16進位模式,當搖控按太久或是太遠錯誤等,
則會顯示FFFFFFFF ,也可改成DEC為10進位模式以符其他需求,
ArduBlock在201407版之後雖有紅外線接收搖控器拼圖模塊,
但由於紅外線解碼程式並非Arduino內建程式庫,
故外掛資料庫和ArduBlock無法完全相容對應,
若對Arduino IDE已有一定程度了解,可試著安裝ardublock-beta-20140702.jar,
或最後版本ardublock-beta-20140828.jar試試


接著打開另一範例IRrecvDump



上傳後一樣打開監控視窗,取遙控器按任一鍵,一樣由P11接收訊號,取得更完整的資料,可得編碼協定及位元波形等等,可先記錄下需要的資料以便運用,
建議多按幾次確認,以免收到不完整的編碼













www.ee543.com 

沒有留言:

張貼留言