Модуль построен на микросхеме CCS811 производства AMS и использует технологию определения количества летучих органических веществ (ЛОВ) и эквивалентное содержание двуокиси углерода (eCO2) в воздухе на основе измерения содержания оксида металлов.

Первые 48 часов работы датчик будет осуществлять самокалибровку, после которой значения параметров стабилизируются.
Контактная группа модуля:
- VCC — положительный контакт питания (3.3 В);
- GND — земля;
- SCL — линия синхроимпульсов I2C;
- SDA — линия данных I2C;
- WAKE — вывод для пробуждения датчика. Его необходимо подключить к GND, чтобы начать обмен данными с датчиком. Если подать на эту линию высокий уровень (HIGH) или VCC, датчик перейдёт в спящий режим;
- INT — вывод прерывания. Он работает с 3V логикой и может использоваться для определения момента, когда новое измерение готово или когда значение выходит за допустимые пределы (слишком высокое или слишком низкое);
- RST — вывод сброса. При подключении к GND датчик выполняет перезагрузку;
- ADD — Одиночный бит выбора адреса, позволяющий переключиться на альтернативный адрес. Если ADDR имеет низкий уровень (LOW), I2C-адрес: 0x5A, если высокий (HIGH) – 0x5B.
Пример подключения

Подключите контакты VCC и GND датчика CCS811 к выводам 3.3V и GND Arduino. Не подавайте на датчик напряжение 5V, так как он поддерживает максимум 3.6V. Соедините контакты SDA и SCL датчика с выводами A4 и A5 Arduino соответственно. Подключите вывод WAKE датчика CCS811 к GND. Не оставляйте WAKE неподключенным, иначе контроллер не сможет считать I2C-адрес датчика.
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 31 32 33 |
#include "Adafruit_CCS811.h" Adafruit_CCS811 ccs; void setup() { Serial.begin(9600); Serial.println("CCS811 test"); if(!ccs.begin()){ Serial.println("Failed to start sensor! Please check your wiring."); while(1); } // Wait for the sensor to be ready while(!ccs.available()); } void loop() { if(ccs.available()){ if(!ccs.readData()){ Serial.print("CO2: "); Serial.print(ccs.geteCO2()); Serial.print("ppm, TVOC: "); Serial.println(ccs.getTVOC()); } else{ Serial.println("ERROR!"); while(1); } } delay(500); } |
По умолчанию I2C-адрес для CCS811 — 0x5A, в то время как некоторые CCS811 имеют I2C-адрес 0x5B. При необходимости можно изменить I2C-адрес в файле библиотеки.
Скачать библиотеку Adafruit_CCS811 (ZIP)
Скачать библиотеку Adafruit_BusIO (ZIP)
Скачать библиотеку SparkFunCCS811 (ZIP)
Скачать даташит CCS811 (PDF)