AirSense - the Smartest DIY Air Purifier

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

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

Эта система на основе Waveshare ESP32-S3 выполняет мониторинг концентрации пыли PM2.5, индекса качества воздуха (Air Quality Index, AQI), температуры, влажности и атмосферного давления при помощи специальных датчиков окружающей среды. Все собираемые данные отображаются локально на ЖК‑дисплее устройства; кроме того, к ним можно получить удалённый доступ при помощи Arduino IoT Cloud, что позволяет пользователям отслеживать состояние окружающей среды и управлять очистителем через смартфон.

Ядром AirSense служит HEPA‑фильтр Xiaomi Air Purifier 4 Lite, способный фильтровать до 99,97% частиц размером вплоть до 0,3 мкм, включая пыль, пыльцу, частицы дыма и другие распространённые загрязнители воздуха. Система оснащена мощным вытяжным вентилятором размером 150 мм, непрерывно пропускающим воздух через цилиндрический фильтр.

Чтобы проект выглядел как изготовленный профессионально, конструкцию всего корпуса я создал в Autodesk Fusion 360. Система объединяет в себе HEPA‑фильтр, вентилятор, датчики, дисплей и электронику.

Материалы

Supplies
Supplies
Supplies
Supplies
Supplies

Компоненты

  1. Waveshare Dust Sensor (Waveshare)

  2. Waveshare 2.4-inch LCD Display (Waveshare)

  3. Waveshare BME680 Environmental Sensor (Waveshare)

  4. Модуль цифрового реле на 10 А (DFRobot)

  5. Waveshare ESP32-S3 (Waveshare)

  6. Блок питания 5 В, 2 А (Waveshare)

Механические детали

  1. Xiaomi Smart Air Purifier 4 Lite Filter

  2. Anchor Smart Air 150mm Ventilation Fan

  3. Корзина для мусора из нержавеющей стали объёмом 18 литров

Инструменты

  1. Паяльник

  2. Припой

  3. Пассатижи

  4. Набор отвёрток

Этап 1: Моделирование и 3D‑печать

CAD & 3D Printing
CAD & 3D Printing
CAD & 3D Printing
CAD & 3D Printing

Все детали были спроектированы в Fusion 360. Ниже можно скачать файлы.

Файлы

  1. Корпус

  2. Узел двигателя

  3. Основание фильтра

  4. Нижняя пластина

  5. Уплотнительное кольцо из ТПУ

  6. Крышка дисплея

Этап 2: Разборка вытяжного вентилятора

Disassemble the Exhaust Fan
Disassemble the Exhaust Fan
Disassemble the Exhaust Fan

Чтобы приступить к процессу сборки, сначала необходимо разобрать вытяжной вентилятор Anchor Smart Air и избавиться от ненужных деталей.

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

Этап 3: Извлечение двигателя

Remove the Motor
Remove the Motor
Remove the Motor

Откручиваем двигатель из корпуса вентилятора. После снятия монтажных винтов аккуратно отключаем провода и вынимаем двигатель из корпуса.

Этот корпус нам больше не понадобится, для проекта достаточно будет двигателя и лопастей, потому что их мы установим в распечатанный на 3D‑принтере узел двигателя, спроектированный специально для AirSense.

Этап 4: Сборка узла двигателя

Assemble the Motor Mount
Assemble the Motor Mount
Assemble the Motor Mount

Теперь можно установить двигатель в узел двигателя и закрепить его винтами.

Этап 5: Монтаж лопастей

Install the Fan Blade
Install the Fan Blade
Install the Fan Blade

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

Этап 6: Монтаж уплотнительного кольца на нижнюю пластину

Install the TPU Gasket
Install the TPU Gasket

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

Этап 7: Монтаж нижней пластины

Attach the Bottom Plate
Attach the Bottom Plate
Attach the Bottom Plate

Помещаем узел двигателя на нижнюю пластину и равномерно затягиваем винтами M3.

Этап 8: Установка основания фильтра

Attach the Filter Base
Attach the Filter Base
Attach the Filter Base

Для обеспечения опорной поверхности и монтажа к основной конструкции прикрепим распечатанное на 3D‑принтере основание к задней части HEPA‑фильтра.

