g-ru.ru
Женский журнал: Женский журнал, миграция, красота, кулинария, магия и многое другое.

Сверхминиатюрная игровая консоль на RetroPie

22

Сверхминиатюрная игровая консоль на RetroPie

Это не первая и не последняя в мире игровая консоль на RetroPie, но среди множества аналогичных предлагаемая конструкция автора Instructables под ником 陳亮 выделяется миниатюрностью: размеры приблизительно как у более минималистической консоли Arduboy.

Устройство выполнено на основе платы Raspberry Pi Zero, подойдёт вариант как с WiFi, так и без. Первое удобнее, второе — энергоэффективнее. На неё мастер поставил «шляпу» LCD HAT фирмы Waveshare.

Важно выбрать более новый вариант «шляпы» — с 1,3-дюймовым дисплеем, имеющим разрешающую способность в 240х240. Да, квадрат, но Instagram и Polaroid тут ни при чём. На этой «шляпе», помимо дисплея, есть джойстик и кнопки.

В состав Raspberry Pi Zero не входит гребёнка. Если она нужна, её надо впаять самостоятельно.

Чтобы консоль не получилась слишком толстой, нужна гребёнка с 8-миллиметровыми штырями. Такую мастер не нашёл и укоротил 12-миллиметровую. Она состоит из двух рядов по 20 штырьков каждый.

В зазор между платами поместилась LiPo-батарея размерами 45х23х5 мм со встроенной схемой защиты. Ёмкость на ней не указана. К ней 陳亮 добавил очень миниатюрный контроллер заряда размерами 10х10 мм, который хорош всем, но может заряжать батарею лишь в медленном режиме током всего в 50 мА.

Двухцветный светодиод, показанный рядом, не обязателен. Из дополнительных компонентов потребовались: механический выключатель питания, ремешок, четыре потайных винта с резьбой М2,5 длиной в 14 мм.

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Корпус и кнопки — 3D-печатные, мастер выложил все необходимые для их повторения файлы на Thingiverse. Печатать их можно как одним, так и разными цветами, в авторском варианте они следующие: Layer123.stl — угольно-чёрный, Layer4.stl — прозрачный жёлтый, Layer5.stl — прозрачный оранжевый, Layer678.stl — прозрачный красный, ButtonHead.stl — прозрачные красный, синий и зелёный (три кнопки), CrossButtonHead.stl — тёмно-красный (а это D-pad).

Стабилизатор PAM2306 на Raspberry Pi Zero может работать при малом падении напряжения, он будет вырабатывать 3,3 В на выходе, даже когда напряжение на входе упадёт до 3,5 В. На одном заряде аккумулятора консоль, потребляя при отключённом WiFi от 100 до 200 мА, работает около 90 минут, при этом расходуется около 90% ёмкости батареи. Плата, на которой WiFi отсутствует аппаратно, проработает ещё дольше.

Мастер соединяет «малинку» и «шляпу» между собой гребёнкой с 12-миллиметровыми штырями, но пока не припаивает её:

Сверхминиатюрная игровая консоль на RetroPie

Выкусывает лишнее, и штыри становятся 8-миллиметровыми:

Сверхминиатюрная игровая консоль на RetroPie

Припаивает гребёнку к одной плате, а ответную часть — к другой:

Сверхминиатюрная игровая консоль на RetroPie

Соединяет с остальными компонентами:

Сверхминиатюрная игровая консоль на RetroPie

По такой схеме, составленной в текстовом виде:

Сверхминиатюрная игровая консоль на RetroPie

Примечание: у «шляпы» гребёнка расположена на обороте, поэтому нумерация её выводов обратная.

Помещает всё, кроме Raspberry Pi, в деталь корпуса, распечатанную из файла Layer4.stl, под выключатель там предусмотрено посадочное место:

Сверхминиатюрная игровая консоль на RetroPie

Поверх устанавливает деталь, распечатанную из файла Layer5.stl:

Сверхминиатюрная игровая консоль на RetroPie

Затем — Raspberry Pi:

Сверхминиатюрная игровая консоль на RetroPie

И заднюю стенку — это файл Layer678.stl:

Сверхминиатюрная игровая консоль на RetroPie

Помещает винты на свои места:

Сверхминиатюрная игровая консоль на RetroPie

Переворачивает всю конструкцию, кладёт на места кнопки, напечатанные из файла ButtonHead.stl, но пока не D-pad:

Сверхминиатюрная игровая консоль на RetroPie

Закрывает передней панелью, распечатанной из файла Layer123.stl:

Сверхминиатюрная игровая консоль на RetroPie

Переворачивает и закручивает винты:

Сверхминиатюрная игровая консоль на RetroPie

Устанавливает на ось джойстика D-pad, распечатанный из файла CrossButtonHead.stl:

Сверхминиатюрная игровая консоль на RetroPie

