字體:小 中 大 | |
|
|
2014/07/15 16:55:04瀏覽30561|回應4|推薦0 | |
前言: 話說控製Arduino的方式有很多種 如果是要傳送很多數據的話通常會用用Serial Port 電腦就透過USB 手機就透過藍芽 . 不過用這些東西來傳送通常會有些缺點 透過USB要拉線 手機的藍芽有時候會連不上 而且有的設備會有明顯的延遲 . 如果要傳送的數據量不大,例如說目標只是個小小的遙控車 或只是偶爾按個上上下左右左右BA給他開心一下 那用紅外線遙控就已經綽綽有餘了 而且價錢不貴,遙控器加上接收器差不多150元~ 當然理論上也可以用家裡電視的遙控器 但不要把電用光光就是了~ . . https://github.com/coopermaa/Arduino-IRremote . 和其他眾多教Arduino 紅外線的部落格的方法一樣 用的都是IRremote的Library . 進入網頁。注意右下角的"Download ZIP", 把上面的網址內的東西下載下來 . 然後解壓縮,把檔案放進你的Arduino IDE的根目錄下的"Library"裡面的 通常位置是在 C:\Program Files (x86)\Arduino\libraries 裡 . 然後把名稱Arduino-IRremote-master 改成IRremote,不然裡面的Library可能沒辦法被Arduino IDE抓到 . 之後就重新打開Arduino的IDE . 就會發現Example裡面會多出一個IRremote 先打開裡面的 IRrecvDemo .
然後就會看到這段程式碼 主要的功能是把收到的訊號轉成16進位 . 要注意紅外線的Data腳位要接在Analog 0上面 不然就是自己改個程式碼 . 接下來打開Serial Monitor 如果對準接收器按,就會有16進位東西跑出來 如圖,不然按了上上下下左右左右 因為B 和A 找不到,所以就算了=A= . 如果已不才這支遙控器來說,按一下遙控器的上鍵跑出 FF629D FFFFFFFF . 如果按久一點,就會一直出現 FFFFFFFF . 每一種搖控器定都不同 也有的會一直出現FF629D 之類的,而不是FFFFFFFF . 但相同的,如果接收器收到了訊號,都會亮紅燈 .
以前面的 FF02FD FFFFFFFF 來說,FF02FD應該是00FF02FD,16進位 所以如果用比較的話應該改成0x00FF02FD 0x(數字) 表示是一個16進位的數字 前面兩個0不打不才還沒有試過,應該是可以吧... . 結論: 整體反應還快的,一個遙控器要用到沒電也蠻不容易的 野生的遙控器幾乎是隨處可得,改改一點點程式後又可以繼續玩 相容性又高,算是蠻不錯的操控方式 . 比較明顯的缺點是.... 背對接收器案雖然也收得到,但訊號是錯誤的 不過可以靠多裝幾個接收器來解決 . 雖然說可以接收訊號的範圍插不多是10公尺,但到3公尺後就開始出現錯誤了 也是可以改用家用遙控器來解決,訊號會比外面買的那種小布拉雞遙控器強很多 . 家裡的遙控器很多,可以慢慢的挑到中意為止(X |
|
( 興趣嗜好|電腦3C ) |