Shineblink MH-Z19C измерение углекислого газа

Интернет вещей

датчик углекислого газа

Во-первых, эта процедура реализует функцию

Подключите датчик углекислого газа через Core, считайте значение датчика и распечатайте результат.

Во-вторых, введение датчика

在这里插入图片描述
在这里插入图片描述

3. Схема подключения

在这里插入图片描述

4. Полный код

--配置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_UsbConfig
В функции используется параметр "AUTO_CALI_DIS", отключающий автоматическую калибровку. Если требуется автоматическая калибровка, используйте параметр "AUTO_CALI_EN". Использование функции калибровки подробно описано ниже:

  • Автоматическая калибровка: Функция автоматической калибровки означает, что после того, как датчик работает непрерывно в течение определенного периода времени, он интеллектуально оценивает нулевую точку в соответствии с концентрацией в окружающей среде и калибрует себя.Цикл калибровки выполняется каждые 24 часа с момента включения питания. точка автоматической калибровки 400ppm. Функция автоматической калибровки нуля подходит для офисных и домашних условий, но не подходит для сельскохозяйственных теплиц, ферм, холодильных хранилищ и т. д. Значение углекислого газа в таких полях часто меняется, поэтому функция автоматической калибровки нуля должна быть запрещено.
  • Ручная калибровка: Если автоматическая калибровка не включена, пользователь должен периодически (не менее полугода) выполнять ручную калибровку нуля на датчике (подавать на вывод Hd низкий уровень более 7 секунд), и убедиться, что датчик работает стабильно при концентрации 400 ppm до ручной калибровки нулевой точки.20
    минут и более. Как показано в приведенном выше коде, после обнаружения нажатия кнопки BTN1 запускается ручная калибровка путем подачи на порт D6 низкого уровня в течение 7 секунд. Конечно, пользователи также не могут использовать порт D6, а также можно присвоить Hd низкий уровень в 7 секунд другими способами.

Пять, результаты выполнения кода

(1) Вопросы, требующие внимания

  • Не снимайте белую пленку с сенсора
  • Когда датчик только что включен, время прогрева составляет около двух минут.В течение этого времени значение, выдаваемое датчиком (500 PPM), является недействительным.
    (2) Результаты измерения датчика следующие:
    在这里插入图片描述
    Результаты испытаний в обычном помещении:
    在这里插入图片描述
    Результаты теста при выдохе ртом на датчик:
    在这里插入图片描述
    Для получения более подробной информации посетите сайт Shineblink.comСсылка на официальный сайт