Монитор качества воздуха своими руками

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Анализатор качества воздуха своими руками на основе Arduino и датчика Sharp GP2Y1014AU0F

Загрязнение воздуха является серьезной проблемой во многих городах, и индекс качества воздуха ухудшается с каждым днем. Согласно отчету Всемирной организации здравоохранения, больше людей погибает преждевременно от воздействия опасных частиц, присутствующих в воздухе, чем от автомобильных аварий. По данным Агентства по охране окружающей среды (EPA), воздух в помещении может быть в 2-5 раз токсичнее, чем воздух снаружи. Поэтому в сегодняшних реалиях желательно иметь под рукой анализатор качества воздух, который мы с вами создадим в рамках данного проекта.

В данном проекте мы собираемся соединить датчик Sharp GP2Y1014AU0F с Arduino Nano для измерения плотности пыли в воздухе. Помимо датчика пыли и Arduino Nano, для отображения измеренных значений также используется OLED-дисплей. Датчик пыли GP2Y1014AU0F компании Sharp очень эффективен для обнаружения очень мелких частиц, таких как сигаретный дым. Он разработан для использования в очистителях воздуха и кондиционерах.

Sharp GP2Y1014AU0F — это крошечный шестиконтактный оптический датчик качества воздуха / пыли с аналоговым выходом, предназначенный для обнаружения частиц пыли в воздухе. Работает по принципу лазерного рассеяния. Внутри модуля датчика инфракрасный излучающий диод и фотодатчик расположены по диагонали рядом с отверстием для впуска воздуха, как показано на следующем изображении.

Когда воздух, содержащий частицы пыли, попадает в камеру датчика, частицы пыли рассеивают свет ИК-светодиода в сторону фотодетектора. Интенсивность рассеянного света зависит от пылевых частиц. Чем больше в воздухе пылинок, тем больше яркость света. Выходное напряжение на выводе VOUT датчика изменяется в зависимости от интенсивности рассеянного света. Распиновка датчика следующая:

1 – V-LED питание светодиода (подключите к 5 В через резистор 150 Ом), 2 – LED-GND вывод заземления светодиода (подключить к GND), 3 – LED используется для включения/выключения светодиода (подключить к любому цифровому выводу Arduino), 4 – S-GND контакт заземления датчика (подключить к GND Arduino), 5 – VOUT вывод аналогового выхода датчика (подключить к любому аналоговому выводу), 6 – VCC положительный вывод питания (подключить к 5V Arduino).

Также в нашем проекте будет использоваться стандартный OLED-дисплей. OLED (Organic Light-Emitting Diodes) – это технология самосветового излучения, созданная путем размещения ряда органических тонких пленок между двумя проводниками. Яркий свет излучается, когда на эти пленки подается электрический ток. OLED-дисплеи используют ту же технологию, что и телевизоры, но имеют меньше пикселей, чем в большинстве наших телевизоров.

Схема подключения датчика Sharp GP2Y1014AU0F и сопутствующих компонентов к Arduino приведена далее:

Схема очень проста, поскольку мы подключаем только датчик GP2Y10 и модуль OLED-дисплея к Arduino Nano. Датчик GP2Y10 и модуль OLED-дисплея питаются от +5 В и заземления. Вывод V0 соединен с выводом A5 Arduino Nano. Вывод светодиода датчика подключен к цифровому выводу 12 на Arduino. Поскольку модуль OLED-дисплея использует связь SPI, мы установили связь SPI между модулем OLED и Arduino Nano. В качестве конденсатора используется конденсатор емкостью 220 мкФ, а резистор взят с сопротивлением 150 Ом.

Читайте также:  Корзинка с конфетами для свадьбы своими руками

Теперь перейдем к программной части. В коде используются библиотеки Adafruit_GFX и Adafruit_SSD1306. Эти библиотеки можно загрузить из диспетчера библиотек в среде разработки Arduino и установить оттуда.

Датчик пыли не требует какой-либо библиотеки, так как мы считываем значения напряжения непосредственно с аналогового вывода Arduino. Полный код Arduino приведен далее.

Как только оборудование и код готовы, пора проверить датчик. Для этого подключите Arduino к ноутбуку, выберите плату и порт и нажмите кнопку загрузки. Как вы можете видеть на изображении ниже, плотность пыли будет отображаться на OLED-дисплее.

Источник

В поисках счастья

программист в поисках счастья

Монитор качества воздуха своими руками: Часть 1 – Начало

Недавно в подарок получил ионизатор и увлажнитель воздуха, который очищает воздух, увлажняет его и ионизирует. И хотя лично я разницы не чувствую, а, учитывая зиму и работающие батареи, эффект очень кратковременный, я задумался об оценке не только качества работы этого устройства, но и такого привычного для всех действия как уборки квартиры. Позднее мысль пошла дальше и я решил, что неплохо бы иметь переносной монитор качества воздуха.

