本篇介绍火焰传感器,通过火焰传感器感知周围环境是否存在明火,控制蜂鸣器对环境火焰进行报警提示。
1. 实验材料
- Uno R3开发板
- 配套USB数据线
- 面包板及配套连接线
- 1个有源蜂鸣器
- 1个10KΩ电阻
- 1个火焰传感器
火焰传感器(即红外接收三极管)是一种对火焰特别敏感的传感器。其利用红外线对火焰的敏感特性,用特制的红外线接收管来检测火焰,然后将火焰的亮度转化成电平信号供控制器处理。
2. 实验步骤
-
根据原理图搭建电路。
火焰传感器的负极(短脚)接到5V引脚,正极(长脚)连接10KΩ的电阻,电阻的另一端连接GND。传感器与电阻连接在一起并接入到开发板模拟输入A0引脚。蜂鸣器正极接开发板数字引脚8,负极接GND。
实验原理图如下图所示:
实物连接图如下图所示:
- 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
/*
* Flame
* 火焰传感器检测到火焰后,控制蜂鸣器报警
*/
int beep = 8;//定义蜂鸣器接口为数字8 接口
int flameVal = 0; //存储火焰传感器数据
void setup() {
pinMode(beep, OUTPUT); //定义beep 为输出接口
}
void loop() {
flameVal = analogRead(A0); //读取火焰传感器的模拟值
if (flameVal >= 200) //当模拟值大于200时蜂鸣器鸣响,阈值根据实际测试进行修改
{
digitalWrite(beep, HIGH);//
}
else
{
digitalWrite(beep, LOW);
}
}
- 连接开发板,设置好对应端口号和开发板类型,进行程序下载。
3. 实验现象
当有火焰靠近时,蜂鸣器鸣响,当无火焰时,蜂鸣器停止鸣响。
5. 实验分析
通过读取火焰传感器的模拟值,根据设定的阈值进行比较,进而控制蜂鸣器鸣响。这个实验跟上一篇光控灯实验非常相似,都是通过特定传感器将光信号转换成高低变化的电平信号供控制器进行处理。
很多时候,对于输出模拟量的传感器都需要一个阈值,通过阈值比较进行实际的控制逻辑,阈值的选择需要根据实际情况进行反复调整,直到满足实际功能需求。
更多内容,欢迎关注我的公众号。 微信扫一扫下方二维码即可关注: