Портативная консоль Doom на базе Arduino Nano

Портативная консоль Doom на базе Arduino Nano
Карманный брелок Doom на Arduino nano

Вступление

Приветствуем! Представляем вашему вниманию миниатюрную игровую консоль в формате брелока, позволяющую запустить легендарный Doom на базе Arduino Nano.

Этот проект является глубоко переработанной и усовершенствованной версией существующей разработки.

Особенности устройства:

Консоль отличается невероятной компактностью. В качестве визуального интерфейса используется OLED-дисплей SSD1306, построенный на технологии органических светодиодов. Экран обладает отличной контрастностью и доступен в нескольких цветовых исполнениях (белый, желтый, голубой).

Корпус устройства спроектирован для 3D-печати: все необходимые параметры для слайсера включены в документацию.

Автономность обеспечивает встроенный аккумулятор с возможностью подзарядки через разъем Type-C. Индикация процесса зарядки реализована с помощью светодиода. Также предусмотрена возможность перепрошивки устройства для запуска других игр или демонстрации анимаций через дополнительный порт Type-C.

Заинтригованы? Давайте приступим к сборке!

Необходимые компоненты

Для создания брелока подготовьте следующий список комплектующих:

Сборка

Этап 1 «Прототипирование на макетной плате»

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

Для проверки соедините компоненты согласно схеме. Для тестирования системы питания подключите выводы аккумулятора к контактам B+ и B- платы зарядки, а выходы OUT+ и OUT- соедините с линией питания (VCC) и общей землей (GND) макетной платы соответственно.

На изображении показана сборка на Arduino Uno, т.к в программе отсутствует nano
Схема сборки (для наглядности представлена на базе Arduino Uno)

Схема подключения дисплея:

  • GND — к GND на Arduino;

  • VCC (VDD) — к 3.3V на Arduino;

  • SDA — к A4;

  • SCL (SCK) — к A5.

Назначение портов для кнопок:

  • Общий вывод всех кнопок соединяется с GND.

  • «Вверх» — D8;

  • «Вниз» — D3;

  • «Влево» — D6;

  • «Вправо» — D7;

  • «Огонь» — D10.

ВНИМАНИЕ: перед подключением Arduino к ПК обязательно отсоединяйте аккумулятор от макетной платы!

Этап 1.2 «Прошивка устройства»

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

Скачайте архив с исходным кодом и распакуйте его.

как скачать файлы репозитория одним архивом
Как загрузить репозиторий архивом

Загрузите файл Doom_no_sound.ino в Arduino IDE:

ПРЕДУПРЕЖДЕНИЕ: при подключении Arduino к ПК обязательно отсоединяйте аккумулятор от макетной платы!

Выберите корректный COM-порт и загрузите код. При успешной прошивке на дисплее появится заставка DOOM с приглашением «please fire».

Демонстрация работы

Если всё прошло успешно, двигаемся дальше!

Этап 2 «Компактный монтаж и пайка»

  • Закрепите плату зарядки на торце аккумулятора при помощи двустороннего скотча.

  • Выполните разводку проводов к кнопкам согласно принципиальной схеме.

  • Демонтируйте кнопку Reset с платы Arduino Nano. Припаяйте управляющие кнопки. Кнопку «Огонь» закрепите над микроконтроллером, отступив от порта Type-C менее сантиметра. Будьте предельно внимательны: контакты не должны соприкасаться с процессором или другими токоведущими дорожками платы.

  • Соедините SDA с A4, SCL с A5. Припаяйте провод общего питания (VCC) экрана к выводу 3V3 на Arduino. GND экрана соедините с общей землей.

  • Сформируйте «платформу» для дисплея: наклейте на Arduino слой двустороннего скотча, а поверх него — тонкую диэлектрическую пластину (картон или пластик). Закрепите OLED-панель на этой платформе при помощи двустороннего скотча.

Этап 3 «3D-печать и сборка корпуса»

Для корпуса рекомендуется использовать прочные материалы, такие как PETG. Для печати можно воспользоваться принтером уровня Elegoo Neptune 4 Pro. Тщательно настройте параметры поддержек и «разглаживания» (ironing) для получения качественного результата.

Скачать STL-файлы корпуса можно здесь.

Рекомендации по печати:

  • Корпус (body): заполнение 20%, поддержки включены.

  • Крышки (front/back cover): заполнение 20%, без поддержек.

  • Кнопки: заполнение 80%, без поддержек.

Сборка корпуса:

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

Этап 4 «Финальная интеграция»

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

Припаяйте выключатель питания: соедините центральный контакт с выходом модуля зарядки (OUT+), а боковой — с пином Vin платы Arduino. Заизолируйте соединения термоусадкой. Соберите корпус, зафиксировав крышки на винты М2.5. Установите кнопки на свои места.

Результат должен выглядеть примерно так:

Заключение

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

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

Над проектом работали:

Dimon406

Инженер, разработчик ПО.

Romka-Krutoy

Программист, энтузиаст фотосъемки.

 

Источник

Читайте также