Анализатор качества воздуха на CCS811 и Arduino
В этой статье расскажу расскажу как с помощью датчика качества воздуха CCS811 и OLED дисплея сделать небольшой анализатор качества воздуха, в качестве контроллера будем использовать Arduino UNO.
В этой статье расскажу как с помощью датчика качества воздуха CCS811 и OLED дисплея сделать небольшой анализатор качества воздуха, в качестве контроллера будем использовать Arduino UNO.
Необходимые детали:
► Контроллер Arduino UNO R3 x 1 шт.
► Провода DuPont, 2,54 мм, 20 см x 1 шт.
► Датчик качества воздуха CCS811, CO2, TVOC x 1 шт. x 1 шт.
► OLED-дисплей 0.96, 128х64, I2C, SSD1306 x 1 шт.
Описание:
В данном примере с помощью контроллера Arduino UNO будем считывать показания с датчика CCS811, полученные данные (CO2 и TVOC) отобразим на на OLED дисплеи, так же будем дублировать данные в последовательный монитор.
Подключение:
Подключаем контакты VCC и GND от датчика CCS811 к контактам 3.3 В и GND на Arduino UNO (не подключайте к 5 В, в противном случаи модуль сгорит). Далее, подключаем контакты SDA и SCL датчика к контактам A4 и A5 соответственно, не забываем подключить вывод WAKE к GND. Теперь осталось подключить OLED дисплей, контакты VCC, GND, SDA, SCL подключаем к контактам 3.3 В, GND, A4 и A5. Для удобства приведу схему подключения.
Установка библиотек:
Для работы с дисплеем и датчиком необходимо установить две библиотеки «SparkFun CCS811 Arduino library» и «u8g2«, скачать их можно в программе, для этого перейдите в Скетч —> Подключить библиотеку —> Управление библиотеками.
В строке поиска введите «CCS811», найдите библиотеку «SparkFun CCS811 Arduino library» и установите данную библиотеку.
Затем, в строке поиска вводим «u8g2«, найдите библиотеку «u8g2 by oliver» и установите ее.
Программа:
Теперь, у нас все готово, копируем скетч в Arduino IDE или скачайте готовый файл и загружаем его в Arduino UNO.
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#include "SparkFunCCS811.h" // Подключаем библиотеку для работы с CCS811 #include "U8glib.h" // Подключаем библиотеку для работы с OLED #define CCS811_ADDR 0x5A // Указываем адрес датчика CCS811 устройства I2C, по умолчанию 0x5B, второй адрес устройства 0x5B CCS811 mySensor(CCS811_ADDR); // Создаем объект U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI void setup() { Serial.begin(115200); // Создаем последовательную связь Serial.println("CCS811 Basic Example"); // Отправка сообщения Wire.begin(); // Инициализация связь I2C // Инициализация CCS811, в противном случаи печатаем сообщение об ошибки if (mySensor.begin() == false) { Serial.print("CCS811 error. Please check wiring. Freezing..."); while (1); } } void loop() { mySensor.readAlgorithmResults(); // Чтение данных с датчика CCS811 delay(10); // Пауза u8g.firstPage(); do {draw(); } while (u8g.nextPage()); } void draw(void) { u8g.setFont(u8g_font_unifont); // Указываем шрифт u8g.setPrintPos(0, 12); // Устанавливаем координаты u8g.print("CO2["); // Отправка данных на дисплей Serial.print("CO2["); // Печать текста u8g.print(mySensor.getCO2()); // Отправка данных на дисплей Serial.print(mySensor.getCO2()); // Отправка данных CO2 u8g.print("]"); // Отправка данных на дисплей u8g.setPrintPos(0, 27); // Установка координат u8g.print("tVOC["); // Отправка данных на дисплей Serial.print("] tVOC["); // Печать текста u8g.print(mySensor.getTVOC()); // Отправка данных на дисплей Serial.print(mySensor.getTVOC()); // Отправка данных TVOC u8g.print("]"); // Отправка данных на дисплей Serial.print("]"); // Печать текста Serial.println(); // Новая строка delay(200); // Пауза 0,2 с } |
Загрузите скетч и откройте «Последовательный монитор» из Arduino IDE.
Ссылки
Библиотека SparkFun CCS811 Arduino 2.0.0
Библиотека u8g2
Купить на Aliexpress
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Комплект проводов DuPont, 2,54 мм, 20 см
Датчик качества воздуха CCS811, CO2, TVOC
OLED-дисплей 0.96,128х64, белый, DC 3.3-5B, SPI, IIC
Thank you