MH-Z14二氧化碳氣體傳感器(以下簡稱傳感器)是一個智能通用型、小型傳感器,利用非色散紅外(NDIR)原理對空氣中存在的CO2進行探測,具有很好的選擇性和無氧氣依賴性,壽命長。內置溫度補償;同時具有數字輸出與模擬電壓輸出,方便使用。該傳感器是將成熟的紅外吸收氣體檢測技術與精密光路設計、精良電路設計緊密結合而製作出的高性能傳感器。
傳感器特點
高靈敏度、高分辨率、低功耗
提供UART、模擬電壓信號、PWM波形等多種輸出方式
響應時間快
溫度補償,卓越的線性輸出
優異的穩定性
使用壽命長
抗水汽干擾、不中毒
產品型號 | MH-Z14 |
檢測氣體 | 二氧化碳 |
工作電壓 | 4.5~5.5 V DC |
平均電流 | < 85 mA |
接口電平 | 3.3 V |
測量範圍 | 0~5%VOL範圍內可選(詳見表2) |
輸出信號 | 0.4~2 V DC |
UART | |
PWM | |
預熱時間 | 3 min |
響應時間 | T90 < 90 s |
工作溫度 | 0~50 ℃ |
工作濕度 | 0~95% RH (無凝結) |
外形尺寸 | 57.5 mm×34.7 mm×17 mm(L×W×H) |
重 量 | 15 g |
壽 命 | > 5年 |
這程式是使用 URAT 接口,板子使用 Arduino Mega2560 LCD 使用 2004 (4 *20)。
// 載入 LCD Library
#include <LiquidCrystal.h>
// LCD 接腳: rs, enable, d4, d5, d6, d7
LiquidCrystal lcd(13, 12, 11, 10 , 9, 8);
// MH-Z14 初始化指令
byte QueqyPkt[]={0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};
char ResponsePkt[9];
void setup() {
//設定 LCM 為 20*4
lcd.begin(20, 4);
//設定Serial2
Serial2.begin(9600);
}
void loop() {
//寫入MH-Z14 指令
Serial2.write(QueqyPkt,9);
//讀取MH-Z14
Serial2.readBytes(ResponsePkt, 9);
// 轉成十進位數值 要使用unsigned int 才不會變成負值
unsigned int responseHigh = (int) ResponsePkt[2];
unsigned int responseLow = (int) ResponsePkt[3];
unsigned int ppm = (256*responseHigh)+responseLow;
//在LCD上顯示CO2 濃度
lcd.setCursor(0, 0);
lcd.print("CO2 = ");
lcd.setCursor(8,0);
lcd.print(ppm);
lcd.print(" ppm ");
delay(2000);
}
作者已經移除這則留言。
回覆刪除你好
回覆刪除我有一些關於這個測試的問題想請教,不知道是否方便聯繫?
謝謝!!!
tom9030@gmail.com
請求接線圖
回覆刪除作者已經移除這則留言。
回覆刪除