Нанесём небольшое количество суперклея на область контакта, а затем аккуратно разместим фильтр. Убедитесь, что он центрирован и выровнен, прежде чем клей затвердеет. Достаточно лишь минимального количества клея.

Этап 9: Установка фильтра внутрь мусорной корзины

Install the Filter Inside the Dustbin
Install the Filter Inside the Dustbin
Install the Filter Inside the Dustbin

Теперь фильтр необходимо установить внутрь мусорной корзины, которая будет служить основным корпусом AirSense.

Аккуратно поместите HEPA‑фильтр в корзину так, чтобы он находился в центре. Основание должно обеспечить выравнивание и устойчивость фильтра внутри корпуса.

Убедитесь, что фильтр строит вертикально и не касается стенок корзины, это позволит обеспечить хороший поток воздуха и упростит последующие этапы сборки.

Этап 10: Блок питания

The Power Adapter
The Power Adapter
The Power Adapter

На ESP32-S3 невозможно подавать питание непосредственно из розетки, поэтому нам нужен блок питания, преобразующий напряжение электросети в безопасные 5 В постоянного тока.

Для этой цели можно выбрать любой подходящий SMPS‑модуль на 5 В. Лично я разобрал старое зарядное устройство от смартфона, которым больше не пользовался. В этих зарядках уже есть компактные и надёжные SMPS‑цепи, идеально подходящие для проектов самоделок.

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

⚠️ Предупреждение: в этом разделе мы затрагиваем работу с напряжением электрической сети. При работе с цепью всегда отключайте питание и соблюдайте меры предосторожности.

Этап 11: Arduino IoT Cloud

Arduino IoT Cloud
Arduino IoT Cloud
Arduino IoT Cloud
Arduino IoT Cloud
Arduino IoT Cloud

Для включения удалённого мониторинга и управления нужно создать новую Thing в Arduino IoT Cloud и добавить нужные облачные переменные.

Вход в Arduino IoT Cloud

Откройте Arduino IoT Cloud и войдите в свой аккаунт Arduino.

Создание новой Thing

Home → Things → Create Thing (Введите название проекта, например, Air Sense)

Добавление облачных переменных

Нажмите + Variable и создайте следующие переменные:

  1. AQI (Integer Number) Read Only On Change

  2. DUST (Floating Point Number) Read Only On Change

  3. Temperature (Floating Point Number) Read Only On Change

  4. Humidity (Floating Point Number) Read Only On Change

  5. Power (Boolean) Read & Write On Change

💡 Примечание: в бесплатном тарифе Arduino IoT Cloud можно добавлять не более 5 облачных переменных, поэтому в этом проекте использованы только самые необходимые. После создания Arduino IoT Cloud автоматически сгенерирует нужные определения кода для скетча.

Этап 12: Подключение платы к облаку

Connect Board to Cloud
Connect Board to Cloud
Connect Board to Cloud

Открываем Associated Device → Add Device → Compatible Device.

Введём в поиск ESP32-S3 и выберем из списка ESP32-S3 Dev Module. Введём название устройства, например. Air Sense, и продолжим настройку.

Arduino IoT Cloud сгенерирует Device ID и Secret Key для нашей платы. Скачаем PDF и сохраним его в надёжном месте, потому то эти учётные данные потребуются при конфигурировании прошивки.

После создания устройства откроем страницу Network Credentials и введём Wi‑Fi SSIDWi‑Fi Password и Secret Key, сгенерированные при настройке устройства. После ввода всех параметров нажмём Save and Upload later.

💡 Примечание: Device ID и Secret Key из скачанного PDF будут использованы на этапе подготовки кода для защищённого подключения Air Sense к Arduino IoT Cloud.

Этап 13: Дэшборд Air Sense

Air Sense Dashboard
Air Sense Dashboard
Air Sense Dashboard

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

Arduino Cloud → Dashboards → Create Dashboard

→ Введём название дэшборда Air Sense Dashboard.

Добавление указателя AQI

  1. ADD: Gauge

  2. Name: AQI

  3. Set Range: 0 to 400

  4. Привязать переменную: Air Sense → AQI

  5. Нажать на Done

