Измерение TVOC и CO2 с помощью Arduino и датчика качества воздуха CCS811

Научно-технический прогресса и последующий за ним рост промышленного производства привели к увеличению загрязнения окружающей среды, в том числе и воздуха. Поэтому контроль качества воздуха является одной из актуальных задач в современном мире. При этом наиболее актуален контроль таких показателей как TVOC (Total Volatile Organic Compounds – общее количество летучих органических соединений) и CO2 (углекислый газ).

Внешний вид подключения датчика качества воздуха CCS811 к плате Arduino

В данной статье мы рассмотрим подключение датчика качества воздуха CCS811 к плате Arduino и мониторинг с его помощью содержания TVOC и CO2 (углекислого газа) в окружающем воздухе. Также на нашем сайте можно прочитать статью про мониторинг качества воздуха с помощью датчика MQ135 и платы Arduino.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Датчик качества воздуха (Air Quality Sensor) CCS811.
  3. Потенциометр 10 кОм.
  4. ЖК дисплей 16х2 (купить на AliExpress).
  5. Макетная плата.
  6. Соединительные провода.

Работа схемы

Схема подключения датчика качества воздуха CCS811 к плате Arduino представлена на следующем рисунке.

Схема подключения датчика качества воздуха CCS811 к плате ArduinoКак видите, она достаточно проста и ее можно разместить на макетной плате. Контроль качества воздуха в схеме осуществляется с помощью датчика CCS811, а результаты контроля отображаются на экране ЖК дисплея 16х2.

Датчик качества воздуха CCS811

Данный датчик представляет собой цифровой датчик газа с низким энергопотреблением, который включает в себя датчик газа типа MOX (metal oxide) для обнаружения широкого диапазона VOCs (Volatile Organic Compounds - летучих органических соединений) внутри помещений и блок микроконтроллера (MCU, Micro-controller Unit). Блок микроконтроллера состоит из АЦП (аналого-цифрового преобразователя) и интерфейса I2C.

Внешний вид датчика качества воздуха CCS811

Распиновка датчика качества воздуха CCS811 представлена в следующей таблице.

№ контакта Название контакта Описание
1 Vin питающее напряжение (от 3.3 до 5 В)
2 3V3 выходное напряжение 3.3 В для внешнего использования
3 Gnd земля
4 SDA контакт синхронизации для интерфейса I2C
5 SCL контакт данных для интерфейса I2C
6 WAKE контакт "пробуждения" датчика, должен быть замкнут на землю чтобы с датчиком можно было осуществлять информационный обмен
7 RST контакт сброса, если замкнут на землю, то датчик может сбрасывать сам себя
8 INT контакт входа внешнего прерывания

Исходный код программы для Arduino

Полный код программы приведен в конце статьи, сначала рассмотрим его наиболее важные фрагменты.

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

Далее сообщим плате Arduino к каким ее контактам подключен ЖК дисплей и создадим объект для работы с датчиком CCS811.

Затем инициализируем ЖК дисплей и датчик CCS811 и откалибруем датчик чтобы он показывал правильную температуру.

В следующем участке кода мы используем функцию “ccs.available()” чтобы проверить не поступают ли какие либо данные от датчика. Если поступают, то рассчитываем температуру.

Далее, если датчик CCS доступен и функция ccs.readData() возвращает ложь (false), мы считываем значение CO2 с помощью функции ccs.geteCO2() и значение TVOC с помощью функции ccs.getTVOC(). Таким образом мы получаем информацию о качестве воздуха с помощью датчика CCS811, которую отображаем потом на экране ЖК дисплея.

Далее представлен полный код программы.

(Проголосуй первым!)
Загрузка...
250 просмотров


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

Ваш адрес email не будет опубликован. Обязательные поля помечены *