☛ 功能说明

使用 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);
}

附注

本次实验的电路,相比于火焰传感器实习 ㈠ 的简易电路而言,对火源的侦测距离更远。