37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验九:火焰传感器模块 火源探测模块红外接收传感器火光检测报警(3/4线)
三、3针与4针火焰传感器模块(英文flame sensor module)
1、用途:这些类型的传感器模块常用于短距离火灾探测,可用于监视项目或作为安全预防措施来切断/打开设备,故称为火焰传感器。
模块有固定螺栓孔,易于安装。
小型PCB板尺寸:3.2厘米x 1.4厘米。
六、程序六:简易声光起火报警器
1、实验开源图形编程(Mind+、Mixly、编玩边学)
2、实验结果
(1)接通电源(开机),进入警戒状态,13脚LED亮;
(2)当探测到火焰时,蜂鸣器(接在D3)间隔0.5秒常响,报警LED灯(接在D4)间隔0.5秒一直闪烁;
(3)没有检测到火焰时,蜂鸣器不响,报警LED熄灭。
七、程序七:使用四线制火焰模块的起火声光报警器
1、实验开源图形编程(Mind+、Mixly、编玩边学)
2、实验结果
(1)接通电源(开机),进入警戒状态,13脚LED亮;
(2)串口显示“火焰报警器已就绪!”并输出实时监控的“火焰传感器”数据;
(3)当探测到火焰时,串口显示“报警!报警!起火了!”,以及实时数值;
(4)同时,蜂鸣器(接在D3)间隔0.2秒常响,报警LED灯(接在D4)间隔0.2秒一直闪烁;
(5)没有检测到火焰时,蜂鸣器不响,报警LED熄灭。
3、实验串口返回情况
八、程序八:火焰检测系统,该系统将使用水泵控制火焰供水(继电器)
1、实验接线示意图
2、参考开源代码(Arduino):
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序八:火焰检测系统,该系统将使用水泵控制火焰供水(继电器)
*/
int Beep = 9; // 为蜂鸣器选择数字引脚 D9
int val = 0; // 初始化变量
int relay = 13;//继电器模块接D13
void setup() {
pinMode(Beep, OUTPUT); // 将蜂鸣器引脚设置为“输出”
pinMode(relay, OUTPUT); // 将 继电器 引脚设置为“输出”
pinMode(A0, INPUT); // 将火焰引脚设置为“输入”
Serial.begin(9600);// 将波特率设置为“9600”
}
void loop() {
Serial.println(val);// 输出并显示模拟值
if ((analogRead(A0)<300))
// 当模拟值小于 300 时,蜂鸣器会蜂鸣,继电器吸合 (水泵供水灭火)
{
digitalWrite(Beep, HIGH);
digitalWrite(relay, HIGH);
} else
{
digitalWrite(Beep, LOW);
digitalWrite(relay,LOW);
}
delay(500);
}
3、实验场景图
九、程序九:五通道(监控五个不同方向)火灾报警系统
实验参考开源代码(Arduino):
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序九:五通道(监控五个不同方向)火灾报警系统
*/
void setup() {
pinMode(2, INPUT); // 将火焰引脚设置为“输入”
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(13, OUTPUT); // 接报警LED灯,引脚设置为“输出”
Serial.begin(9600);
Serial.println("5通道火焰探测器准备就绪!");
digitalWrite(13, LOW);
}
void loop() {
if (digitalRead(2)) {
Serial.println("第一通道火灾报警!");
digitalWrite(13, HIGH); //报警LED灯闪烁
delay(170);
digitalWrite(13, LOW);
delay(170);
}
if (digitalRead(3)) {
Serial.println("第二通道火灾报警!");
digitalWrite(13, HIGH);
delay(170);
digitalWrite(13, LOW);
delay(170);
}
if (digitalRead(4)) {
Serial.println("第三通道火灾报警!");
digitalWrite(13, HIGH);
delay(170);
digitalWrite(13, LOW);
delay(170);
}
if (digitalRead(5)) {
Serial.println("第四通道火灾报警!");
digitalWrite(13, HIGH);
delay(170);
digitalWrite(13, LOW);
delay(170);
}
if (digitalRead(6)) {
Serial.println("第五通道火灾报警!");
digitalWrite(13, HIGH);
delay(170);
digitalWrite(13, LOW);
delay(170);
}
}
十、程序十:五通道(监控五个不同方向)火灾报警系统
1、实验开源图形编程(Mind+、Mixly、编玩边学)
3、实验串口返回情况
4、实验场景图
5、实验说明与注意事项
(1)当火灾燃烧时,它会发出少量的红外线,该光线将被传感器模块上的红外光电二极管(IR 接收器)接收。然后我们使用运算放大器检查 IR 接收器两端的电压变化,因此如果检测到火灾,输出引脚 (DO) 将给出 0V(LOW),如果没有火灾,输出引脚将为 5V(高的)。火焰探测器具有采集、处理输入信号和输出控制信号的功能。
(2)此外,当 Arduino 检查传感器输出引脚上的逻辑电平并执行进一步的任务时,例如激活蜂鸣器和 LED,或者接通继电器模块,通过打开水泵电机发送警报。该系统可以充当消防机器人,当模块检测到火灾时激活。
(3)火焰传感器使用注意事项,阳光对其有一定影响,使用时避开阳光使用,为减少干扰,可以在传感器端加热缩管。尽管这款传感器是用来感知火焰,但是它并不防火。因此使用时请与火焰保持距离,以免烧坏传感器。
附录:使用火焰传感器组合继电器模块的示意图