Добавление дисплея PM2.5

  1. ADD: Value

  2. Name: PM2.5

  3. Привязать переменную: Air Sense → DUST

  4. Выбрать значок Air/Wind

  5. Нажать на Done

Добавление дисплея температуры

  1. ADD: Value

  2. Name: Temperature

  3. Привязать переменную: Air Sense → Temperature

  4. Выбрать значок Thermometer

  5. Нажать на Done

Добавление дисплея влажности

  1. ADDValue

  2. Name: Humidity

  3. Привязать переменную: Air Sense → Humidity

  4. Выбрать значок Water Drop

  5. Нажать на Done

Добавление управления вентилятором

  1. ADD: Switch

  2. Name: Fan

  3. Привязать переменную: Air Sense → Power

  4. Нажать на Done

Этап 14: Датчики и данные

Это мозг Air Sense. Три источника данных передают информацию на дэшборд каждые 2 секунды.

Датчик BME680

float gas = bme.gas_resistance / 1000.0f;
float iaqPercent = (gas - 10) * 100.0f / (200.0f - 10.0f);
g_data.iaq = constrain(iaqPercent, 0, 100);

Считывает температуру, влажность, давление и сопротивление газа. Сопротивление газа преобразуется в процент IAQ (Indoor Air Quality, качества воздуха в помещении) — чем выше сопротивление газа, тем чище воздух, показатель привязан к шкале 0–100%.

Датчик пыли

digitalWrite(DUST_ILED_PIN, HIGH);
delayMicroseconds(280);
int raw = analogRead(DUST_AOUT_PIN);
delayMicroseconds(40);
digitalWrite(DUST_ILED_PIN, LOW);
float voltage = raw * (3.3f / 4095.0f);
float dust_ug = voltage * 200.0f;

Оптический датчик пыли, подающий на инфракрасный светодиод импульсы длительностью ровно 280 мкс; он считывает аналоговое напряжение в течение окна рассеяния пыли, а затем преобразует его в мкг/м³. Тайминг здесь крайне важен — погрешность всего в 10 мкс приведёт к дрейфу показателей.

Вычисление AQI

int calcAQI(float pm25, float iaq) {
  // EPA PM2.5 breakpoints → score p
  return (int)(p * 0.7f + (100.f - iaq) * 1.5f * 0.3f);
}

PM2.5 и IAQ служат входными данными для формулы AQI — PM2.5 влияет на 70%, качество газа — на 30%

Трекер срока службы фильтра

float calculateFilterLife() {
  return 100.0f - (fanRuntimeSeconds / 360000.0f);
}

Каждую секунду работы таймера происходит инкремент счётчика. Полный срок службы HEPA составляет 100 часов = 360 000 секунд, поэтому срок службы фильтра истекает линейно. Трекер показывает на экране уведомление при ≤20% и предупреждение «Replace Filter» при ≤10%.

Этап 15: Компоновка дисплея

Экран имеет разрешение 320×240, он управляется TFT_eSPI с LVGL, работающими на прерывании аппаратного таймера для обеспечения стабильных тиков в 1 мс. Благодаря двум буферам кадров реализуется частичный рендеринг без мерцания.

Компоновка: экран разделён на сетку из трёх столбцов и трёх строк:

  1. Левый столбец (x=2): карточки PM2.5, температуры и влажности

  2. Правый столбец (x=222): карточки давления, IAQ, срока службы

  3. Центральный столбец (x=101, w=118): круг AQI + карточка состояния WiFi

Этап 16: WiFi и Cloud

Air Sense подключается к Arduino IoT Cloud через WiFi, позволяя отслеживать все показатели и удалённо управлять вентилятором из любого браузера или приложения Arduino.

Настройка соединения

Используется WiFiConnectionHandler с SSID и паролем. ArduinoCloud.begin() выполнят автоматическое повторное подключение в случае потери сигнала WiFi.

Облачные переменные

Эти значения объявляются глобально и регистрируются при помощи initProperties():

