2018年1月24日 星期三

Arduino (5) 反射式紅外線壁障模組+繼電模組控制風扇。

這組合是我一開始就想弄的,因為是最基本的應用。

但是外接電源很難買(2.5mm轉usb頭+5v2A變壓器),最後終於從網路上買到了。

先看重要模組。



反射式紅外線避障模組

三根PIN分別是DC+-5V、OUTPUT(觸發訊號)。

上面有電位器可以控制靈敏度。

兩個像LED的是紅外線的TX和RX。




5V繼電器模塊

左邊三根PIN分別為DC+-5V、INPUT觸發,右邊是常開(NO)、常閉(NC)、COM(共極),



至於怎麼接,

繼電器原理就是,接NO沒觸發時都開路(與COM),觸發後變閉路,接NC時就相反。

因為我們要預設一開始就沒通,所以選擇長閉。



結果大概就是影片這樣,

我風扇也是支援5V電源,這種高電流的東西千萬不可直接讓處理器輸出DC給風扇,

不然板子會被電流打壞,最起碼也要用電晶體做開關。


來看程式 :

boolean OPEN=false;
//預設關閉。

boolean Press=false;
//預設沒按下

void setup(){ 
  pinMode(7,INPUT);
  pinMode(8,OUTPUT);
  digitalWrite(8,LOW);
}
void loop(){ 
   if(digitalRead(7)!=HIGH&&Press==false){
    OPEN=!OPEN;
    digitalWrite(8,OPEN);
    Press=true;
   }
//如果第7腳沒讀到高電位或按鈕沒按下,關閉。

   else if(digitalRead(7)==HIGH&&Press!=false){
    Press=false;
   }
//如果第7腳讀到高電位或按紐按下,開啟。

   delay(10);
}

因為觸控後要持續開,我直接拿按紐開關的程式來套。

沒有特別的函式需要Include。

紅外線感應器的偵測距離很短,電位器怎麼調都大概只能偵測3~5公分,

不像Datasheet上說的可以到30cm。










沒有留言:

張貼留言

8051 (6) 紅外線避障模組控制LED七段顯示器。

這篇要做的Project就是感測器測到訊號時,LED七段顯示器會開始計算偵測次數, 到第5次時會讓紅色LED燈發光。 程式如下: #include <reg52.h> unsigned char seg[5]={0xf9,...