Від ідеї до реалізації
Після успішного запуску атракціону “Лазерний лабіринт” та низки проєктів з автоматизації, я шукав новий виклик. Хотілося створити щось динамічне, конкурентне і технічно досконале.
Так народилася ідея створити власний аналог відомого тренажера Batak (або Reaction Wall). Це вертикальна панель із кнопками, які загоряються у хаотичному порядку, і по яких треба бити на швидкість. Такі пристрої використовують гонщики Формули-1 та боксери для тренування периферійного зору та реакції.
Але існуючі на ринку готові рішення мали два суттєві недоліки: висока ціна та закрита архітектура, яку неможливо змінити під себе.
Моя мета була амбітною: розробити з нуля інтерактивний атракціон “Кнопкова стіна”, який:
- Працює на сучасному залізі (ESP32).
- Має унікальні ігрові режими та українську озвучку.
- Інтегрований у веб для збору статистики.
- Витримує нещадну експлуатацію на івентах.

Технічна концепція
Головним принципом проєктування була масштабованість і модульність рішення. Ось основні характеристики:
- Мозок: Мікроконтролер ESP32. Його потужності вистачає для обробки натискань без затримок, керування світлом, веб-сервером та логікою гри одночасно.
- Кнопки: Використав великі аркадні кнопки (Arcade Buttons). Вони розраховані на велику кількість натискань. Всього задіяно 32 ігрові кнопки (по 16 на команду) та 2 сервісні (старт/вибір).
- Підсвітка: Використана штатна підсвітка кнопок. Це спрощує монтаж і заміну в разі поломки.
- Корпус: Чорне ламіноване ДСП. Цей матеріал виглядає стильно, “по-дорослому” і не потребує фарбування, а також при необхідності легко брендується. Габарити конструкції: висота — 1000 мм, довжина — 3400 м,; товщина — 70 мм.
- Живлення: Система живиться від єдиного блоку 220В -> 12В. Це забезпечує стабільну яскравість кнопок та роботу всієї периферії.
Архітектура електронної системи: Як підключити 70 ліній до одного чіпа?
Тут починається найцікавіше для інженерів. ESP32 має обмежену кількість GPIO (портів введення-виведення). Арифметика мого проєкту така:
- 32 кнопки (вхід)
- 32 лампочки підсвітки (вихід)
- Сервісні кнопки + управління табло + аудіо.
Разом — понад 70 ліній. Підключити це напряму до одного контролера фізично неможливо.
Рішення: Розширення портів
Я застосував архітектуру з використанням мікросхем розширення портів (MCP23017). Це дозволило додати та задіяти ще 64 додаткових портів (входів/виходів).
- Для входів (кнопок): Використовуються 16-бітні розширювачі портів вводу/виводу. ESP32 зчитує стан усіх 32 кнопок за лічені мікросекунди через кілька проводів.
- Для виходів (світла): Аналогічні мікросхеми, які керують блоками реле для вмикання 12-вольтової підсвітки.
Така схема забезпечує миттєву реакцію системи. Стан кнопок опитується сотні разів на секунду, що повністю виключає пропуск натискань навіть при дуже швидкій грі.

Логіка гри: Більше ніж просто “бий-біжи”
Щоб гра не набридала, я запрограмував кілька режимів з різною механікою:
- Режим “Спринтер” (Random): Класика. Кнопки загоряються хаотично. Хто перший натиснув свою кнопку — отримав очко та одночасно запустив переключення у суперника наступної кнопки. Чиста швидкість.
- Режим “Снайпер” (Точність): Тут не можна помилятися. Натиснув правильно — плюс бал. Поспішив або схибив — мінус бал. Це змушує гравця балансувати між швидкістю та уважністю.
- Режим “Грабіжник” (Steal All): Найазартніший рівень. Якщо ти не встигаєш натиснути свою кнопку швидше за суперника, твоє очко автоматично переходить супернику. Тут треба активно захищати свій результат.
Фішка проєкту: Українська душа
Я відмовився від стандартних “пищалок”. Записав власну українську озвучку. Апарат коментує гру, оголошує переможця різними репліками та підбадьорює гравців. Це створює зовсім іншу атмосферу!
Веб-інтерфейс та Телеметрія
Оскільки “серцем” системи є ESP32, було б не правильно не використати його Wi-Fi можливості. Я розробив вбудований веб-інтерфейс, який перетворює налаштування та обслуговування атракціону на задоволення.
Через “адмінку” (з телефону або ПК) можна:
- Оновлювати прошивку (OTA): Заливати нові версії коду “по повітрю”, не розбираючи корпус.
- Моніторити стан: Якість Wi-Fi, uptime, MAC-адресу та ID пристрою.
- Аналізувати статистику: Бачити, які рівні найпопулярніші та скільки ігор зіграно.
- Змінювати конфігурацію: Час гри, складність, поріг перемоги — все налаштовується без перепрошивки.
Крім того, атракціон вміє відправляти телеметрію на зовнішній сервер. Це дозволяє мені віддалено бачити зведену статистику по всіх моїх пристроях за будь-який період.




Механіка та конструкція
Спроєктувати “стіну” — це пів біди. Треба було її грамотно розкроїти. Тут допоміг друг: ми оптимізували карту розкрою ДСП так, щоб конструкція вийшла максимально жорсткою і при цьому економною.
Зважаючи на довжину 3,4 м та публічну експлуатацію, враховано:
- Вандалостійкість (удари бувають дуже сильними).
- Зручний сервісний доступ до “нутрощів”.
- Приховане прокладання кабелів.
Проблема вібрацій: Основна складність — закріпити кнопки та дроти так, щоб від постійної вібрації нічого не відвалилося. Звичайні роз’єми тут можуть підвести. Довелося приділити особливу увагу кабель-менеджменту. Дроти не повинні бовтатися, а клеми мають сидіти “намертво”. Це той випадок, коли механіка важливіша за електроніку.




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




Отриманий досвід: Теорія vs Практика
Створення “Кнопкової стіни” стало чудовим краш-тестом для моїх навичок. Ось головні уроки:
- Живлення має значення. 32 лампи + електроніка створюють пікові навантаження. Правильний розрахунок перерізу дротів та потужний блок живлення — запорука відсутності “глюків”.
- Аудіо — це UX. Люди рідко читають інструкції. Голосові команди зробили атракціон інтуїтивно зрозумілим навіть для дітей.
- Модульність рятує нерви. Розділення “мозку”, силової частини та табло на модулі виправдало себе при транспортуванні.
Перспективи розвитку
Проєкт живе і розвивається. У планах:
- RGB-підсвітка: Заміна ламп на адресні діоди для нових механік (ігри на запам’ятовування кольорів).
- QR-результати: Генерація коду після гри для збереження результату в онлайн-таблиці рекордів.
- Мережева дуель: Об’єднання двох віддалених “стін” через інтернет для змагань у реальному часі між містами.