1. 程式人生 > >「雕爺學程式設計」Arduino動手做(9)——火焰感測器模組

「雕爺學程式設計」Arduino動手做(9)——火焰感測器模組

37款感測器和模組的提法,在網路上廣泛流傳,其實Arduino能夠相容的感測器模組肯定是不止37種的。鑑於本人手頭積累了一些感測器與模組,依照實踐出真知(動手試試)的理念,以學習和交流為目的,這裡準備逐一做做實驗,不管能否成功,都會記錄下來---小小的進步或是搞不定的問題,希望能夠拋磚引玉。 

 

【Arduino】66種感測器模組系列(專業資料+實驗程式碼+圖形模擬)

實驗之九:火焰(紅外線)感測器模組

 

紅外光的基本原理

我們知道,人的眼睛能看到的可見光按波長從長到短排列,依次為紅、橙、黃、綠、青、藍、紫。其中紅光的波長範圍為0.62~0.76μm;紫光的波長範圍為0.38~0.46μm。比紫光波長還短的光叫紫外線,比紅光波長還長的光叫紅外線。紅外線是波長介於微波和可見光之間的電磁波,波長在760納米到1毫米之間,是波形比紅光長的非可見光。自然界中的一切物體,只要它的溫度高於絕對零度(-273)就存在分子和原子的無規則運動,其表面就會不停的輻射紅外線。當然了,雖然是都輻射紅外線,但是不同的物體輻射的紅外強度是不一樣的,而我們正是利用了這一點把紅外技術應用到我們實際開發中。

 

火焰(紅外線)接收管

紅外接收管內部帶了一個具有紅外光敏感特徵的PN節,屬於光敏二極體,但是它只對紅外光有反應。無紅外光時,光敏管不導通,有紅外光時,光敏管導通形成光電流,並且在一定範圍內電流隨著紅外光的強度的增強而增大。它廣泛用於各種家用電器的遙控接收器中,如音響、彩色電視機、空調器、VCD視盤機、DVD視盤機以及錄影機等。能很好地接收紅外發光二極體發射的波長為940nm的紅外光訊號,而對於其他波長的光線則不能接收,因而保證了接收的準確性和靈敏度。

 

 

應用電路

 

 

 

 

模組用途:
各種火焰、火源探測,紅外接收

模組電原理圖

 

模組特色:
1、可以檢測火焰或者波長在 760 納米~1100 納米範圍內的光源
2、探測角度 60 度左右,對火焰光譜特別靈敏
3、靈敏度可調(圖中藍色數字電位器調節)
4、對火焰的探測距離:跟靈敏度和火焰強度有關,一般 1m 以內適用(以打火機火焰測試,半米內能夠觸發感測器)
5、比較器輸出,訊號乾淨,波形好,驅動能力強,超過15mA
6、工作電壓3.3V-5V
7、輸出形式 :a 能夠輸出數字訊號(高低電平),易於使用
                      b 能夠輸出模擬訊號(電壓訊號),適合高精度的場合
8、設有固定螺栓孔,方便安裝
9、小板PCB尺寸:3.2cm x 1.4cm
10、使用寬電壓LM393比較器

 

模組接線說明(3線制)
1、VCC  接電源正極3.3-5V
2、GND  接電源負極
3、DO   TTL開關訊號輸出

 

模組介面說明(4 線制)
1、VCC 接電源正極 3.3-5V
2、GND 接電源負極
3、DO TTL 開關訊號輸出(0和1)
4、AO 小板模擬訊號輸出(電壓訊號)

 

 

 

實驗模擬示意圖

使用說明:
1、火焰感測器對火焰最敏感,對普通光也是有反應的,一般用做火焰報警等用途。
2、模組在環境火焰光譜或者光源達不到設定閾值時,DO 口輸出高電平,當外界環境火焰光譜或者光源超過設定閾值時,模組 D0 輸出低電平;
3、模組數字量輸出 D0 可以與Arduino UNO直接相連,通過Arduino來檢測高低電平,由此來檢測環境的溫度改變;
4、小板數字量輸出 DO 可以直接驅動繼電器模組,由此可以組成一個火焰開關;
5、小板模擬量輸出 AO 可以和Arduino UNO的AO端相連,通過 AD 轉換,可以獲得環境溼度更精準的數值(4線板才帶AO端);
6、感測器與火焰要保持一定距離,以免高溫損壞感測器,對打火機測試火焰距離為80cm,對火焰越大,測試距離越遠 ;
7、模組也可以做為紅外接收感應器來使用。

 

實驗說明 接好 VCC 和 GND,模組電源指示燈會亮,將模組放置桌面上,在沒有火焰光譜情況下,如板子開關指示燈亮,則調節調節藍色電位器,直到開關指示燈滅;然後對著火焰感測器最前端約 30cm 左右處開啟打火機,會發現板上開關指示燈亮,然後然後熄滅打火機,則開關指示燈會滅。這個現象說明,火焰光譜可以觸發模組,從而使開關指示燈點亮。火焰模組模組和數字13 介面自帶LED 搭建簡單電路,製作火焰提示燈,利用數字13 介面自帶的LED,將火焰感測器接入數字3介面,當火焰感測器感測到有按鍵訊號時,LED 亮,反之則滅。    
/*
 【雕爺學程式設計】Arduino動手做(9)
【Arduino】66種感測器模組系列實驗之九:火焰(紅外線)感測器模組
原始碼
*/

void setup()
{
    pinMode(3,INPUT); 
    pinMode(13,OUTPUT); 
}
 
void loop() {
  if (digitalRead(3)) {
     digitalWrite(13, LOW);
  }
  else {
     digitalWrite(13, HIGH);
     delay(2000);
  }
}

  

圖為五路火焰感測器模組,模擬數字雙重輸出,滅火機器人用。