CCS811 이산화탄소 및 TVOC 공기품질 센서
일반
광범위한 휘발성 유기 화합물 (VOCs)을 감지할 수있는 가스 센서로, 400 ~ 8192ppm 범위의 eCO2 (equivalent calculated carbon-dioxide) 농도와 0 ~ 1187ppb 범위의 TVOC (Total Volatile Organic Compound) 농도를 측정합니다. 알콜, 알데히드, 케톤, 유기산, 아민, 지방족 및 방향족 탄화수소를 검출하는데 사용할 수 있습니다. I2C 인터페이스를 사용합니다.

모듈을 첫 구입시, 초기 48시간 동안은 전원을 켜두어 굽기 (burn it)작업을 수행해야 합니다. 또한 전원 투입후 약 20분 이후에 측정해야 정확한 측정값을 얻을 수 있습니다. 초기에는 센서의 감도가 조금씩 변하기 때문입니다
사양
- Voltage: 1.8 – 3.3V DC (3.3V recommended)
- Current (continuous in mode 1): 30mA
- Power (sleep mode): 19mA (at 1.8V)
- Current (peak): 54mA
- Temperature range (operation): -40°C to +85°C
- Humidity range (operation): 10 – 95%
사용 가능한 GPIO
- 라즈베리파이 0~4
명령
[INIT]
초기 설정을 입력합니다.
항목 | 타입 | 설명 |
---|---|---|
측정모드 * | WRITE | 측정모드를 선택합니다. (idle,1s,10s,60s,250ms) |
* idle 모드는 대기모드이며, 그 이외의 모드에서는 해당 시간간격으로 측정합니다.
[SET_DRIVE_MODE]
측정모드를 설정 또는 변경합니다.
항목 | 타입 | 설명 |
---|---|---|
측정모드 | WRITE | 측정모드를 선택합니다. (idle,1s,10s,60s,250ms) |
[READ_DATA]
CO2, TVOC 농도를 읽어옵니다.
항목 | 타입 | 설명 |
---|---|---|
CO2 (ppm) | READ | eCO2 (equivalent calculated carbon-dioxide) 농도 |
TVOC (ppb) | READ | TVOC (Total Volatile Organic Compound) 농도 |
[SET_ENV_DATA]
환경정보(온도, 습도)를 입력합니다. 보다 정확한 CO2, TVOC 측정을 위해 사용됩니다.
항목 | 타입 | 설명 |
---|---|---|
습도 (%) | WRITE | 측정환경의 습도 |
온도 (℃) | WRITE | 측정환경의 온도 |
[SET_BASELINE]
baseline을 설정합니다.
항목 | 타입 | 설명 |
---|---|---|
baseline | WRITE | baseline을 입력합니다. |
[GET_BASELINE]
설정된 baseline을 읽어옵니다.
항목 | 타입 | 설명 |
---|---|---|
baseline * | READ | baseline을 읽어옵니다. 모듈이 켜진 뒤 적어도 20분후에 읽어와야 합니다. |
* CCS811은 전원이 켜질때마다 스스로 캘리브레이션을 수행합니다. 그러므로 환경이 동일한 상태에서는 별도의 캘리브레이션이 필요하지 않습니다. 다만, 측정환경이 달라진 경우에는 (예: CO2, TVOC 농도가 이전 보다 높은 환경) 캘리브레이션으로 인해 고정된 편차 (constant offset)을 가지게 되며 이전 환경과 직접적인 비교가 불가능합니다. 그러므로 여러 환경의 CO2, TVOC 농도를 동일한 기준으로 비교하기 위해 기준점(baseline)을 설정해야 합니다. 아래 baseline 설정방법을 참고하시기 바랍니다.
예제
목표
센서로 부터 CO2 및 TVOC 농도를 읽어서 대시보드 위젯에 표시합니다.
부품
부품 | 갯수 |
---|---|
라즈베리파이 4 * | 1 |
CCS811 | 1 |
* 다른 하드웨어를 사용할 수도 있습니다. 사용 가능한 GPIO를 참고하세요.
연결
CCS811 | GPIO |
---|---|
VIN | 3.3V |
GND | GND |
SCL | 23 * |
SDA | 24 * |
ADD | 연결안함 ** |
* 모든 GPIO 핀을 사용할 수 있습니다.
** 연결하지 않으면 I2C주소는 0x5A, 3.3V에 연결하면 0x5B 입니다. (모듈 제조사에 따라 다를 수 있습니다.)
** 연결하지 않으면 I2C주소는 0x5A, 3.3V에 연결하면 0x5B 입니다. (모듈 제조사에 따라 다를 수 있습니다.)

프로젝트
baseline 설정방법
- 모듈이 전원이 켜진 뒤 20분 후에 GET_BASELINE 명령을 실행하여 baseline을 읽어옵니다.
- 읽어온 baseline으로 SET_BASELINE 명령을 실행하여 baseline을 모듈에 저장합니다.
- 앞으로는 모듈이 시작할때마다 저장한 baseline이 적용됩니다.
- 다만, 시간이 지남에 따라 측정값의 오차가 누적되기 때문에, 어느정도의 시간 (수개월)이 경과한 뒤에는 baseline을 다시 설정해주어야 합니다.