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試試
www.ee543.com
接著打開另一範例IRrecvDump
上傳後一樣打開監控視窗,取遙控器按任一鍵,一樣由P11接收訊號,取得更完整的資料,可得編碼協定及位元波形等等,可先記錄下需要的資料以便運用,
建議多按幾次確認,以免收到不完整的編碼↓
建議多按幾次確認,以免收到不完整的編碼↓
www.ee543.com
沒有留言:
張貼留言