Обзор датчика качества воздуха CCS811, CO2, TVOC

В этой статье расскажу о датчике CCS811, данный датчик представляет собой газовый сенсор, с помощью которого можно осуществить мониторинг качества воздуха в помещение.

Технические параметры:

► Диапазон измеряемой концентрации eCO2: 400…8192 ppm;
► Диапазон измеряемых величин TVOC: 0…1187 ppb;
► Диапазон рабочих температур: -40…+85 °C;
► Интерфейс: I2C (400 кГц);
► Напряжение питания: 1,8…3,3 В;
► Период опроса: 0,25/ 1/10/ 60 с;
► Потребляемая мощность (1,8 В): 0,034 мВт (Mode 0); 46 мВт (Mode 1 и 4); 7 мВт (Mode 2); 1,2 мВт (Mode 3);
► Габариты: 14 х 20 x 3 мм;
► Вес: 1 грамм.

Описание датчика качества воздуха CCS811

Модуль собран на небольшой плате, габариты которой всего 14 мм на 20 мм. В центр установлен датчик CCS811 (производитель AMS) в корпусе LGA, 2.7 x 4.0 мм, так же, на модуле установлена минимальная обвязка, такие как резисторы для подтяжки шины I2C, конденсаторы и так далее.
Теперь расскажу о самом чипе CCS811, состоит он из двух основных блоков: датчика MOX (Metal Oxide Semiconductor) и микроконтроллера (MCU), который в свою очередь содержит АЦП (аналого-цифровой преобразователь) и интерфейс I2C. Данный датчик способен измерять TVOC (уровень загрязнения атмосферного воздуха) в диапазоне в диапазоне 0…1187 ppb и eCO2 (концентрация углекислого газа в диапазоне 400…8192 ppm.

Что такое TVOC:
Аббревиатура TVOC (VOC) volatile organic compounds показывает сколько летучих органических веществ в воздухе, выделяемые из новых продуктов и строительных материалов (ковры, мебель, краски и растворители, а также чистящие средства. По сути, это быстрый способ оценки качества воздуха в помещении, на рисунке ниже приведен некоторые уровни TVOC и рекомендации к ним.

Назначение контактов:
Vcc — Источник питания для модуля, 3.3В;
GND — Заземление модуля;
SCL — Последовательная тактовая линия, используемая для обеспечения тактового импульса для связи;
SDA — Последовательный адрес данных, используемый для передачи данных через связь;
WAK — активный низкий уровень;
INT — Прерывание, активный низкий уровень;
RST — Сброс, активный низкий уровень;
ADD — Выбор адреса устройства (к одной линии I2C можно подключить два CCS811),

Подключение датчика качества воздуха CCS811, CO2, TVOC

Необходимые детали:
► Контроллер NodeMCU v.2 (ESP8266) x 1 шт.
► Датчик качества воздуха CCS811, CO2, TVOC x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.

Подключение:
Чтобы подключить модуль CCS811 с NodeMCU, необходимо пять проводов. Первым делом подключаем вывод 3.3 В модуля CCS811 к выводу 3.3 В NodeMCU и GND к выводу GND NodeMCU, затем подключаем выводы шину I2C, SDA к выводу D2 и SCL к выводу D1 платы NodeMCU, последним подключаем вывод WAK к GND. Для удобства, приведу схему подключения ниже.

Установка библиотек:
Для работы с датчиком CCS811 необходимо установить библиотеку «SparkFun CCS811 Arduino library», для этого перейдите в Скетч —> Подключить библиотеку —> Управление библиотеками.

В строке поиска введите «CCS811», найдите библиотеку «SparkFun CCS811 Arduino library» и установите данную библиотеку.

Так же, не забываем что необходимо установить NodeMCU в среду разработки Arduino IDE, для этого воспользуйтесь этой статьей. После установки библиотек перезапустите, среду разработки Arduino IDE.

Программа:
Теперь, у нас все готово, копируем скетч в Arduino IDE или скачайте готовый файл и загружаем его в NodeMCU, незабываем указать свои данные сети.

  Скачать скетч

Загрузите скетч и откройте «Последовательный монитор» из Arduino IDE. 

Описание скетча:
Скетч начинается с включения библиотеки Wire.h и SparkFunCCS811.h и определения количества строк и столбцов на клавиатуре, которую вы хотите использовать. Далее указываем адрес устройства, по умолчанию это 0x5B, второй адрес 0x5A

В setup, создаем последовательную связь на скорости 115200 и инициализируем I2C

Далее, инициализируем датчик CCS811, если инициализация прошла успешно то программа продолжается, если нет, зацикливаем программу и отправляем сообщение об ошибки.

В loop, функцией «mySensor.dataAvailable» проверяем поступили ли данные. Если данные есть, функцией mySensor.readAlgorithmResults считываем их и отправляем в последовательный порт данные о CO2 и TVOC.

Ссылки
  Библиотека SparkFun CCS811 Arduino 2.0.0

Купить на Aliexpress
  Плата NodeMCU V2
  Комплект проводов DuPont, 2,54 мм, 20 см
 Датчик качества воздуха CCS811, CO2, TVOC

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован.