일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- weather station
- 하귀리 해신당
- 수산리 곰솔
- wind direction
- LM1117
- 철사방
- 초종용
- rain fall
- 돌코냉이
- 내도동
- DHT22
- wind speed
- 온습도센서
- 포구
- 가막샘
- LM2567
- DC5V
- lm7805
- AM2302
- 제주철학사랑방
- 장수물
- 구시물
- 제주문화유산답사회
- sht10
- 마이못
- 온습도 센서
- 암맥군
- 동자석
- 작은항해자
- 라즈베리파이
- Today
- Total
작은항해자의 항해
MH-Z19 CO2 Sensor 본문
MH-Z19 CO2 Sensor
Introduction :
적외선 이산화탄소 가스센서 모듈
NDIR(Non-Dispersive Infrared)를 이용하여 공기중의 CO2를 측정한다.
온도 센서가 내장되어있어 온도 보정을 할 수 있으며, 디지털 출력과 아날로그 출력을 가지고 있다.
Features :
출력인터페이스: UART, PWM
높은 분해능과 감도
저전력 파워소모
Specification :
입력 전압: DC3.6V ~ 5V
측정 범위: 0~5000ppm
오차: +-(50ppm+5%)
동작 온도: 0~50℃
동작 습도: 0~95%RH
로직 레벨: 3.3V 및 5V 지원
응답 시간: <60초
초기예열시간: 3분
크기: 26.5*19.5*8mm
Doc :
MH-Z19 DataSheet : mh-z19-co2-manual(ver1_0).pdf
라즈베리파이 연동 : https://pypi.org/project/mh-z19/
회로 연결도(참조 : 메카솔루션 메카위키)
- 사용라이브러리 : MHZ19-master.zip
라이브러리 다운로드 사이트 : https://github.com/strange-v/MHZ19
- Uart 통신 사용시
Code
#include <SoftwareSerial.h> /'SoftwareSerial.h' 포함 #include <MHZ19.h> /'MHZ19.h' 포함 SoftwareSerial ss(2,3); /SoftwareSerial ss핀을 2번 3번으로 지정 MHZ19 mhz(&ss); void setup() { Serial.begin(115200); /115200 시리얼 통신 시작 Serial.println(F("Starting...")); /시리얼 모니터에 "Starting..." 표시 ss.begin(9600); } void loop() { MHZ19_RESULT response = mhz.retrieveData(); if (response == MHZ19_RESULT_OK) { Serial.print(F("CO2: ")); Serial.println(mhz.getCO2()); /시리얼 모니터에 Co2값 표시 Serial.print(F("Min CO2: ")); Serial.println(mhz.getMinCO2()); /시리얼 모니터에 최소 Co2값 표시 Serial.print(F("Temperature: ")); Serial.println(mhz.getTemperature()); /시리얼 모니터에 온도 값 표시 Serial.print(F("Accuracy: ")); Serial.println(mhz.getAccuracy()); /시리얼 모니터에 정확도 표시 } else /그 외엔 { Serial.print(F("Error, code: ")); /시리얼 모니터에 에러코드 표시 Serial.println(response); }
delay(15000); /15초 대기 } |
- PWM 통신 사용시
Code
#include <MHZ19PWM.h> /'MHZ19PWM.h' 포함 MHZ19PWM mhz(3, MHZ_DELAYED_MODE); void setup() { Serial.begin(115200); /115200 시리얼 통신 시작 Serial.println(F("Starting...")); /시리얼 모니터에 "Starting..." 표시 delay(2000); /2초 대기 mhz.useLimit(5000); } void showValue() { unsigned long start = millis(); float co2 = mhz.getCO2(); unsigned long duration = millis() - start; Serial.print(F("CO2: ")); Serial.println(co2); /시리얼 모니터에 co2 값 표시 Serial.print(F("Duration: ")); Serial.println(duration); /시리얼 모니터에 지속시간 표시 Serial.println(); } void loop() { showValue(); /계산 값 표시 delay(5000); /5초 대기 |
'IT 이야기 > IOT 센서' 카테고리의 다른 글
8 Digit 7-Segment Display Module - MAX7219 (0) | 2019.01.23 |
---|---|
MH-Z14A CO2 Sensor (0) | 2019.01.21 |
MH-Z16 적외선 CO2 Sensor (0) | 2019.01.21 |
Hall Sensor(홀 센서) (0) | 2019.01.16 |
NDVI 카메라 (0) | 2019.01.15 |