1. Установка приложения
- Скачайте APK на телефон с Android 10 или новее. Это Android-приложение, не версия для iPhone.
- Откройте файл. Если Android запросит разрешение установки из этого источника, разрешите его только вашему браузеру или файловому менеджеру. После установки разрешение можно отключить.
- Если Vertical Race уже установлено, обновите приложение поверх него. Пакет
danilo.carсохранён. Не удаляйте старую версию без необходимости: удаление стирает её настройки. - При сообщении о несовместимой подписи установка поверх другой сборки невозможна. Сначала сохраните нужные настройки; затем удалите прежнюю сборку и установите APK с этого сайта.
- По умолчанию имя внутри приложения — Vertical Race. Чтобы изменить его, нажмите название с карандашом в главном меню. Имя под значком Android остаётся Vertical Race.
APK подписан локальным тестовым ключом для прямой установки. Это не релиз из Google Play.
2. Загрузка скетча
- Выключите питание моторов. Подключите ESP-12F / ESP8266 с USB-разъёмом к компьютеру.
- Распакуйте ZIP. Откройте
esp8266/esp8266.inoв Arduino IDE. Файлыaccessories.hиmotor_output.hдолжны остаться рядом со скетчем. - Установите пакет плат ESP8266 версии 3.1.2. Адрес менеджера плат:
https://arduino.esp8266.com/stable/package_esp8266com_index.json. - Выберите NodeMCU 1.0 (ESP-12E Module), затем порт фактически подключённой платы. Маркировка самого радиомодуля может быть ESP-12F.
- Загрузите скетч. После перезапуска должна появиться сеть
verticalrace.
В архиве также есть готовый BIN. Для первого подключения используйте исходный скетч и Arduino IDE: не выбирайте случайный порт или смещение записи. Эта прошивка не подходит для ESP32-C3.
3. Питание и проводка
Схема ниже предназначена для готовой USB-платы ESP-12F с контактами D1–D8, не для голого радиомодуля.
- ESP: отдельное USB-питание 5 В через разъём платы. Не подавайте батарейные 6 В на ESP или 5 В на GPIO.
- MX1508: четыре обычные AA, около 6 В. Плюс через выключатель на «+» драйвера, минус на «−» драйвера. Плюсы батарей и USB не соединяйте.
- Общая земля: GND ESP соедините отдельным сигнальным проводом с минусом MX1508. Ток моторов не должен проходить через тонкую проводку земли ESP.
- Подключайте и меняйте провода только при полностью выключенном питании. В этой схеме отдельный LM2596 не используется.
| Назначение | Пин платы | GPIO / подключение |
|---|---|---|
| Тяга, IN1 / IN2 | D2 / D1 | GPIO4 / GPIO5 |
| Руль, IN3 / IN4 | D6 / D7 | GPIO12 / GPIO13 |
| Клаксон через BC337 | D5 | GPIO14 |
| Передние LED | D8 | GPIO15, включение HIGH |
| Задние LED | D4 | GPIO2, включение LOW |
Моторы: тяговый к MOTOR-A, рулевой с пружиной к MOTOR-B. Если направление оказалось обратным, выключите питание и поменяйте два провода соответствующего мотора.
Передний свет: D8 → свой резистор 330 Ом → анод каждого белого LED; катод → GND. Задний: 3V3 → свой резистор 330 Ом → анод каждого красного LED; катод → D4. Подключение напрямую подходит только для маломощных индикаторных светодиодов. Мощным фарам нужен отдельный драйвер. D8 должен оставаться LOW, D4 HIGH при загрузке.
Пассивная пищалка 5 В: D5 → 1 кОм → база BC337; эмиттер → GND; коллектор → минус пищалки; плюс → проверенный пин 5V USB-платы. Между базой и эмиттером — 10 кОм. Для пьезоэлемента добавьте отдельный 1 кОм параллельно пищалке; для электромагнитной пищалки нужен защитный диод: катод к плюсу, анод к минусу. Ножки BC337 сверяйте с даташитом вашего производителя, а не с положением рисунка.
Помехи: электролитический конденсатор 1000 мкФ / 25 В около входа питания MX1508, с правильной полярностью. На контактах каждого мотора — керамический 104 / 100 нФ без полярности. Эти детали не заменяют исправную проводку и достаточное питание.
4. Подключение телефона
- Включите ESP. В настройках телефона подключитесь к Wi-Fi машинки.
- Когда телефон предупредит, что сеть без интернета, выберите «Остаться подключённым». Приложение связывается с машинкой локально, интернет для управления не нужен.
- Откройте Vertical Race. Кнопка Wi-Fi в приложении открывает сетевые настройки.
- Дождитесь статуса «Подключено». Он означает ответ самой ESP, а не просто соединение телефона с точкой доступа.
verticalrace12345678192.168.4.1Технический статус платы доступен на http://192.168.4.1/status только при подключении к Wi-Fi машинки. Основная прошивка сообщает firmware=pwm-effects-3.
Своё имя Wi-Fi
В esp8266.ino найдите строку const char* ssid = "verticalrace";, замените имя внутри кавычек и загрузите скетч заново. Для начала используйте латиницу и цифры; SSID должен занимать от 1 до 32 байт. Пароль задаётся соседней строкой password; для WPA2 используйте 8–63 печатных ASCII-символа.
После прошивки выберите новое имя в настройках Wi-Fi телефона. Приложение работает по адресу 192.168.4.1 и не привязано к имени сети. На плате со старым скетчем остаётся danilo-vlado.car, пока вы её не перепрошьёте. Обновление APK само по себе не меняет Wi-Fi.
5. Управление машинкой
- Выберите режим и скорость на первом экране. Для первой проверки поставьте «Медленно» и вывесьте колёса.
- Для режимов с наклоном удерживайте телефон удобно и неподвижно. Кнопка калибровки открывает окно; нажмите «Задать ноль», чтобы сохранить нейтраль обеих осей на текущий сеанс. Калибровка останавливает управление.
- Нажмите большой СТАРТ. Панель опустится сверху. Приложение сначала отправляет нейтральную команду; без ответа машинки управление не включается.
- Для сенсорного управления используйте поле справа под правую руку. Не требуется отпускать палец при смене направления.
- STOP немедленно выключает управление. Стрелка вверх или Android «Назад» также останавливают машинку и возвращают меню.
| Режим | Действие |
|---|---|
| Наклон + газ | Наклон влево/вправо — руль, сенсорное поле вверх/вниз — вперёд/назад. |
| Сенсор | Поле справа: вверх/вниз — вперёд/назад, влево/вправо — поворот. Центр — нейтраль. |
| Наклон + наклон | Боковой наклон — руль, продольный — газ/задний ход. Направление газа инвертировано относительно первой версии; перед поездкой проверьте на вывешенных колёсах. |
| Шоу | Отдельный сценарий. Открытие окна само по себе не запускает машину. |
Скорости «Медленно», «Средне», «Быстро» ограничивают команду газа. «Плавно» сглаживает управление. Шкалы газа и скорости показывают команды, не измеренные км/ч. При отпускании пальца, выходе из поля или потере свежих данных наклона газ убирается.
Вибрация: слабая на стоянке после СТАРТ, сильнее с газом. Выключается отдельной кнопкой. Звук: рёв двигателя и торможение воспроизводит телефон. Клаксон: кнопка сигнала в панели, на машинке пищалка используется только для него; требуется включённый звук и подключённая пищалка. Свет: кнопка лампочки включает фары; задние LED становятся ярче при торможении.
После STOP, потери связи или возврата из другого приложения снова нажмите СТАРТ и сделайте новое касание. Автоматического продолжения движения нет. Прошивка останавливает моторы через 500 мс без команд, но не используйте это как замену ручной остановке.
6. Сценарий «Шоу»
Выберите «Шоу» и нажмите большой СТАРТ: сначала откроется окно с анимацией маршрута. Машина ещё стоит. Настройте времена, затем нажмите отдельный СТАРТ внутри окна. Проводите испытание на малой скорости, в большой свободной зоне без людей и препятствий.
- Игра газом и короткие рывки — 2 с.
- Прямая — 4 с.
- Левый круг — 10 с.
- Правый круг — 10 с.
- Торможение и пауза — 3 с.
- Повторная игра газом — 2 с.
- Разворот задним ходом — 2 с.
- Торможение / нейтраль — 0,25 с.
- Резкий газ по прямой — 3 с, затем остановка.
Кнопка времени позволяет менять семь длительностей при остановленной машине. Оба этапа игры газом используют одну настройку. Значения сохраняются. По умолчанию весь сценарий занимает 36,25 с.
Диаметр «восьмёрки» и расстояние не измеряются: они зависят от покрытия, батарей и шасси. Анимация — схема команд, не GPS-трек. STOP, «Назад», сворачивание приложения или потеря связи отменяют сценарий.
7. Проверка и неисправности
В телефоне есть Wi-Fi, а приложение пишет «Автомобиль недоступен»
Это разные проверки: сеть может быть подключена, но HTTP-команды не доходят до ESP. Остаться в Wi-Fi без интернета, проверить http://192.168.4.1/status, перезапустить приложение. Убедиться, что залит нужный скетч и на плате есть обработчик команд. Если статус открывается, а приложение не подключается, временно отключить VPN и повторить нейтральную проверку.
Wi-Fi обрывается при газе
Немедленно остановите испытание. Сравните работу на вывешенных колёсах и при нагрузке, проверьте питание ESP от отдельного USB, провода земли, источник питания моторов и конденсаторы. Сохраните состояние /status и Serial 115200. Не пытайтесь компенсировать обрыв увеличением газа или отключением аварийного STOP. Причина обрыва на конкретной машине не установлена программными тестами.
Клаксон слышен только на телефоне
Проверить прошивку pwm-effects-3, включённый звук, D5, питание пищалки, монтаж BC337 и её тип. Щелчок от постоянных 5 В характерен для пассивного излучателя; это не доказывает исправность всей схемы. Для пьезоэлемента нужен резистор разряда, для магнитного — защитный диод. Не меняйте частоту PWM моторов ради звука без проверки влияния на управление.
Постоянно горит встроенный синий LED
Если светодиод вашей платы подключён к GPIO2, он делит этот выход с задними LED и может светиться вместе с габаритами. Сам по себе он не подтверждает обрыв или наличие Wi-Fi.
Первый запуск: питание выключено → проверка проводов → ESP без моторов → свет и клаксон → вывешенные колёса, малая скорость и STOP → движение в безопасном месте. Прошивку загружать только с отключённым питанием моторов.

