• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Датчик Пыли/Дыма Sharp GP2Y1010AU0F

4 июля, 2022

Купить его можно тут: http://alii.pub/6e5ouk

Esp32: http://alii.pub/6c9kzh

Arduino: http://alii.pub/6ahstu

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

 

Характеристики датчика:

 

Этот модуль должен улавливать частицы PM2.5. Но мне особо их не удалось поймать. Тут скорее дело во мне, чем в датчике.

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

А “Самотеком” воздух очень плохо проходил через модуль. И он мало что улавливал. И отсюда делаем вывод:

Для корректной работы модуля нужен вентилятор.

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

Недавно я рассматривал модуль DSM501A

Датчик пыли DSM501A. Подключение его к Arduino, ESP32 и отправка показаний в Home Assistant по mqtt.

В плане регистрации частиц PM2.5 он мне больше понравился. У него тоже нет никакого вентилятора. Но он вполне себе регистрировал частицы на ровне с датчиком PMS7003 – который стоит куда дороже раз в 5.

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

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

Схема подключения к ESP32 с конденсатором и резистором выглядит следующим образом:

 

Обратите внимание, что цвета проводов на вашем датчике могут отличаться. ПО крайней мере у меня другие, отличаются от тех что на схеме. Но распиновка та-же и надо ориентироваться от расположения датчика.

Ну а теперь что касается кода программы. Я предоставлю две программы. Одна будет подходить для всех микроконтроллеров (esp32, esp8266, arduino). А другой только для ESP32.

Программа первая. Она отправляет в монитор порта показания с датчика. Ее скачать можно отсюда: https://disk.yandex.ru/d/M3jFGrgSMVfkGQ

В программе поменять нужно следующее под себя:

#define OPERATING_VOLTAGE 3.3 // или 5.0

Поставить 3.3 или 5.0 вольт в зависимости от вашего микроконтроллера. В этой строчке выставляется опорное напряжение. Например у esp32 опорное напряжение это 3.3 вольта. А вот у arduino 5 вольт.

constexpr uint8_t PIN_AOUT = 36;
constexpr uint8_t PIN_IR_LED = 35;

Тут мы указываем пины подключения к контроллеру. Пин AOUT – обязательно должен быть аналоговым. А IR_LED просто будет включать светодиод со скоростью 0,01 секунды. Его можно любым цифровым пином назначить.

 

Ну и все, далее загружаете скетч а контроллер, открываете монитор порта на скорости 9600 и любуетесь показаниями:

 

Теперь перейдем ко второму коду. Он будет отправлять данные по mqtt. Чтоб мы эти данные получали например на сервер Home Assistant.

Скачать этот код можно тут: https://disk.yandex.ru/d/rqJzrQhAdh9uhw

Ну так-же тут нужно изменить:

#define OPERATING_VOLTAGE 3.3 // или 5.0

и

constexpr uint8_t PIN_AOUT = 36;
constexpr uint8_t PIN_IR_LED = 35;

Как и описанао выше.

Так-же изменить надо:

#define WIFI_SSID “NETGEAR”
#define WIFI_PASSWORD “14532552352”

это SSID и пароль от Вашей wi-fi сети.

#define MQTT_HOST IPAddress(192, 168, 31, 145) – тут указывается ip адрес сервера mqtt. В моем случае это сервер Home Assitant.

 

#define MQTT_PUB_TEMP “esp32/GP2Y1010AU0F/ugm3” – это топик куда будут отправляться данные.

mqttClient.setCredentials(“mqtt”, “mqtt”); – это пароль от сервера mqtt

 

Ну и так-же давайте подготовим сервер Home Assitant для получения этих данных по mqtt.

Для этого в Configuration.yaml в блоке Sensor, добавим следующий блок:


sensor:
  - platform: "mqtt"
    name: "GP2Y1010AU0F"
    state_topic: "esp32/GP2Y1010AU0F/ugm3"
    value_template: "{{ value }}"
    unit_of_measurement: "ug/m3"
    icon: "mdi:radiator"     

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

После добавления этого блока в Configuration.yaml, нужно перезагрузить Home Assistant. И после перезагрузки у Нас появится сенсор с именем GP2Y1010AU0F.

 

Ну и все это показал в видео:

 

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·