Як на ESP32 створити точний прилад для польотів (Віброваріометр)

03.12.2025 1 хвилин Автор: Lady Liberty

У статті розповідається про створення компактного віброваріометра на базі ESP32 та датчика BMP390. Автор ділиться досвідом збирання пристрою за один вечір, пояснює ключові технічні рішення й показує, як сучасні нейромережі допомагають прискорити розробку. Матеріал буде корисним для тих, хто цікавиться DIY-електронікою, гаджетами для польотів і практичними експериментами з мікроконтролерами.

Передісторія

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

Класичні моделі працюють через зміну тональності залежно від швидкості набору чи зниження висоти. Під час довгих годин у небі це безперервне пікання може втомлювати та дратувати.

Під час одних зі змагань один із пілотів невимушено зауважив: «Було б значно зручніше, якби варіометр не пищав, а просто вібрував — наче телефон у кишені. Щоб потік відчувався рукою чи зап’ястям, а не слухом».

Ця думка тоді пролетіла поверхнево, але згодом, під час перегляду товарів на AliExpress, погляд упав на годинник Watchy на ESP32-PICO-D4 з E-ink-дисплеєм. І саме тоді виникла ідея: перетворити відкритий апаратний годинник на компактний віброваріометр, який працює без звукового навантаження.

Watchy 2.0 прошитий у варіометр

Так з’явився проєкт VibroVario.

Є невелика інтрига: майже весь програмний код створила нейромережа Gemini 3, оскільки в процесі експериментів із новим API вона згенерувала близько 99% прошивки. Але перед тим, як перейти до цього, варто розібратися з головним — вибором сенсора.

Етап 1. Що саме можна вимірювати? – Пошук оптимального датчика

У ролі основного вимірювального елемента логічно використовувати барометричний сенсор, який визначає зміни висоти через різницю атмосферного тиску. Проте якісний варіометр потребує датчика з максимальною точністю.

Саме тому ключовим компонентом став BMP390 — модель, що значно перевершує популярні BMP280 або MS5611 за точністю. Його здатність визначати зміну висоти з роздільністю 5–8 см дозволяє після фільтрації отримувати точність приблизно ±5 см/с по вертикальній швидкості (Vz). Таких параметрів достатньо, щоб уловлювати навіть найслабші потоки й мікротурбулентність.

Bmp390

Ціна питання — близько $2.9 (≈ 120 грн) на AliExpress.

Етап 2. «На якій платформі це реалізувати?» — Пошук оптимального рішення

Найбільш вдалим вибором стала Watchy v2.0 на базі ESP32-PICO-D4 з E-Ink-екраном.

Архітектурні переваги. ESP32-PICO-D4 — це SiP-рішення (System-in-Package), у якому центральний процесор, флеш-пам’ять і кварцовий резонатор розміщені в одному компактному корпусі.

Енергоефективність. Пристрій вирізняється дуже низьким енергоспоживанням у режимі очікування — за даними виробника, до 60 днів у сні.

Дисплей. Повільний E-Ink не є недоліком: у статичному режимі він споживає 0 мВт, що ідеально підходить для довготривалої роботи. Оновлення з інтервалом у одну секунду — цілком достатнє для варіометра і дозволяє суттєво економити заряд.

Етап 3. Як усе під’єднати? — Монтаж без друкованої плати

Для збирання потрібний мінімальний набір компонентів:

  • годинник Watchy;

  • модуль BMP390;

  • чотири тонкі дроти;

  • паяльник з тонким жалом приблизно на 30 Вт.

Покрокова інструкція з монтажу (5–10 хвилин):

  1. Відкрутити чотири гвинти задньої кришки годинника.

  2. Акуратно розібрати корпус.

  3. Припаяти модуль BMP390 навісним монтажем до відповідних пінів на платі Watchy:

VCC модуля → до точки живлення кнопки 1

GND модуля → до GND

SCL → до GPIO 22

SDA → до GPIO 21

Таке з’єднання забезпечує стабільну роботу сенсора та не потребує окремої друкованої плати.

Схема Watchy 2.0

Важливо:  У цьому проекті для живлення датчика BMP390 використано виведення ESP32, а кнопка, що йде до висновку, замикає висновок при натисканні на землю. Отже настійно рекомендую не використовувати цю кнопку в роботі, потім планую знайти іншу точку підпаювання до годинника. Такий вибір живлення обумовлений жахливим струмом 15 міліампер у плати з BMP390! При простому підключенні відразу на 3.3 вольта ця плата висаджує батарейку в 200мАч за 15 годин.

