- Необходимый материал
- Принципиальная электрическая схема
- Датчик качества воздуха CCS811
- Код и объяснение
«К сожалению, во имя прогресса мы загрязнили воздух, воду, почву и пищу, которую мы едим». Поэтому сейчас очень важно следить за качеством воздуха из-за загрязнения. Для разработки системы мониторинга качества воздуха нам нужен прочный и надежный датчик качества воздуха. Хотя существует множество параметров качества воздуха, наиболее важными из них являются CO2 и TVOC. Поэтому для определения CO2 и TVOC мы используем датчик качества воздуха CCS811.
В этом уроке мы покажем вам, как определять TVOC и CO2 с помощью датчика качества воздуха CCS811 с Arduino. Кроме того, вы научитесь взаимодействовать CSS811 с Arduino.
Необходимый материал
- Arduino UNO
- Датчик качества воздуха CCS811
- Потенциометр (10к)
- ЖК-дисплей 16 * 2
- Макетная плата
- Подключение проводов
Принципиальная электрическая схема
Датчик качества воздуха CCS811
Датчик качества воздуха CCS811 - это цифровой датчик газа со сверхнизким энергопотреблением, в который встроен датчик газа МОХ (оксид металла) для обнаружения широкого спектра ЛОС (летучих органических соединений) для мониторинга качества воздуха в помещении с помощью встроенного микроконтроллера (MCU).. MCU состоит из АЦП (аналого-цифрового преобразователя) и интерфейса I2C. Он основан на уникальной технологии микроконфорок от компании AMS, которая обеспечивает высоконадежные решения для газовых датчиков с низким энергопотреблением.
В нашей схеме мы используем этот датчик для определения TVOC и CO2, имеющихся в окружающей среде, и отображения данных на ЖК-дисплее 16 * 2.
Конфигурация контактов
№ контакта |
Имя контакта |
Описание |
1 |
Вин |
Входное питание (от 3,3 до 5 В) |
2 |
3V3 |
Выходной вывод 3,3 В для внешнего использования |
3 |
Gnd |
Земля |
4 |
ПДД |
Это тактовый вывод I2C |
5 |
SCL |
Вывод данных I2C |
6 |
Проснуться |
Вывод пробуждения датчика должен быть заземлен для связи с датчиком. |
7 |
RST |
Пин сброса: при подключении к земле сам датчик сбрасывается |
8 |
INT |
Это выходной вывод прерывания, используемый для определения, когда готово новое показание или когда показание становится слишком высоким или низким. |
заявка
- Смартфоны
- Носимые
- Дом и автоматизация зданий
- Аксессуары
Код и объяснение
Полный Ардуин код для TVOC и CO2 Измерения с помощью CCS811 датчика качества воздуха приведен в конце.
В приведенном ниже коде мы определяем библиотеки для ЖК-дисплея 16 * 2 и датчика качества воздуха CCS811. Скачать библиотеку Adafruit_CCS811.h для CCS811 можно по этой ссылке.
#включают
Ниже мы определили контакты для подключения ЖК-дисплея 16 * 2 к Arduino.
ЖК-дисплей LiquidCrystal (12, 13, 8, 9, 10, 11); /// РЕГИСТРАЦИЯ ВЫБРАТЬ ПИН, ВКЛЮЧИТЬ ПИН, ПИН D4, ПИН D5, ПИН D6, ПИН D7 Adafruit_CCS811 ccs;
Ниже мы настроили ЖК-дисплей и датчик качества воздуха CCS811 и откалибровали его для отображения правильной температуры, как показано в приведенном ниже коде.
void setup () {lcd.begin (16, 2); ccs.begin (); // калибровка датчика температуры while (! ccs.available ()); float temp = ccs.calculateTemperature (); ccs.setTempOffset (темп - 25.0); }
В коде ниже, мы использовали функцию « ccs.available ()» (функция уже определена в библиотеке), чтобы проверить, есть ли приходить какие - то данные. По мере получения данных мы можем рассчитать температуру и отобразить ее на ЖК-дисплее размером 16 * 2.
Кроме того, если CCS доступен и ccs.readData () возвращает false, мы получаем значение CO2 с помощью функции ccs.geteCO2 () и значение TVOC с помощью ccs.getTVOC () , как показано в приведенном ниже коде. Таким образом, мы получили значение параметров качества воздуха с помощью датчика качества воздуха CCS811.
void loop () {if (ccs.available ()) {float temp = ccs.calculateTemperature (); если (! ccs.readData ()) {int co2 = ccs.geteCO2 (); int tvoc = ccs.getTVOC (); lcd.setCursor (0, 0); lcd.print (String ("CO2:") + String (co2) + String ("PPM")); lcd.setCursor (0, 1); lcd.print (String ("TVOC:") + String (tvoc) + String ("PPB")); lcd.print (String ("T:" + String (int (temp))) + String ("C")); задержка (3000); lcd.clear (); } else {lcd.print ("ОШИБКА"); в то время как (1); }}}
Полный код Arduino приведен ниже. Код прост, вся работа выполняется самой библиотекой, и мы использовали функции, определенные в библиотеке CCS, для получения значений CO2 и TOVC.
Также проверьте:
- Система мониторинга загрязнения воздуха на базе IOT с использованием Arduino
- Измерение PPM от газовых датчиков MQ с использованием Arduino