Для начала я купил датчик пыли на основе sharp GP2Y1010AU0F прменяется для обнаружения PM2.5 частиц (менее 2.5 микрон) и сигаретного дыма. Принцип действия довольно простой: фототранзистор распознает свет, отражённый от частиц, который посылает инфракрасный светодиод.

Для подключения к Arduino не требуется ничего особенного: чёрный провод земля, красный 5 вольт, жёлтый на цифровой Pin 7, для управления (вкл/выкл) тем самым инфракрасным светодиодом, и синий на один из аналоговых пинов, например A0, для чтения показаний датчика.

Для того, чтобы считать данные с датчика, согласно DataSheet-у нужно включить инфракрасный светодиод, подождать 280 микросекунд, и затем померить выходное напряжение датчика.

Здесь мы делим значение, которое считали с датчика на 1024 – это максимальное значение, которое может считать Arduino Uno на аналоговых пинах и умножаем на 5 – напряжение, которое мы подали на датчик.

Согласно DataSheet-у типичное напряжение, которое показывает датчик при отсутствии пыли – это 0.9 вольт, так что просто вычтем это значение и будем считать, что наличие пыли начинается при напряжении > 0.9 вольт.

Второе, что нужно сделать – это отображать считанные значения. Простейший вариант – это напечатать в консоль, но когда ходишь по городу, то лучше иметь какой-нить маленький дисплей и я купил 0.96″ OLED дисплей с интерфейсом i2c, которому требуется 2 аналоговых пина (SDA на A4, а SCL на A5) плюс напряжение и земля.

У AdaFruit есть отличная, но “тяжёлая” библиотека для работы с подобными дисплеями. Прежде чем ею можно воспользоваться нужно поменять пару вещей в зависимости от модели дисплея. В моём случае это i2c адрес, который нужно выставить в 0x3C . Так же может понадобиться другая AdaFruit библиотека – AdaFruit GFX.

Читайте также:  Ограждение для крыжовника своими руками

Теперь необходимо добавить датчики температуры и влажности для полноты информации. Например подойдёт DHT22 – это два датчика в одном.

У него 4 ножки, но одна (третья, согласно DataSheet-у) не используется, так что просто нужно подключить 5 вольт, землю и один из цифровых пинов, например 2й. Так же есть библиотека для работы с этим датчиком, так что считывание показаний можно легко добавить в предыдущий скетч:

просто читаем влажность и температуру с помощью библиотечных функций dht.readHumidity() и dht.readTemperature() и выводим их на экран:

Ещё нужен источник питания, такой, чтобы можно было легко носить “прибор” с собой. Например подойдут пальчиковые (АА) батарейки, которые можно вставить в батарейный отсек и приделать к ним разъём с клеммой для лёгкого способа подключения к Arduino

Сам Arduino засунуть в корпус и приклеить батарейный отсек с помощью 2х стороннего скотча:

Источник

Вторая версия Монитора качества воздуха

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

И вот появилась новая версия прибора.

Доработки в новой версии небольшие, в основном касаются прошивки. Но добавление нового датчика BME280 существенно расширило функциональность прибора.

Теперь стала доступна информация о температуре, влажности окружающего воздуха и атмосферном давлении.

Для тех кто собрал прибор первой версии его доработка и усовершенствование будет простейшей задачей. Просто добавить новый датчик и пере прошить контроллер.

Новый датчик подключается по интерфейсу I2C прямо к уже установленным часам.

При наличии датчика BME280 прибор будет каждые 15 секунд переключать панель показывающую параметры измерения пыли в режим демонстрации температуры, влажности, атмосферного давления, и через 15 секунд обратно в режим демонстрации пыли.

Датчик BMP280 вынесен из корпуса что бы на него не оказывало влияние нагрев остальных компонентов прибора. На картинке это маленький радиатор в верхнем левом углу.
Для работы остальных датчиков используется вентилятор, который не спеша продувает корпус.

Еще в данной версии появилась возможность использовать прибор без наличия датчика формальдегида. В старой прошивки без этого датчика не работал датчик пыли.

→ Тут можно взять новую прошивку
→ Тут Архив с файлами скриптов
→ Тут инструкция о том как самостоятельно собрать подобный прибор

Инструкцию о том как прошивать контроллер можно посмотреть тут.

Источник

Создаем детектор пыли на основе Ардуино

Сохраняйте здоровье, следя за уровнем загрязнения воздуха в вашем доме с помощью детектора пыли на основе Arduino.

Из-за увеличения загрязнения воздуха и связанных с этим проблем со здоровьем, измерение качества воздуха становится все более необходимым в больших городах. На рынке имеется множество датчиков, позволяющих измерять качество воздуха, и недавно я заказал оптический датчик пыли GP2Y1010AU0F от Sharp. Этот датчик пыли имеет небольшие размеры и может обнаруживать частицы пыли и дыма в окружающей среде. Во время работы он потребляет очень мало энергии, что делает его идеальным для постоянно включенной системы мониторинга.

В этом руководстве рассказывается, как подключить оптический датчик пыли Sharp к Arduino. Показания датчика будет отображаться на OLED-экране. Система упакована в старый ингалятор, который позволяет подавать воздух в датчик для удобства тестирования.

Читайте также:  Пластификатор для наливного пола своими руками

Оптический датчик пыли GP2Y1010AU0F

Датчик имеет крошечный шестиконтактный интерфейс подключения, и обычно он поставляется с коннектором. Датчик генерирует аналоговый выходной сигнал на выводе pin5 -Vo, он не требует никаких внешних компонентов для работы и требует только источник питания 3,3 В, что облегчает взаимодействие с платой Arduino. Некоторые примеры применения этого датчика включают в себя:

  • Очиститель воздуха
  • Кондиционер воздуха
  • Монитор воздуха
  • Детектор PM2.5

Sharp GP2Y1010AU0F

Почему GP2Y1010AU0F

Я выбрал этот датчик пыли по следующим причинам:

  • Он использует новейшие технологии для зондирования, включая инфракрасный светодиод, набор линз, фотодиодный детектор и электромагнитный экран.
  • Он имеет высокую чувствительность к пыли, а также быстрое время отклика между датчиком и микроконтроллером.
  • Благодаря трем проводам (VCC, GND и сигнал), ведущим к микроконтроллеру, этот датчик может быть подготовлен с использованием простой аппаратной структуры, что облегчает взаимодействие новичков с Arduino.
  • Небольшой размер датчика позволяет легко установить его в устройство контроля качества воздуха или в любой другой небольшой проект.

Как работает датчик пыли?

Датчик пыли использует метод оптического зондирования для обнаружения пыли. Фотодатчик и инфракрасный светодиод, известный как ИК-светодиод, оптически расположены в модуле датчика пыли. Фотодатчик (PT) обнаруживает отраженные инфракрасные лучи светодиодов, которые отражаются от частиц пыли в воздухе.

Модуль GP2Y1010AU0F может распознавать мельчайшие частицы в воздухе, что позволяет обнаруживать даже сигаретный дым. Высокий выходной импульс от датчика срабатывает при обнаружении пыли.

Комплектующие

  • Arduino Nano или Arduino UNO
  • OLED 128 x 32
  • Датчик пыли GP2Y1010AU0F
  • Макет
  • Резистор 100 Ом
  • Конденсатор 220 мкФ
  • Ингалятор
  • Труба
  • Круглый кусок пластика
  • Горячий клеевой пистолет

Сборка Ингалятора

Возьмите старый ингалятор и найдите круглый кусок пластика (сработает даже крышка от бутылки). Приклейте одну сторону трубы к ингалятору горячим клеевым пистолетом. Другая сторона трубы идет к детектору области пыли.

Схема соединений

Подключите датчик пыли к Arduino, как показано на рисунке ниже.

  • Подключите контакт 3.3V / 5V платы Arduino к контакту Vcc модуля датчика пыли.
  • Подключите V-светодиод датчика к резистору 100 Ом. Подключите выводы LED-GND и S-GND датчика к заземляющему выводу Arduino.
  • Вывод светодиода датчика должен быть соединен с цифровым выводом Arduino pin12, который известен как выходной вывод модуля датчика пыли.
  • Вывод V0, который является аналоговым выводом, должен быть подключен к аналоговому выводу Arduino A0. Код Arduino выведет уровень концентрации пыли датчика на OLED 128X32.

Для Arduino Uno, подключите контакт Vo GP2Y1010AU0F к контакту A0 Uno. Контакт V-LED и контакт Vcc GP2Y1010AU0F могут быть подключены к 5 В или 3,3 В Uno. То же самое относится и к Vcc OLED-дисплея. Используйте контакты A4 и A5 в качестве интерфейса SDA и SCL.

На фото выше итоговый результат нашего собранного устройства анализа уровня пыли на Ардуино.

Код проекта

Код для нашего анализатора уровня пыли Arduino вы можете скопировать ниже:

В начале кода мы подключаем необходимые библиотеки. После загрузки кода на экране дисплея вы увидите показания вашего устройста.

Источник

Оцените статью
Своими руками