Живёте у МКАДа? Тогда вы точно знаете: даже с закрытыми окнами в квартире оседает пыль — от выхлопов, строек, асфальта и промзоны. Но видимая пыль — лишь верхушка айсберга. Опасны ультрамелкие частицы PM2.5 (меньше 2.5 мкм), которые проникают глубоко в лёгкие. Датчик GP2Y1010AU0F от Sharp — один из самых доступных способов оценить уровень пыли в воздухе своими руками.
Это оптический датчик пыли, основанный на принципе лазерного рассеяния (на самом деле — ИК-светодиода). Внутри корпуса:
Когда пыль проходит через канал, ИК-луч рассеивается, и фотодиод фиксирует это. Чем больше пыли — тем выше выходное напряжение.
⚠️ Важно: GP2Y1010AU0F не даёт точных значений PM2.5 в мкг/м³ «из коробки». Он показывает относительную концентрацию пыли. Но отлично подходит для:
Да! И это ключевой момент. У GP2Y1010AU0F нет встроенного вентилятора. Воздух должен проходить через канал самотёком или принудительно.
В официальной схеме Sharp используется мини-вентилятор (например, 5 В, 0.1 А), который создаёт слабый поток воздуха через датчик. Без потока:
Sharp рекомендует:
На практике: подойдёт любой маленький вентилятор от компьютера или 5 В DC-вентилятор с низким расходом. Главное — чтобы он работал постоянно во время измерений.
Датчик имеет 6 контактов, но используются только 3–4:
ESP32 работает с 0–3.3 В на аналоговых входах. Выход GP2Y1010AU0F может достигать 3.5 В — это немного выше предела.
Решение: поставьте резистивный делитель (например, 10 кОм + 100 кОм) или ограничьте напряжение диодом. Либо просто игнорируйте перегрузку — на практике максимум редко превышает 3.3 В.
ИК-светодиод нужно включать импульсно (на 320 мкс каждые 10 мс), как в оригинальной схеме Sharp. Это снижает нагрев и увеличивает срок службы.
Но для простых проектов можно подать на V-LED постоянное 5 В через резистор 150 Ом — датчик будет работать, хоть и менее стабильно.
const int sensorPin = 34; // Аналоговый вход const int ledPin = 5; // Для импульсного управления (опционально) void setup() { Serial.begin(115200); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, HIGH); // Постоянное включение ИК-LED } void loop() { int sensorValue = analogRead(sensorPin); float voltage = sensorValue * (3.3 / 4095.0); // Примерная конвертация в мкг/м³ (калибровка нужна!) float dustDensity = (voltage - 0.1) * 0.17; // упрощённая формула if (dustDensity < 0) dustDensity = 0; Serial.print("Напряжение: "); Serial.print(voltage, 3); Serial.print(" В | Пыль: "); Serial.print(dustDensity, 2); Serial.println(" мкг/м³"); delay(1000); }
Если вам нужна точная цифровая концентрация PM2.5/PM10 — рассмотрите датчики:
Но GP2Y1010AU0F остаётся отличным выбором для обучения, бюджетных проектов и относительного контроля.
GP2Y1010AU0F — это «глаз» для пыли. В условиях Москвы у МКАДа он поможет увидеть невидимое: насколько грязный воздух после открытия окна, эффективен ли очиститель, или пора менять фильтр в бризере. Главное — не забудьте про вентилятор и резистор 150 Ом для ИК-светодиода. Тогда даже простой ESP32 превратится в мини-метеостанцию качества воздуха.
Внимание: Cтатьи здесь сгенерированны через нейросеть, не правил ошибки, да и не до этого пока. Блог только запустил. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
НО!
Каждый кейс я делал минимум один раз. Сервера стоят, клиенты довольны, дата-центры не горят.
Если у вас есть вопросы, или Нашли неточность? пишите в коментах —
вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!