Рубрики
Схемы на Arduino

Портативная игровая консоль на основе Arduino и Arduboy своими руками

В данной статье мы рассмотрим изготовление своими руками (DIY) портативной игровой консоли с помощью платы Arduino Pro Micro и пакета Arduboy. Arduboy представляет собой 8-битную программируемую игровую систему размером с кредитную карту, разработанную компанией Nintendo Gameboy. Система разработки игр Arduboy основана на крайне популярной сейчас платформе с открытым исходным кодом под названием Arduino. Система достаточно проста в освоении и позволяет разрабатывать собственные игры и делиться ими с игровым сообществом. Оригинальный игровой пакет Arduboy основан на микроконтроллере ATmega32U4 и OLED дисплее с разрешением 128×64 пикселов. Таким образом, для реализации нашего проекта нам понадобится основанный на Arduino микроконтроллер ATmega32u4 и 6-контактный OLED дисплей с интерфейсом SPI.

Также авторы проекта (ссылка на оригинал в конце статьи) изготовили печатную плату для данного проекта портативной игровой консоли с помощью компании NextPCB, которая уже более 15 лет специализируется на производстве печатных плат. Также данная компания оказывает услуги по поставке компонентов, разработке прототипа печатной платы, контролю качества и многие другие.

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

  1. Плата Arduino Pro Micro (купить на AliExpress).
  2. OLED дисплей с интерфейсом SPI (купить на AliExpress).
  3. Тактильные кнопочные переключатели – 6 шт.
  4. Зуммер (купить на AliExpress).
  5. Регулятор напряжения 7805 (купить на AliExpress).
  6. Ползунковый переключатель (Slide Switch) SPDT типа.
  7. Аккумулятор 18650 – 2 шт.
  8. Держатель для аккумуляторов 18650.

Схема проекта

Схема портативной игровой консоли на основе платы Arduino и Arduboy представлена на следующем рисунке.

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

Схема проекта была нарисована в симуляторе EasyEDA. Схема содержит плату Arduino Pro Micro, модуль OLED дисплея с интерфейсом SPI, регулятор напряжения и ряд кнопок.

Схема запитывается от двух элементов 18650, соединенных последовательно. Напряжение на их выходе составляет 7,4 В, поэтому в схеме мы применили регулятор напряжения на основе микросхемы 7805, который понижает это напряжение до значения 5V, необходимого для питания платы Arduino pro micro и других компонентов схемы. Полная схема соединений проекта представлена в следующей таблице.

Arduino pro micro OLED дисплей
Vcc Vcc
GND GND
D15 SCL
D16 SDA
D4 DC
D2 RES
Arduino pro micro Кнопки
A0 UP
A3 Down
A1 Right
A2 Left
D7 A
D8 B
Arduino pro micro Зуммер
D5 Положительный контакт
D6 GND

Как видите, схема соединений несложная.

Изготовление печатной платы для портативной игровой консоли

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

Но если у вас нет желания заниматься этим, то можете скачать готовые Gerber файлы для изготовления печатной платы данного проекта игровой консоли. Для этого выполните следующую последовательность шагов:

Шаг 1. Перейдите на сайт https://www.nextpcb.com/, зарегистрируйтесь на нем если вы посещаете его в первый раз. На главном экране сервиса нажмите на кнопку ‘Quote now’ (заказать сейчас).

Шаг 2. В следующем открывшемся окне загрузите Gerber фалы вашего проекта и заполните детали, необходимые для изготовления печатной платы: ее размеры, число слоев и число экземпляров печатной платы, которое вам необходимо.

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

На заключительном шаге выполняется финальная проверка (Checkout). На этом этапе сервис NextPCB детально проверяет ваши Gerber файлы на наличие ошибок. И если эта проверка прошла успешно, только тогда вы перенаправляетесь в окно оплаты заказа.

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

Сборка портативной игровой консоли

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

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

Разработка программы для Arduino

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

Для того, чтобы иметь возможность играть в игры Arduboy с помощью платы Arduino Pro Micro, мы первым делом должны добавить пакет Arduboy Homemade в Arduino IDE. Этот пакет содержит все библиотеки Arduboy с поддержкой всех альтернативных дисплеев.

Чтобы установить пакет Arduboy откройте Arduino IDE и выберите в ее меню пункт File > Preferences.

Затем скопируйте и вставьте представленный ниже URL в поле Additional Boards Manager URLs и нажмите OK.

https://raw.githubusercontent.com/MrBlinky/Arduboy-homemade-package/master/package_arduboy_homemade_index.json

Затем выберите пункт меню Tools > Boards > Board manager и в текстовом поле наберите там «homemade» или «Arduboy homemade». Затем нажмите на Arduboy Homemade package и затем на кнопку Install.

Таким образом, мы добавили Arduboy package в Arduino IDE и теперь мы можем скачивать и играть в наши любимые Arduboy игры на нашей игровой консоли. Теперь перейдите на официальный сайт платформы и скачайте любую игру Arduboy. После этого откройте файл с расширением .ino из папки с игрой. Затем перейдите в пункт меню Tools и выберите там следующие параметры:

Board: Arduboy
Bootloader: Cathy3K
Core: Arduboy optimized core

После этого выберите порт, к которому подключена плата Arduino micro и нажмите upload.

Тестирование работы проекта

После загрузки кода в плату Arduino и вставления элементов 18650 в конструкцию проекта вы должны увидеть как OLED дисплей начнет показывать заставку (demo) игры. Кнопка A используется для запуска и остановки игры, а кнопка B используется для атаки (Attack).

Более подробно работу проекта вы можете посмотреть на видео, приведенном в конце статьи.

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

Источник статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *