Arduino筆記(61):火焰感測模組 KY-23

我住的大樓有幾次因為線路老舊的關係,觸發火災警報,一般是使用煙霧感測器來觸發警報。另一種類型是偵測火焰,這類型的傳感器用於短距離火災探測,也可作為安全預防措施來開啟或關閉設備,如自動灑水裝置等。常見的感測器中,有一個可以偵測火焰的模組,本實作要來瞭解一下這個感測模組的運作方式。


[火焰感測模組]

感測模組特點:
  • 可以檢測火焰或者波長在 760 nm(奈米, 10的負9次方) ~1100 nm範圍內的光源,打火機測試火焰距離為80cm,當火焰越大時,測試距離越遠
  • 探測角度60度左右,對火焰光譜特別靈敏
  • 可調整靈敏度(圖中藍色數字電位器調節)
  • 工作電壓 3.3V-5V
  • 輸出形式 :DO數位開關量輸出(0和1)和AO類比電壓輸出
  • 使用寬電壓LM393比較器

模組使用注意事項:
  • 火焰感測器對火焰最敏感,對普通光也是有反應的,一般用做火焰報警等用途。
  • 感測器與火焰要保持一定距離,以免高溫損壞感測器,對打火機測試火焰距離約為80公分,當火焰越大,測試距離越遠。

接腳定義:
  • GND:接地線
  • VCC:電源範圍 3~24V
  • DO:數位輸出:當溫度達到一定閾值時,可透過電位器調節輸出高低信號。
  • AO:類比輸出:熱敏阻上的即時輸出電壓信號。

[材料]

  • Arduino Uno x 1
  • 火焰感測模組 x 1
  •  麵包板 x 1
  • LED x 1
  • 220K 電阻 x 1
  • 蜂鳴器 x 1
  • 連接線 x 7條


[接線與電路圖]

Arduino
火焰感測模組
5V (VCC)
VCC
GND
GND
A0
A0


[程式]

#include <SoftwareSerial.h>
// 讀取的最大和最小值
const int sensorMin = 0;     
const int sensorMax = 1024;  
int sensorPin = A0; // select the input pin for the LDR
int led = 9;     // LED 輸出接腳
int buzzer = 12; // 蜂鳴器輸出接腳
int sensorValue = 0; // 感測值

void setup() {
  // 設定通訊速率
  Serial.begin(9600);
  
  // 定義 ledPin 跟 buzzer 為輸出
  pinMode(led, OUTPUT);
  pinMode(buzzer,OUTPUT);
  
}
void loop() {
  // 從A0讀取感測值
  sensorValue = analogRead(A0);
  
  // 將感測值對應區間 0 ~ 1024 值為 0 ~ 3
  int range = map(sensorValue, sensorMin, sensorMax, 0, 3);
  
  // 對應值
  switch (range) {
  case 0:    // 接近火焰大約在 45公分以內
    Serial.println("** Close Fire **");
    Serial.println("Fire Detected");
    Serial.println("LED on");
    digitalWrite(led,HIGH);
    digitalWrite(buzzer,HIGH);
    delay(2000);
    break;
  case 1:    // 接近火焰大約在45公分以外
    Serial.println("** Distant Fire **");
    break;
  case 2:    // 沒有火焰
    Serial.println("No Fire");
    break;
  }
  // 關閉蜂鳴器及LED
  digitalWrite(led,LOW);
  digitalWrite(buzzer,LOW);
  delay(sensorValue);

  delay(1);
}

[實作結果]


[參考資料]

10 留言

  1. 請問一下45公分是從哪判斷的?

    回覆刪除
    回覆
    1. 這個傳感器的有效感測距離約3英吋=90公分, 感測值從0-1024, 將這個值分成3段(0,1,2), 數值1大約是感測值的一半, 也就是45公分. 我沒真的用尺量, 實測也差不多是這個距離, 您也可以試看看.

      刪除
    2. 請問蜂鳴器要買哪一種的呢

      刪除
  2. 請問蜂鳴器要買哪一種的呢

    回覆刪除
    回覆
    1. 蜂鳴器分為電磁式及壓電式,應該都可以,要注意推動的電壓即可。

      刪除
  3. 請問一下 為何我的只叫一聲很小聲的短音就停 不會發長音到停止

    回覆刪除
  4. 不好意思打擾了
    想請問一下這張圖是用TinkerCAD做出來的嗎?
    如果是用TinkerCAD完成的話。因為我在TinkerCAD搜尋火焰相關感測元件查不到相關元件,想請問你們是去哪裡放入火焰傳感器做出此圖?

    回覆刪除
    回覆
    1. 從上往下數第二張接電路的圖

      刪除
    2. 我是用 Fritzing 畫的圖,可參考:https://fritzing.org/

      刪除

張貼留言

較新的 較舊