跳到主要内容

Z19C 二氧化碳传感器

一、本例程实现功能

通过Core连接 Z19C 二氧化碳感器,读取传感器的值,并打印输出结果。

二、传感器介绍

product0

product1

product2

三、接线图

layout

四、材料清单

名称推荐购买链接(或者您可以自己制作)模块/芯片硬件资料下载
二氧化碳传感器购买链接下载地址

五、完整代码

--配置USB以虚拟串口模式工作,这样调用print()函数就会在电脑串口终端打印输出
LIB_UsbConfig("CDC")
--设置Z19C甲醛传感器占用TX0和RX0引脚,并启动传感器,关闭自动校准("AUTO_CALI_DIS")
LIB_Z19CConfig("UART0","AUTO_CALI_DIS")
--设置开发板上的按键BTN1(占用D10口)以低电平有效的方式检测按键动作
LIB_ButtonConfig("BTN1","D10","L")
--设置D6口为普通输出,用于让传感器执行手动校准
LIB_GpioOutputConfig("D6","STANDARD")
--D6口输出高电平
LIB_GpioWrite("D6",1)
--开始大循环
while(GC(1) == true)
do
--查询是否读到传感器值
flag,val = LIB_Z19CGetCO2()
if flag == 1 then
print(string.format("CO2:%d PPM", val))
end
--查询按键BTN1是否短按过,如果按过则进行一次手动校准
if LIB_ButtonQuery("BTN1") == 1 then
--D6口输出低电平
LIB_GpioWrite("D6",0)
--延时7000ms
LIB_DelayMs(7000)
--D6口输出高电平
LIB_GpioWrite("D6",1)
end
end
如果感兴趣,上面代码中出现的LIB开头的库函数可以在 API文档 中通过Ctrl+F查询。

关于传感器校准的说明

上面的代码中在 LIB_UsbConfig 函数中使用了"AUTO_CALI_DIS"参数,即禁止自动校准。如果需要自动校准,请使用"AUTO_CALI_EN"参数,下面详细介绍校准功能的使用:

  • **自动校准:**自动校准功能是指传感器在连续运行一段时间后,根据环境浓度智能判断零点并自行校准.校准周期为自上电运行起,每24小时,自动校准一次.自动校准的零点是400ppm。自动校零功能适合用于办公环境,家庭环境.但不适用于农业大棚,养殖场,冷库等场所,在这类场的二氧化碳值变化比较频繁,所以应禁止自动校零功能。
  • **手动校准:**如果没有打开自动校准,用户应定期(至少半年)对传感器进行手动校零(给Hd引脚7秒以上低电平),手动校准零点前请确保传感器在 400ppm 浓度下稳定运行 20 分钟以上。在上面的代码中作为演示,实现了在检测到BTN1按键按下后,通过给D6口一个7秒的低电平来开始一次手动校准。当然用户也可以不用D6口,用其他方式来给Hd一个7秒的低电平也是可以的。

六、代码运行结果

(1)需注意事项

  • 不要揭开传感器上的白色膜
  • 传感器刚上电有两分钟左右的预热时间,这段时间内传感器输出的值(500PPM)是无效的

(2)传感器测量结果如下图:

result0

常规室内环境下的测试结果:

result1

用嘴巴对准传感器呼气时的测试结果:

result2