火焰探测传感器
-
- 一、传感器介绍
- 二、接线图
- 三、完整代码
- 四、实验过程及结论
一、传感器介绍
- 在760-1100纳米范围内检测火焰或波长的光源
- 探测角度为60度,对火焰光谱特别敏感
- 火焰的探测距离与火焰的强度有关(例如,打火机的火焰可以在半米内检测到)
- 工作电压3.3V-5V 火焰探测器的核心部件(红外接收管)如下图所示:
红外接收管具有红外光敏感特性PN节,属于光敏二极管,但只对红外光有反应。当没有红外光时,光敏管不导致。当有红外光时,光敏管导致形成光电流,随着红外光强度的增加,电流在一定范围内增加。
- 红外火焰探测器结构简单,价格便宜。火焰强度可以通过电路板上的红外接收管来测量。火焰强度越大,传感器输出的电压值越低。
- 传感器的DO引脚用于指示火焰强度是否高于或低于一定的阙值,并通过电位器调节控制相应的阀值。DO输出高电平,反之亦然DO输出低电平。
- 传感器的AO引脚输出模拟电压信号来指示火焰强度。
我们只在这里检测AO由于电压信号能反映火焰的强度,输出的电压模拟量信号。DO如果开发者感兴趣,引脚更容易使用。Core提供的GPIO这里就不涉及库函数了。
二、接线图
三、完整代码
--配置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=d Voltage=%.2fv", A0_buf[1], A0_buf[1]*3.6/4096.0)) end end
四、实验过程及结论
可以看到在此状态下传感器输出的电压值在满压3.3V 可以看到传感器此时输出的电压值在3.24V左右 可以看到传感器此时的输出电压为2.30V左右 通过上面实验可以看出,火焰传感器在"空置"–>“30cm”–>"20c"这四个状态输出的电压值分别为:3.30V,,3.24V, 2.30V。
可以得出当火源离传感器越近,传感器输出的电压越低。