ArduinoCloud.addProperty(DUST,        READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(Humidity,    READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(Temperature, READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(AQI,         READ, ON_CHANGE, NULL);
ArduinoCloud.addProperty(Power,       READWRITE, ON_CHANGE, onPowerChange);

DUST, Temperature, Humidity и AQI предназначены только для чтения — устройство записывает их в облако при каждом изменении. Power предназначена для чтения и записи, чтобы можно было переключать её из облачного дэшборда; она сразу выполняет обратный вызов:

void onPowerChange() {
  digitalWrite(RELAY_PIN, Power ? HIGH : LOW);
  fanIsOn = Power;
}

Также она обновляет флаг fanIsOn, чтобы отслеживание срока службы оставалось точным даже при удалённом управлении вентилятором.

Карточка WiFi на дисплее отображает CONNECTED (белым цветом) или OFFLINE (красным) с пульсирующей точкой, чтобы сразу можно было понять, активна ли синхронизация с облаком.

Этап 17: Установка необходимых библиотек

Installing the Required Libraries

Перед загрузкой кода нужно установить все необходимые библиотеки через Arduino IDE Library Manager. Эти библиотеки обеспечивают поддержку TFT‑дисплея, графического интерфейса LVGL, датчиков окружающей среды, Wi‑Fi и интеграции Arduino Cloud.

Откройте Arduino IDE → Library Manager и установите следующие библиотеки:

  1. TFT_eSPI

  2. LVGL

  3. Adafruit BME680

  4. ArduinoIoTCloud

  5. Arduino_ConnectionHandler

Остальные библиотеки (Arduino.hSPIWire и WiFi) включены в пакет платы и не требуют отдельной установки.

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

Этап 18: Настройка библиотек

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

Конфигурирование TFT_eSPI

Откройте папку библиотек Arduino и перейдите в папку TFT_eSPI. Замените файл User_Setup.h на версию из репозитория этого проекта на GitHub. Этот файл содержит конфигурацию драйвера дисплея, привязку выводов и другие настройки, необходимые для дисплея Air Sense.

Конфигурирование LVGL

Дальше нужно открыть папку библиотеки LVGL и скопировать файл lv_conf.h из GitHub‑репозитория проекта в папку библиотеки. Как и в случае с конфигурацией TFT_eSPI, это файл, созданный специально для нашего проекта. В нём содержатся настройки LVGL, конфигурация памяти и графические параметры, необходимые для пользовательского интерфейса Air Sense.

User_Setup.h и lv_conf.h включены в GitHub‑репозиторий проекта и должны быть установлены перед компиляцией кода.

Этап 19: Конфигурирование кода

Code Configuration
Code Configuration
Code Configuration

Перед загрузкой прошивки нужно добавить нашу информацию в учётные данные Wi‑Fi и Arduino Cloud.

Конфигурация Wi‑Fi

Найдите в коде следующие строки:

const char SSID[] = "YOUR_WIFI_SSID";
const char PASS[] = "YOUR_WIFI_PASSWORD";

Замените YOUR_WIFI_SSID и YOUR_WIFI_PASSWORD на имя и пароль своей сети Wi‑Fi. Эти учётные данные позволят системе Air Sense подключиться к Интернету и обмениваться данными с Arduino Cloud.

Конфигурация Arduino Cloud

Далее нужно изменить учётные данные устройства Arduino Cloud:

const char THING_ID[]     = "Your_Thing_ID";
const char DEVICE_LOGIN[] = "Your_Device_Login";
const char DEVICE_KEY[]   = "Your_Client_Secret";
  1. THING_ID → Arduino Cloud > Things > (Your Thing) > ⓘ Info > Thing ID

  2. DEVICE_LOGIN → Скачанный Arduino IoT Cloud PDF > Client ID

  3. DEVICE_KEY → Скачанный Arduino IoT Cloud PDF > Client Secret (Secret Key)

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

Этап 20: Загрузка кода

Uploading Code
Uploading Code

Air Sense Github

После ввода всех учётных данных Wi‑Fi и Arduino IoT Cloud и установки всех нужных библиотек нужно подключить плату ESP32-S3 к компьютеру кабелем USB Type‑C и открыть проект в Arduino IDE. В меню Tools следует задать следующие рекомендуемые параметры платы:

  1. Board: ESP32S3 Dev Module

  2. USB CDC On Boot: Enabled

  3. Flash Mode: QIO 80MHz

  4. Flash Size: 4MB (32Mb)

  5. Partition Scheme: Huge APP (3MB No OTA / 1MB SPIFFS)

  6. PSRAM: Disabled

  7. Upload Speed: 921 600

Затем выберите COM Port, соответствующий плате ESP32-S3. После завершения конфигурирования нажмите на кнопку Upload и дождитесь завершения процесса компиляции и загрузки.

После успешной загрузки устройство Air Sense автоматически подключится к вашей сети Wi‑Fi, синхронизируется с Arduino IoT Cloud, инициализирует все подключённые датчики и начнёт отслеживать в реальном времени данные о качестве воздуха. Актуальные показания датчиков также будут доступны через дэшборд Arduino IoT Cloud, позволяющий удалённо отслеживать состояние воздуха в доме.

Этап 21: Монтаж платы микроконтроллера

Microcontroller Assembly
Microcontroller Assembly

Поместите ESP32 S3 на монтажную поверхность внутри корпуса. Выровняйте монтажные отверстия платы с напечатанными опорами.

Затем закрепите плату винтами M3. Аккуратно затягивайте винты, чтобы плата надёжно держалась на месте. Постарайтесь не затягивать их слишком сильно, потому что это может привести к повреждению платы или монтажной поверхности.

Этап 22: Сборка датчика пыли

Dust Sensor Assembly
Dust Sensor Assembly

Датчик пыли отвечает за измерение концентрации мелких частиц в воздухе, помогая в реальном времени отслеживать качество воздуха и вычислять Air Quality Index (AQI).

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

Выровняйте монтажные отверстия с распечатанными опорами и закрепите модуль винтами M3. Убедитесь, что датчик надёжно закреплён, а его разъём доступен для подключения.

Этап 23: Монтаж датчика BME680

BME680 Sensor Assembly
BME680 Sensor Assembly
BME680 Sensor Assembly
BME680 Sensor Assembly

BME680 — компактный датчик окружающей среды, измеряющий температуру, влажность, давление воздуха и сопротивление газа. Эти показания помогают отслеживать условия окружающей среды в помещении и расширяют возможности анализа качества воздуха.

Поместите модуль датчика BME680 на монтажную плоскость рядом датчиком пыли. Благодаря такому расположению датчик имеет доступ к воздушному потоку внутри корпуса, что обеспечивает точные замеры.

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

Этап 24: Монтаж модуля реле

Relay Module Assembly
Relay Module Assembly

Модуль реле используется в качестве коммутационного интерфейса системы Air Sense. Он позволяет микроконтроллеру безопасно управлять оборудованием высокого напряжения, например, вытяжным вентилятором.

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

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

Этап 25: Монтаж 5-вольтового адаптера

5V Adapter Assembly
5V Adapter Assembly

Для безопасной подачи питания на электронику смонтируйте модуль преобразователя питания из переменного в постоянный ток на 5 В внутри отделения в корпусе.

Адаптер преобразует переменный ток электрической сети в стабильные выходные 5 В постоянного тока, питающие ESP32-S3, датчики, дисплей и модуль реле. Это устраняет необходимость во внешних источниках питания и обеспечивает интеграцию всей электроники внутри одного корпуса.

Этап 26: Монтаж дисплея

Display Assembly
Display Assembly
Display Assembly

Основным пользовательским интерфейсом системы Air Sense служит TFT‑дисплей, отображающий в реальном времени такую информацию, как AQI, концентрацию PM2.5, температуру, влажность, статус устройства и системные уведомления.

Сначала вставим модуль дисплея в крышку. Экран должен плотно сидеть в рамке.

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

Этап 27: Монтаж кабеля питания переменного тока

AC Power Cord Installation
AC Power Cord Installation

Для подачи питания от электрической сети смонтируем кабель питания переменного тока, проведя его через отверстие для кабеля в корпусе. Аккуратно проложите кабель внутри корпуса.

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

Этап 28: Подключение проводов

Wiring Connections

Теперь можно подключить все модули к ESP32-S3-Zero. Подсоедините провода в соответствии со схемой и внимательно проверьте каждое соединение перед подачей питания.

Подключение дисплея

Подключите модуль дисплея к ESP32-S3 следующим образом:

  1. VCC → 3.3V

  2. GND → GND

  3. DIN → GPIO11

  4. CLK → GPIO12

  5. CS → GPIO10

  6. DC → GPIO9

  7. RST → GPIO8

  8. BL → 3.3V

Датчик BME680

BME680 обменивается данными по интерфейсу I²C.

  1. VCC → 3.3V

  2. GND → GND

  3. SDA → GPIO43

  4. SCL → GPIO44

Датчик пыли

Датчик пыли подключается следующим образом:

  1. VCC → 3.3V

  2. GND → GND

  3. ILED → GPIO5

  4. AOUT → GPIO6

Модуль реле

Реле используется для автоматического управления вентилятором на основании замеров качества воздуха.

  1. VCC → 3.3V

  2. GND → GND

  3. Signal → GPIO7

Провода переменного тока вентилятора

⚠️ Предупреждение: в этом разделе мы работаем с переменным током электрической сети. Выполняйте описанные в нём действия, только если имеете опыт работы с проводами высокого напряжения; перед подключением проводов убедитесь, что питание отключено.

Подключите реле и вентилятор следующим образом:

  1. Фаза электрической сети → COM реле

  2. NO реле → фаза вентилятора

  3. Нейтраль электрической сети → нейтраль вентилятора

Когда реле включается, пропущенная через него линия фазы позволяет подать питание на вентилятор и запустить его автоматически.

Этап 29: сборка корпуса

Close the Housing
Close the Housing

Смонтировав всю электронику, провода и внутренние компоненты, можно закрыть корпус. Аккуратно установите верхнюю часть корпуса с блоком двигателя, убедившись, что кабель питания и внутренние провода проложены правильно и не будут зажаты при сборке.

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

Этап 30: Окончательная сборка

Final Assembly
Final Assembly

Для окончательной сборки устройства поместите корпус Air Sense на блок фильтра HEPA. Аккуратно расположите корпус на верхней кромке блока фильтра, обеспечив его ровное и надёжное размещение.

Затем плавно опустите корпус в блок фильтра и поворачивайте его, пока фиксаторы не попадут в соответствующие пазы. Механизм поворотной фиксации надёжно соединит две части вместе.

Перед использованием устройства убедитесь, что оно устойчиво и что фильтр HEPA надёжно закреплён внутри очистителя. Блок вентилятора будет вытягивать загрязнённый воздух через фильтр и выдувать чистый воздух из верхней части устройства. В случае необходимости технического обслуживания устройства или замены фильтра достаточно просто повернуть верхний корпус в обратном направлении и извлечь его.

Этап 31: Приложение Arduino Remote

Arduino Remote App
Arduino Remote App

Для отслеживания показателей и управления Air Sense напрямую через смартфон установите приложение Arduino Remote из Google Play Store или Apple App Store и войдите в тот же аккаунт Arduino, который подключён к проекту Arduino IoT Cloud.

После выполнения входа приложение автоматически обнаружит Thing Air Sense и отобразит все настроенные ранее облачные переменные. Это позволит в реальном времени просматривать данные об AQI, концентрации пыли, температуре и влажности, а также удалённо управлять состоянием питания очистителя воздуха через Интернет.

Этап 32: Тестирование

Testing
Testing

Теперь можно протестировать собранный умный очиститель воздуха Air Sense. Подключите кабель питания переменного тока к розетке электрической сети и включите устройство. После включения питания ESP32-S3, датчики, дисплей и вентилятор заработают автоматически.

За несколько секунд должен включиться передний дисплей и начать отображать в реальном времени информацию о качестве воздуха, в том числе AQI, концентрацию PM2.5, температуру, влажность, давление, уровень IAQ, а также статус Wi‑Fi и срок службы фильтра. Устройство подключится к Arduino IoT Cloud и начнёт удалённо обновлять данные.

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

Также вы сможете проверить показания датчиков в реальном времени и удалённо управлять очистителем через приложение Arduino Remote или дэшборд Arduino IoT Cloud.