火焰探测传感器(AD电压)
本教程来源于 FlexLua 官网,专注于降低 IoT 硬件开发难度,零门槛 Lua 低代码编程技术开发 IoT 硬件。
一、传感器介绍
- 可以检测火焰或波长在760-1100纳米范围内的光源
- 探测角度60度,对火焰光谱特别灵敏
- 对火焰的探测距离和火焰的强度有关(比如以打火机测试,在半米内可检测到打火机的火焰)
- 工作电压3.3V-5V
下图为火焰探测器的核心部件(红外接收管):
![](http://dingyue.ws.126.net/2024/0429/a9ec50e1j00scofvy000fd000fg006cm.jpg)
打开网易新闻 查看精彩图片
红外接收管内部带了一个具有红外光敏感特征的PN节,属于光敏二极管,但是它只对红外光有反应。无红外光时,光敏管不导通,有红外光时,光敏管导通形成光电流,并且在一定范围内电流随着红外光的强度的增强而增大。
![](http://dingyue.ws.126.net/2024/0429/c1dc4c6ej00scofvy000sd000hi00cgm.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2024/0429/39ade5eej00scofvy000rd000lz00d2m.jpg)
打开网易新闻 查看精彩图片
- 红外式火焰探测器结构简单,价格便宜,可以通过电路板上的红外接收管来测量火焰的强度,火焰强度被感器以电压信号的方式输出。火焰强度越大,传感器输出的电压值越低。
- 传感器的DO引脚用来指示是火焰强度是否高于或低于某个阙值,通过电位器调节控制相应阀值,火焰强度低于阙值时DO输出高电平,反之DO输出低电平。
- 传感器的AO引脚输出模拟电压信号,用来指示火焰强度。
这里我们只检测AO输出的电压模拟量信号,因为该电压信号可以反映火焰的强度大小。对于DO引脚则使用起来更简单,如果开发者感兴趣的话可以用Core提供的GPIO库函数来实现,这里就不涉及了。
二、接线图
![](http://dingyue.ws.126.net/2024/0429/98e5fc9fj00scofvy001md000u000ndm.jpg)
打开网易新闻 查看精彩图片
三、材料清单
- 红外火焰传感器模块
![四、完整代码](http://cms-bucket.ws.126.net/2019/10/14/c66f41ca219849a987b74f5b496dd9db.png)
四、完整代码
--配置Core的USB口以虚拟串口模式工作,这样print()输出的内容就可以在电脑串口终端上显示了
LIB_UsbConfig("CDC")
--配置AD电压采集功能,最大值采样值4096对应3.6V输入电压
--当通道采集满1个点时缓存满,每个点的采集时间间隔为300ms
LIB_ADConfig(1,300000)
--开始大循环
while(GC(1) == true)
do
--每隔300ms查询A0通道是否转换完成
--开发者也可以将传感器接至A1-A3中的任一通道,也可以多个通道接多个传感器,用法都和下面一样
LIB_DelayMs(300)
A0_full_flag, A0_buf = LIB_ADCheckBufFull("A0")
if A0_full_flag == 1 then
--打印输出A0通道的AD采样值以及对应的电压值
print(string.format("A0=%04d Voltage=%.2fv", A0_buf[1], A0_buf[1]*3.6/4096.0))
end
end
如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。
五、实验过程及结论
![](http://dingyue.ws.126.net/2024/0429/2640a3b4j00scofvy002id0014000u0m.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2024/0429/36dd55eaj00scofvy001ud000gv00gum.jpg)
打开网易新闻 查看精彩图片
可以看到在此状态下传感器输出的电压值在满压3.3V
步骤二:将打火机火源离火焰传感器大概30厘米时
![](http://dingyue.ws.126.net/2024/0429/9bcee723j00scofvy0013d0014000u0m.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2024/0429/552cc894j00scofvy001ud000gt00gom.jpg)
打开网易新闻 查看精彩图片
可以看到传感器此时输出的电压值在3.24V左右
步骤三:将打火机火源离火焰传感器大概20厘米时
![](http://dingyue.ws.126.net/2024/0429/c13b22b3j00scofvy001gd0014000u0m.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2024/0429/65e3564fj00scofvy001vd000h200grm.jpg)
打开网易新闻 查看精彩图片
可以看到传感器此时的输出电压为2.30V左右
步骤四:将打火机火源离火焰传感器大概10厘米时
![](http://dingyue.ws.126.net/2024/0429/13d33993j00scofvy001jd0014000u0m.jpg)
打开网易新闻 查看精彩图片
![](http://dingyue.ws.126.net/2024/0429/945068d9j00scofvy001vd000gu00gpm.jpg)
打开网易新闻 查看精彩图片
可以看到此时传感器的输出电压为1.6V左右
结论:
通过上面实验可以看出,火焰传感器在"空置"-->"30cm"-->"20cm"-->"10cm"这四个状态输出的电压值分别为:3.30V,,3.24V, 2.30V,1.6V。
可以得出当火源离传感器越近,传感器输出的电压越低。
热门跟贴