☛ 功能說明
使用 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); }
附註
本次實驗的電路,相比於火焰感測器實習 ㈠ 的簡易電路而言,對火源的偵測距離更遠。