资讯详情

Arduino UNO测试MH-Z16二氧化碳CO2传感器

原文链接:https://www.yourcee.com/newsinfo/2928917.html

MH-Z16二氧化碳传感器简介

利用非色散红外(NDIR技术)空气中存在的原理CO2 探测具有良好的选择性和无氧依赖性。并且内置温度补偿,使用串口可以读取当前的温度CO气体浓度,使用非常简单,与各种单片机兼容。红外传感器是由成熟的红外吸收气体检测技术制成的高性能传感器。它具有抗水蒸气干扰、无中毒、使用寿命长特点,可在空气中长期使用,避免中毒后长期加热。可广泛应用于智能农业、暖通空调制冷及室内空气质量监测、工业工艺及安全防护监测、农畜生产工艺监测等领域。 在这里插入图片描述

传感器引脚定义

串口读取数据指令格式

Arduino UNO接线传感器

Arduino UNO MH-Z16
D11 RX
D10 TX
5V Vin
GND GND

测试程序

#include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX unsigned char hexdata[9] = { 
        0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79}; //Read the gas density command /Don't change the order void setup() { 
           Serial.begin(9600);   while (!Serial) { 
           }   mySerial.begin(9600); }  void loop() { 
           mySerial.write(hexdata, 9);   delay(500);    for (int i = 0, j = 0; i < 9; i++)
  { 
        
    if (mySerial.available() > 0)
    { 
        
      long hi, lo, CO2;
      int ch = mySerial.read();

      if (i == 2) { 
        
        hi = ch;    //High concentration
      }
      if (i == 3) { 
        
        lo = ch;    //Low concentration
      }
      if (i == 8) { 
        
        CO2 = hi * 256 + lo; //CO2 concentration
        Serial.print("CO2 concentration: ");
        Serial.print(CO2);
        Serial.println("ppm");
      }
    }
  }
}

打开串口助手,对着传感器哈气,可以干到传感器的测试的CO2数值会发生变化。

总结表

本实验通过串口指令的方式读取传感器的数值,还可以通过PWM的脉宽来计算出传感器测得的数值。

标签: 79传感器250ppm气体传感器二极管丝印z16

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台