在公共场所,比如酒店,建筑物和其他地方都配备了火灾报警器,那么它如何感知火灾? 众所周知,当火灾爆发时,会有特别强烈的红外线,该设备可以通过红外线探测火灾。 火焰传感器是机器人专门用来搜寻火源的传感器,当然火焰传感器也可以用来检测光线的亮度,只是本传感器对火焰特别灵敏。火焰传感器利用红外线对对火焰非常敏感的特点,使用特制的红外线接受管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器中,中央处理器根据信号的变化做出相应的程序处理。
引脚名称 | 描述 |
---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
D | 数字信号引脚 |
A | 模拟信号引脚 |
供电电压:3.3V / 5V
连接方式:PH2.0端子线
安装方式:双螺丝固定
示例程序:点击下载
//火焰传感器s引脚接D4,火焰传感器A接A0(如需要检测火焰传感器模拟值);无源蜂鸣器接D6口; int FlamelDigitalValue;//定义数字变量,读取火焰数字值 int FlamelAnalogValue;//定义数字变量,读取火焰模拟值 int BuzzerPin=6;//定义数字常量,无源蜂鸣器接数字6口 void setup(){ Serial.begin(9600);//设置串口波特率 pinMode(4, INPUT);//设置火焰传感器数字引脚为输入 } void loop(){ FlamelAnalogValue = analogRead(A0);//读取火焰传感器模拟值 FlamelDigitalValue = digitalRead(4);//读取火焰传感器数字值 Serial.print("FlamelAnalogValue:"); Serial.print(FlamelAnalogValue);//打印火焰传感器模拟值 Serial.print(" FlamelDigital Data:"); Serial.println(FlamelDigitalValue);//打印火焰传感器数字值 if (FlamelDigitalValue == 0) {//判断火焰传感器是否检测到火焰 检测到火焰 蜂鸣器报警 pinMode(BuzzerPin, OUTPUT);//设置无源蜂鸣器模块引脚为输出 tone(BuzzerPin,196);//蜂鸣器响起 delay(2000);//延时2s } else { pinMode(BuzzerPin, OUTPUT); noTone(BuzzerPin);//蜂鸣器停止 } }
示例程序:点击下载
准备配件:
电路接线图:
视频教程:点击查看
通过实验,我们可以观察到当火焰传感器检测到火焰时,串口输出低电平0,蜂鸣器响起;当没有检测到火焰时,串口输出高电平1,蜂鸣器不响。火焰传感器的模拟值会根据火焰大小和离火焰的距离的近远而变小;当读取的模拟值小于阀值时输出低电平,如果大于阀值则输出高电平。阀值大小可以通过调节可调电阻的大小来调节。