"슬프게도 진보의 이름으로 우리는 우리가 먹는 공기, 물, 토양 및 음식을 오염 시켰습니다." 따라서 대기 질 모니터링은 오늘날 오염 때문에 매우 중요합니다. 대기 질 모니터링 시스템을 설계하려면 내구성 있고 신뢰할 수있는 대기 질 센서가 필요합니다. 많은 대기 질 매개 변수가 있지만 가장 중요한 것은 CO2와 TVOC입니다. 따라서 CO2 및 TVOC를 감지하기 위해 CCS811 Air Quality Sensor를 사용하고 있습니다.
이 튜토리얼에서는 Arduino와 함께 CCS811 공기질 센서를 사용하여 TVOC 및 CO2 를 감지 하는 방법을 보여줄 것입니다. 또한 CSS811을 Arduino와 인터페이스하는 방법을 배웁니다.
필요한 재료
- Arduino UNO
- CCS811 공기질 센서
- 전위차계 (10k)
- LCD 16 * 2
- 브레드 보드
- 전선 연결
회로도
CCS811 공기질 센서
CCS811 Air Quality Sensor는 MOX (금속 산화물) 가스 센서를 통합하여 실내 공기질 모니터링을위한 광범위한 VOC (휘발성 유기 화합물)를 감지하는 초 저전력 디지털 가스 센서입니다.. MCU는 ADC (Analog-to-Digital Converter)와 I2C 인터페이스로 구성됩니다. 저전력 소비로 가스 센서를위한 매우 안정적인 솔루션을 제공 하는 ams 고유의 마이크로 핫 플레이트 기술을 기반으로합니다.
우리 회로에서는이 센서를 사용하여 환경에서 사용 가능한 TVOC 및 CO2를 감지하고 데이터를 16 * 2 LCD에 표시합니다.
핀 구성
핀 번호 |
핀 이름 |
기술 |
1 |
빈 |
입력 공급 (3.3v ~ 5v) |
2 |
3V3 |
외부 사용을위한 3.3V 출력 핀 |
삼 |
Gnd |
바닥 |
4 |
SDA |
이것은 I2C 클럭 핀입니다. |
5 |
SCL |
I2C 데이터 핀 |
6 |
일어나 다 |
센서의 Wakeup Pin은 센서와 통신하기 위해 접지되어야합니다. |
7 |
RST |
리셋 핀: 접지에 연결되면 센서 자체 리셋 |
8 |
INT |
이것은 인터럽트 출력 핀으로, 새 판독 값이 준비되거나 판독 값이 너무 높거나 낮을 때를 감지하는 데 사용됩니다. |
신청
- 스마트 폰
- 웨어러블
- 가정 및 빌딩 자동화
- 부속품
코드 및 설명
전체 아두 이노 코드 CCS811 공기 품질 센서를 사용하여 TVOC 및 CO2 측정을위한이 말에 주어집니다.
아래 코드에서는 16 * 2 LCD 및 CCS811 Air Quality Sensor 용 라이브러리를 정의합니다. CCS811 용 라이브러리 "Adafruit_CCS811.h"를 다운로드하려면이 링크를 따르십시오.
#포함
아래에서는 Arduino와 16 * 2 LCD를 연결하기위한 핀을 정의했습니다.
LiquidCrystal lcd (12, 13, 8, 9, 10, 11); /// 등록 PIN 선택, PIN 활성화, D4 PIN, D5 PIN, D6 PIN, D7 PIN Adafruit_CCS811 ccs;
아래 코드와 같이 LCD 및 CCS811 공기질 센서를 설정하고 올바른 온도를 표시하도록 보정했습니다.
void setup () {lcd.begin (16, 2); ccs.begin (); // 온도 센서 보정 while (! ccs.available ()); 부동 온도 = ccs.calculateTemperature (); ccs.setTempOffset (temp-25.0); }
아래 코드에서는 “ ccs.available ()” (함수가 이미 라이브러리에 정의되어 있음 ) 함수를 사용 하여 데이터가 들어오는 지 확인했습니다. 데이터를 얻으면 온도를 계산하여 16 * 2 LCD에 표시 할 수 있습니다.
또한 CCS를 사용할 수 있고 ccs.readData () 가 false를 반환 하면 아래 코드와 같이 ccs.geteCO2 () 함수를 사용하여 CO2 값을 얻고 ccs.getTVOC () 를 사용하여 TVOC 값을 얻습니다 . 따라서 우리는 CCS811 공기질 센서를 사용하여 공기질 매개 변수의 값을 받았습니다.
void loop () {if (ccs.available ()) {float temp = ccs.calculateTemperature (); if (! ccs.readData ()) {int co2 = ccs.geteCO2 (); int tvoc = ccs.getTVOC (); lcd.setCursor (0, 0); lcd.print (문자열 ("CO2:") + 문자열 (co2) + 문자열 ("PPM")); lcd.setCursor (0, 1); lcd.print (문자열 ("TVOC:") + 문자열 (tvoc) + 문자열 ("PPB")); lcd.print (String ("T:"+ String (int (temp))) + String ("C")); 지연 (3000); lcd.clear (); } else {lcd.print ("오류"); while (1); }}}
완전한 Arduino 코드는 다음과 같습니다. 코드는 간단하고 모든 작업은 라이브러리 자체에서 수행되며 CCS 라이브러리에 정의 된 함수를 사용하여 CO2 및 TOVC 값을 가져 왔습니다.
또한 다음을 확인하십시오.
- Arduino를 이용한 IOT 기반 대기 오염 모니터링 시스템
- Arduino를 사용하여 MQ 가스 센서에서 PPM 측정