Качает RetroPie, выбрав опцию Raspberry Pi 0/1, и homebrew-игры. Качает дополнительные файлы: mk_arcade_joystick_rpi и rpi-fbcp, выбрав опцию скачивания в ZIP-архиве.

Записывает на карту памяти скачанный образ RetroPie. Если просто скопировать файл, ничего не заработает.

Нужно воспользоваться одним из способов, в зависимости от того, какая ОС у вас на десктопе.

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

Помещает на карту памяти архивы mk_arcade_joystick_rpi-master.zip и rpi-fbcp-master.zip.

В конец файла config.txt на карте памяти помещает строку:

В файл codlin.txt после ключевого слова rootwait помещает: modules-load=dwc2,g_ether

Создаёт на карте памяти пустой файл ssh, на MacOS у мастера команда такая:

В 3D-печатном корпусе уже предусмотрены выемки под USB-разъём и слот для карты памяти, поэтому установить карту и подключить шнур не сложнее, чем в плеер, например:

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Вскоре после загрузки RetroPie на консоли ОС компьютера опознает виртуальную сетевую карту. Как только это произойдёт, мастер вводит команду:

Пароль по умолчанию — raspberry, его 陳亮 сразу же меняет командой passwd.

В конец файла /etc/modules он добавляет:

Создаёт файл /etc/modprobe.d/fbtft.conf следующего содержания:

Вытаскивает файлы из одного из двух архивов, заранее скопированных на карту (см. выше):

Компилирует и устанавливает:

В конец файла /boot/config.txt добавляет:

Распаковывает другой архив:

Запускает редактор и открывает файл конфигурации геймпада:

Находит строку static const int mk_arcade_gpio_maps[] и делает её такой:

Сохраняет файл, компилирует и устанавливает модуль:

В конец файла /etc/modules добавляет:

Создаёт файл /etc/modprobe.d/joystick.conf следующего содержания:

Скачанные ранее (см. выше) файлы с homebrew-играми раскидывает из папки /boot по папкам

/RetroPie/roms/$CONSOLE, где $CONSOLE — название платформы, для которой они предназначены.

Выбирает сеть WiFi (только для платы, где он есть): 2 Network Options -> N2 Wi-fi -> вводит данные о своей сети
Делает, чтобы загрузка не приостанавливалась для появления сети: 3 Boot Options -> B2 Wait for Network at Boot -> No -> OK
Указывает часовой пояс: 4 Localisation Options -> I2 Change Timezone -> выбирает свой часовой пояс
Отключает последовательный порт: 5 Interfacing Options -> P6 Serial -> No -> No -> OK

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Запускает скрипт настройки RetroPie:

Оптимизирует разрешение под 1,3-дюймовый экран: C Configuration / Tools -> 805 configedit -> 1 -> 0 -> 2 Render Resolution -> O Video output resolution -> OK -> Cancel -> Cancel -> Cancel
Меняет тему на подходящую для такого дисплея (нужно, чтобы WiFi был подключён): 812 esthemes -> 14 Pixel-tft -> OK -> 1 carbon -> 2 Uninstall

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

Сверхминиатюрная игровая консоль на RetroPie

У «шляпы» всего три отдельных кнопки, плюс одна встроенная прямо в D-pad. А разрешение дисплея — 240х240.

Мастер предпочитает платформу NES, где разрешающая способность — 256 x 240. Чтобы изображение не искажалось, он решил его кадрировать. Тем читателям, которые собираются играть в игры только для NES, он рекомендует в конец файла /opt/retropie/configs/nes/retroarch.cfg добавить строки:

А в конец файла /opt/retropie/configs/all/retroarch-core-options.cfg — строку:

Кнопки геймпада эмулируемой NES раскидывает по кнопкам консоли согласно рисунку:

Сверхминиатюрная игровая консоль на RetroPie

Пользователям, привыкшим к кнопкам Turbo, придётся отвыкать. Мастер запускает редактор и открывает файл настроек EmulationStation:

Туда помещает текст:

Сохранив файл и закрыв редактор, снова запускает его, но уже с файлом настроек RetroArch:

И туда помещает текст:

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

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

В файле /boot/cmdline.txt выставляет параметры так:

А эту строку превращает в комментарий, поместив впереди решётку:

Перезагружает устройство. Выключает командой:

Отключает кабель, включает выключатель, и оно грузится уже без ПК. Примерно через минуту, когда загрузка окончится, конфигурирует, выбирает эмулятор и игру.

Как читатель уже догадался, читая файлы конфигурации, приведённые выше, клавише Start соответствует нажатие на D-pad посередине. Этим же нажатием, когда игра не запущена, можно вызвать меню настроек. Там мастер выбирает следующие пункты:

Помещает ремешок в предназначенное для него «ухо»:

Сверхминиатюрная игровая консоль на RetroPie

Готово, можно пользоваться:

Сверхминиатюрная игровая консоль на RetroPie

Ниже представлены различные цветовые решения консоли:

Комментарии закрыты.