Після завершення складання маса пристрою становить 24 грами.

Етап 4. «Що буде, якщо пілот різко рухне рукою?» — Компенсація прискорень

Парапланерист у польоті постійно змінює положення тіла: виконує крени, працює клевантами, іноді складає «вуха». Такі рухи створюють різкі зміни тиску, через що звичайний барометр починає спотворювати дані. Наприклад, швидке підняття руки вгору може імітувати хибний «підйом» на кілька метрів.

У результаті датчик бачить фальшивий потік. Щоб усунути подібні стрибки, застосовується математична компенсація вертикальних прискорень — своєрідна адаптація концепції Total Energy Compensation для носимого пристрою.

У Watchy вже встановлений BMA423, якісний тривісний акселерометр, тож алгоритм враховує одразу два джерела даних: показання барометра та акселерометра, постійно звіряючи їх між собою.

Етап 5. Як передати дані пілоту? — Система тактильних сигналів

У цьому криється головна особливість проєкту: заміна звукового сповіщення на тактильні патерни. Замість традиційних сигналів типу:

  • «Пі-іп» = +0.5 м/с

  • «Піп-піп» = +2.0 м/с

Пристрій передає інформацію через різні схеми вібрації, що дозволяє повністю позбутися набридливого звукового супроводу під час тривалих польотів.

Такий код сприймається мозком за  200-300 мс  – це швидше, ніж аналіз тональності звуку (там мозку потрібно близько 400 мс). Плюс, це чудово відчувається під через зимовими рукавичками (перевірено особисто), і не залежить від вітру у вухах.

Етап 6. E-Ink та робота під прямим сонцем

Від дисплея не відмовлялися — просто був обраний оптимальний тип екрану. Технологія E-Ink (електронне чорнило) залишається єдиним рішенням, яке:

  • чудово читається навіть під прямими гірськими променями з оглядом 180°;

  • не мерехтить;

  • споживає енергію лише під час оновлення зображення.

Розрахунок автономності

  • Середній струм: близько 20 мА (з урахуванням п’яти вібрацій на хвилину та оновлення екрану кожні 0,5 секунди).

  • Акумулятор Watchy: 200 мА·год.

У теорії виходить: 200 / 20 ≈ 10 годин роботи. У реальних умовах — холод, активна вібрація — автономність тримається понад 8 годин.

Цього вистачає для повного змагального дня. За потреби можна вимкнути дисплей або вібромотор, але саме вібрація залишається найбільш енерговитратною — приблизно 70 мА.

Етап 7. Хто створив прошивку? Реалістично про Gemini 3 та інші моделі

Основу скетчу згенерувала нейромережа Google Gemini 3, однак процес вимагав чітких і послідовних інструкцій.

У промпт було закладено точні вимоги, які уточнювалися сім разів:

«Написати Arduino-скетч для ESP32 (Watchy) з підключеним BMP390 і вбудованим BMA423.
Умови:
– автокалібрування висоти протягом перших 20 секунд;
– фільтр другого порядку (Калман, fc = 0.8 Гц);
– компенсація Vz за показаннями акселерометра;
– тактильний відгук через вібромотор із заданими патернами;
– оновлення E-Ink раз на 1 секунду за допомогою GxEPD2 у режимі часткового оновлення;
– увесь код у одному файлі без зайвих класів.»

Gemini сформував робочий каркас за лічені хвилини, але подальша оптимізація вимагала додаткових зусиль. Активно використовувалися різні моделі: Qwen, DeepSeek, Perplexity, які допомагали знаходити фрагменти алгоритмів, приклади коду, витяги з даташитів та реалізації з GitHub.

Без штучного інтелекту повноцінна базова прошивка потребувала б близько 40 годин роботи. Завдяки нейромережам загальний час скоротився до приблизно 8 годин.

Висновок

Проєкт VibroVario показує, наскільки простим і водночас ефективним може бути сучасний DIY-підхід у парапланеризмі. Завдяки точному барометричному сенсору, енергоефективній платформі Watchy та системі тактильних сигналів вдалося створити компактний варіометр, який працює без звукового навантаження й забезпечує комфорт під час довгих польотів. Поєднання апаратної частини з можливостями нейромереж значно скоротило час розробки та зробило проєкт доступним для повторення. Відкритий код і простота конструкції дозволяють будь-кому адаптувати пристрій під себе та розвивати ідею далі.

Підписатися
Сповістити про
0 Коментарі
Найстаріші
Найновіше Найбільше голосів
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.