☛ 功能說明

使用 Arduino 開發板、偵測火焰感測器及 LM358 運算放大器電路偵測火源, 以 Serial Monitor 視窗顯示電位器電壓值,當有火源接近時,點亮 LED,火源遠離或沒有火源時則熄滅 LED。

LM358 運算放大器簡介說明如下:

LM358 是一款雙路運算放大器 ( Op–Amp ) IC。 可以使用 LM358IC 來實現典型運算放大器的所有功能模式。 但是,在本實驗中,將在比較器模式下使用 LM358 運算放大器,該放大器將比較反相和同相端子上的輸入信號,併產生相應的輸出。

使用 LM358 運算放大器所建構的比較器電路模式下,形成的火焰探測電路有下列幾個特點:

⑴ 可以檢測火焰或者波長在 760 奈米~1100 納米範圍內的光源。

⑵ 探測角度 60 度左右,對火焰光譜特別靈敏。

⑶ 靈敏度可調 ( 由可變電阻來調整 )。

⑷ 對火焰的探測距離:跟靈敏度和火焰強度有關,一般 1m 以內適用 ( 以打火機火焰測試,半米內能夠觸發感測器 )。

⑸ 比較器輸出,信號乾淨,波形好,驅動能力強,超過 15mA。

⑹ 工作電壓 3.3V-5V。

⑺ 輸出形式 :

① 能夠輸出數位信號 ( 高低電位 ),易於使用。

② 能夠輸出類比信號 ( 電壓信號 ),適合高精度的場合。

☛ 使用材料

Arduino UNO R3 開發板 × 1、電阻 4.7KΩ × 1、可變電阻 5KΩ × 1、火焰感測器 × 1、LM358 運算放大器 × 1、LED × 1 。

☛ 電路圖及麵包板接線圖

☛ 程式碼

int flame=A0;                      //定義類比輸入引腳為 A0
int LED=13;                        //定義數位引腳 13 連接 LED
int val=0;                         //類比電壓變數

void setup()
{
     pinMode(LED,OUTPUT);          //設定數位引腳 13 為輸出模式
     pinMode(flame,INPUT);         //設定類比引腳 A0 為輸入模式
     Serial.begin(9600);           //設定串口傳輸速率為9600bps
}

void loop()
{
     val=analogRead(flame);        //讀取類比電壓值
     Serial.println(val);          //在監控視窗顯示類比電壓值
     if(val<=10)
        digitalWrite(LED,HIGH);    //點亮 LED
     else
        digitalWrite(LED,LOW);     //熄滅 LED
     delay(200);
}

附註

本次實驗的電路,相比於火焰感測器實習 ㈠ 的簡易電路而言,對火源的偵測距離更遠。