用 Arduino 测试 CO2 传感器 MH-Z14A. 这个传感器有多种数据输出方式,比如 PWM(需要脉冲宽度捕捉), 电压值(需要 ADC),UART。这里用 UART.
如果传感器长时间不使用,读数会相当不准确。比如我测试用的传感器,在阳台上运行 30 分钟后,读数是 1470 ppm, 这显然不对。
把传感器放到一个 CO2 稳定的地方,比如阳台上,连续运行 20 分钟,然后把 HD 引脚和 GND 短接 7 秒钟。
说明书上说预热时间是 3 分钟。实际测试也发现,给传感器上电,然后读出的值是 390 到 400 ppm 之间。这不是一个正确的测量值。这段时间持续大约 2 分钟左右。之后是实际的测量值。所以,这 3 分钟的数据应该丢弃?(我认为是的)
用 USB 供电,传感器工作时, VCC 会周期性地从 5V 被拉低到 4.7V 左右。因为传感器里有个发射红外的小灯泡在周期性的亮灭。估计它需要一个较大的电流。
需要对比,例如和 GE(Amphenol), NIcera, SenseAir, ELT 等公司的传感器对比。