mBlock & Arduino(11)認識紅外線接收與發射 by caterpillar | CodeData
top

mBlock & Arduino(11)認識紅外線接收與發射

分享:

mBlock & Arduino(10)mBlock 2.1.4 與 Arduino IDE << 前情

我們平常接觸紅外線的應用,像是電視機、冷氣機的遙控器就是個紅外線發射器,而電視機、冷氣機上則有紅外線接收器。

紅外線接收器與發射器

人類可見光約為 390 到 700 nm(奈米),其中可見的紅光波長約為 620 至 750 nm 左右,而波長超過 760 nm 的光,人類無法感知,稱為紅外光,一般我們還會聽到有近紅外光、遠紅外光等分類,這在 不同領域中有不同的分類

電視機、冷氣機等一般常使用 940 nm 波長的紅外光,以避免太陽光、室內光源等發出的紅外光干擾,其他還有 850 nm、860 nm 等其他波長,最好能讓接收器與發射器規格一致,以免造成誤判。

紅外線接收器與發射器

上圖左側是紅外線接收器,我手邊這隻三個接腳由左至右分別是訊號、GND 與電源,有的接收器 GND 與電源線會相反,使用時要確認一下。

由於生活周遭物品也會不定時地散發紅外光,紅外線接收器設計為只對特定頻率有反應,常見使用的是 38k Hz;紅外線發射器就是個 LED,可發出特定波長的紅外線,在 Arduino,可以使用 tone 函式(是之前談蜂嗚器時有提過)指定以特定頻率(像是 38k Hz)發射紅外線。

使用 mBlock 測試紅外線接收器

如果想要簡單地體驗、測試一下紅外線接收器,可以如下銜接電路:

紅外線接收器與發射器

如果使用 mBlock 2.1 的話,可以如下撰寫程式:

紅外線接收器與發射器

如上圖撰寫程式的話,在還沒按上遙控器時,從紅外線接收器多半就會收到一堆 1 的訊號,遙控器實際上是有特定編碼地發射紅外線訊號,你可以在運行程式之後,拿起家裡的電視遙控器對著接收器發射,在接收器收到 0 的訊號時,貓咪會以「收到遙控器訊號」的提示文字表示。

使用 IRremote 測試紅外線接收器

如果想要用紅外線接收器解碼遙控器的紅外線指令,可以使用 IRremote 程式庫搭配 Arduino IDE 來快速地體驗一下,可以到 IRremote 的 Github 按下「Download ZIP」,會下載一個 Arduino-IRremote-master.zip 檔案,解開後將其中目錄更名為 Arduino-IRremote,並將整個目錄置於 Arduino IDE 安裝目錄的 libraries 之中:

紅外線接收器與發射器

接著開啟 Arduino IDE,就可以在「檔案/範例」中,看到 IRremote 相關範例:

紅外線接收器與發射器

如果想測試一下電視遙控器的指令解碼,可以開啟「IRrecvDemo」範例,電路如先前看到的圖銜接就可以了,這個範例程式會從 D11 接收紅外線訊號並解碼,直接將程式上傳至 Arduino,並執行「工具/序列埠監控視窗」,然後按下電視遙控器的電源鍵,你應該可以看到對應的解碼訊息出現:

紅外線接收器與發射器

使用 IRremote 測試紅外線發射器

如果使用 mBlock 2.1,那麼「播放腳位…」這方塊,可以直接指定頻率,驅動紅外線發射器發出紅外線:

紅外線接收器與發射器

若要能發出如遙控器的各種指令紅外光,這在 mBlock 中自行以積木建構會是個大工程,在之前的 IRremote 範例中,可以看到「IRsendDemo」範例,可以使用這個範例來測試紅外線發射:

紅外線接收器與發射器

按照註解來看,這個範例可以發出 Sony 電視機的電源紅外線指令,至於那個 Serial.readif 判斷,是要看看有無從「序列埠監控視窗」收到輸入,也就是你可在先前看到的「序列埠監控視窗」中輸入文字然後按下「傳送」,這樣 if 條件就會成立,然後按照程式流程發出電源紅外線指令,如果不想這麼麻煩,就將 if 的部份註解掉,這樣就會不斷地發出電源紅外線指令了。

電路的部份,只需要如下銜接就可以了,要注意的是,由於 IRremote 的限制,你只能用 D3 腳位來送出訊號:

紅外線接收器與發射器

如果需要測試一下是不是正確地發出紅外線指令,你需要另一塊 Arduino 板子,如先前在測試接收器的電路的方式銜接,然後上傳「IRrecvDemo」範例,那麼在「序列埠監控視窗」中,你就可以看到以下的解碼訊息:

紅外線接收器與發射器

後續 >> mBlock & Arduino(12)使用超音波感應器測量距離

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

熱門論壇文章

熱門技術文章