1. 程式人生 > >microduino實現紅外線發送與接收

microduino實現紅外線發送與接收

class result 引腳 做的 .cn col recv 閃爍 程序

一、目標:使用microduino套件實現紅外線的發送與接收

二、材料:(1)模塊:Microduino Core/Core+ (核心板),Microduino-USBTTL(下載程序)

(2)傳感器:紅外線發射器,紅外線接收器

(3)其它設備:Micro-USB線,面包板,導線

- 紅外線發射器使用說明:

目前的紅外發射器有兩種規格,兩腳的(左圖)和三腳的(右圖)

兩腳的結構和普通LED管相似,長引腳接高電平,短引腳接低電平

三腳的連接情況分別是:5V,OUT,GND,其中OUT是指定的輸出端口。它與紅外接收管的引腳結構類似。

技術分享 技術分享

- 面包板使用說明:如下圖所示,上下兩行線是分別連通的,中間的縱線是分別連通的。

技術分享

三、紅外線發射原理:

紅外發射器與普通LED類似,只需要給它分配一個電流輸出引腳,連通電路就可以了。代碼也非常簡單,在Arduino IDE中新建項目,寫入:

void setup() {
     pinMode(13, OUTPUT);     
}

void loop() {
    digitalWrite(13, HIGH);
    delay(5);
    digitalWrite(13, LOW);
}

即在setup中定義13號為輸出引腳,然後循環執行loop中的13號引腳高低電流交替,使得紅外發射管時而導通時而阻塞,產生紅外線閃爍效果。

然後在“工具”中選擇對應型號的開發板和處理器型號(本例使用的是Microduino/mCookie-device, Microduino/mCookie-core 16M),再編譯程序。

接著連接電路(兩腳的只需將長腳連接自己定義的輸出端口,短腳接GND):

技術分享 技術分享

最後,你可以通過電腦的相機觀察,將燈管正對攝像頭,如果看見紫色的紅外線,就說明你成功了。效果如下圖所示:

技術分享

四、紅外線接收原理及使用

首先,再Ardunio IDE中加載IRremote庫:

#include <IRremote.h>

然後,定義紅外接收器的輸出管腳,並將其使能:

IRrecv irrecv(11);

irrecv.enableIRIn();

接著定義一個變量用於判斷是否接收到紅外線:

decode_results results;

如果接收到紅外線:

if(irrecv.decode(&results)){

//在此執行你想做的邏輯
irrecv.resume();
}

* 示例代碼(為了看見直觀的效果,我連接了一個LED,當接收到紅外線時,LED亮起):

#include <IRremote.h>

IRrecv irrecv(11);
decode_results results;    

void setup() {
    pinMode(3, OUTPUT); /* 連接LED的引腳號 */
    irrecv.enableIRIn();
}

void loop() {
  digitalWrite(3, LOW);
  if(irrecv.decode(&results)){
    digitalWrite(3, HIGH);
    irrecv.resume();
    delay(5);
  }
}

效果圖(左圖為未接收紅外線時,右圖為接收到遙控器發射的紅外線):

技術分享 技術分享

microduino實現紅外線發送與接收