GRIZZLY — проект на базе Raspberry Pi для энтузиастов, которые захотят самостоятельно собрать игровую консоль. Дизайн — собственное представление того, как должны выглядеть подобные гаджеты.

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

Начать можно, скажем, с простого подключения Raspberry Pi к монитору и старой клавиатуре. Источник питания — зарядка от телефона. Это уже потом добавятся портативный экран, кнопки и подходящий аккумулятор. На каждом шаге — устройство остается работоспособным.

Проект распространяется совершенно бесплатно по лицензии Creative Commons BY-NC-SA 4.0.

Используйте навигацию, если не хотите читать весь текст

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

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

Ниже приведен список компонентов, необходимых для сборки точной копии финальной версии консоли. К элементам перечня следует отнестись крайне внимательно. Дело в том, что 3D-печатный корпус и внутренняя рама рассчитаны именно на модели и размеры указанных комплектующих. Замена, скажем, экрана или модуля питания потребует корректировки и 3D-модели.

  1. Raspberry Pi 4 Model B, 4 ГБ RAM.

  2. 5-дюймовый IPS-экран 800x480 со встроенным динамиком.

  3. Модуль питания PiSugar 2 Pro.

  4. Мягкие тактильные кнопки 8 мм — 10 штук.

  5. Угловые тактильные кнопки — 4 штуки.

  6. SD-карта подойдет любая из официального списка совместимости.

  7. Макетная плата для прототипирования геймпада с кнопками пригодится и для будущих проектов.

  8. Соединительные провода с разъемами «папа-мама». Иногда они поставляются в комплекте с макетной платой.

  9. Разъем GPIO «мама» 40-pin (2x20) для преобразования PiSugar в плату расширения HAT, устанавливаемую сверху — 1 шт. Для минимизации пайки можно поискать беспаечные разъемы.

  10. Винты M2.5 и стойки «папа-мама» M2.5.

  11. Металлический радиатор или любая другая система охлаждения для Raspberry Pi, совместимая с платами расширения HAT.

Selectel Tech Day — 8 октября

Разберем реальный опыт IT-команд, технический бэкстейдж и ML без спецэффектов. 15 стендов и интерактивных зон, доклады, мастер-классы, вечерняя программа и нетворкинг. Участие бесплатное: нужна только регистрация.

Зарегистрироваться →

Шаг 1. Установка RetroPie на Raspberry Pi

  1. Определяем модель Raspberry Pi.

  2. Подключаем совместимую SD-карту к компьютеру.

  3. Скачиваем и устанавливаем официальную утилиту Raspberry Pi Imager.

  4. В Raspberry Pi Imager нажимаем Choose device и выбираем нужную модель Raspberry Pi.

  5. Далее Choose OS, Emulation and game OS, а затем RetroPie.

  6. Указываем версию RetroPie, соответствующую плате.

  7. Нажимаем Choose storage и кликаем на SD-карту из списка для установки RetroPie.

  8. Наконец, щелкаем Next — запустится запись RetroPie на SD-карту.

  9. Теперь можно устанавливать игры. Подробные инструкции —  в официальной документации RetroPie.

Есть детальное руководство по установке игр на RetroPie,  а также официальная документация.

Шаг 2. Подключение к монитору и клавиатуре

  1. С помощью кабеля HDMI подключаем плату к любому телевизору, монитору компьютера или дисплею, о котором говорилось выше.

  2. Теперь очередь клавиатуры.

  3. Запитываем Raspberry Pi от подходящего источника.

  4. Включаем.

  5. При первом запуске RetroPie предложит назначить все кнопки. Мы используем клавиатуру, при этом — важно! — не забываем записывать настройки. Информация о том, какая клавиша какую функцию задействует, еще пригодится.

Назначенные клавиши также будут использоваться для навигации по интерфейсу RetroPie. К примеру, D‑PAD — для перемещения по меню, а BUTTON A / EAST — для подтверждения.

Шаг 3. Добавление собственных кнопок

1 . Монтируем все тактильные кнопки на макетную плату, при этом один из контактов заземляем на минус платы.

2 . Другие, управляющие контакты кнопок соединяем проводами с любыми свободными GPIO‑пинами на Raspberry Pi. Также не забываем где‑то конспектировать созданные связи «кнопка — пин».

3 . Подключаемся к Wi-Fi, как описано в официальной документации: RetroPie > WIFI > Connect to WiFi network.

4 . Пришло время поработать в командной строке Raspberry Pi. Это можно сделать как локально, нажав F4 в RetroPie, либо удаленно по SSH, назначив статический IP‑адрес и выполнив:

ssh pi@<нужный IP>

5 . Понадобится утилита Adafruit-Retrogame, которая позволяет сопоставить GPIO-пины с виртуальной клавиатурой.  В командной строке Raspberry Pi скачиваем и запускаем установочный скрипт:

curl https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/retrogame.sh > retrogame.sh
sudo bash retrogame.sh

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

6 . После перезапуска возвращаемся в командную строку. Надо отредактировать файл retrogame.cfg, чтобы сопоставить GPIO-пины с клавишами, которые были настроены на втором шаге:

sudo nano /boot/retrogame.cfg

Все возможные идентификаторы клавиш можно подсмотреть в файле keyTable.hв файле keyTable.h.

7 . Ctrl+X — сохраняем изменения, закрываем Nano.

8 . Перезагружаем консоль:

sudo reboot

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

Шаг 4. Установка ИБП и аккумулятора

Прежде всего, необходимо убедиться в работоспособности PiSugar, подключив его к Raspberry Pi согласно инструкции. На этом этапе у нас уже будет беспроводная игровая консоль.

Теперь переделаем PiSugar из модуля с креплением под платой (HUB, Hardware Under Board) в вариант с креплением сверху (HAT, Hardware Attached on Top), чтобы он поместился в корпус. Рекомендуется выполнять это только тем, у кого есть опыт работы с электроникой.

Предупреждение

Модификация PiSugar аннулирует гарантию. Вся ответственность за любые повреждения компонентов — на вас. Продолжайте, только если готовы рискнуть модифицировать плату. Если нет, рассмотрите возможность поиска других ИБП и аккумуляторов.

Итак.

  1. Аккуратно удаляем с платы PiSugar пого-пины — золотистые цилиндрические контакты. Вытягивайте ту сторону, которая не подпружинена, то есть жесткую. Возможно, потребуется слегка провернуть пин, чтобы он вышел.

  2. Припаиваем 40‑пиновый (2x20) разъем GPIO «мама» на плату PiSugar. Чтобы PiSugar мог функционировать, хорошо пропаиваем контакты, где раньше были пого-пины. Не забывайте добавлять флюс — так все пройдет легче.

  3. Подпаиваем провода к пинам GPIO, которые будут использоваться для кнопок. Мы занимались ими на на шаге 3.

  4. Подключаем аккумулятор к PiSugar и устанавливаем тот на Raspberry Pi для проверки.

  5. Не беспокойтесь, если провода покажутся прижатыми.

  6. Включаем Raspberry Pi, отсоединив его от внешнего питания. Так мы убедимся, что он работает автономно.

Шаг 5. Проводка и сборка

  1. Необходимо скачать STL‑файлы, но перед этим ознакомиться с лицензией Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International, которая требует указания авторства и разрешает только некоммерческое использование. Для адаптаций действуют те же условия. Есть дополнительная информация.

  2. Печатаем на 3D‑принтере прототип PCB и шесть кронштейнов для аккумулятора из пластика PETG с высотой слоя 0,15 мм и заполнением 15%. Кронштейны следует печатать на боку с поддержками.

  3. С помощью суперклея крепим кронштейны к основной детали.

  4. Тактильные кнопки вставляем в раму: четыре угловые кнопки на «плечи» и «триггеры», и десять обычных на остальные места. Кнопки должны сидеть довольно плотно. Если это не так, придется перепечатать деталь, поэкспериментировав с толщиной слоя в слайсере.

  5. Припаиваем минусовой контакт каждой кнопки последовательно, соединяя их все вместе.

  6. Противоположный контакт кнопок припаивается к соответствующему GPIO-пину на разъеме PiSugar. Подключаться они должны к тем же пинам, которые выбрались на шаге 3.

  7. Закрепляем Raspberry Pi на PCB, используя два винта со стороны пинов и две 10-мм стойки с другой стороны.

  8. Подключаем PiSugar к Raspberry Pi и фиксируем на стойках двумя винтами. Обязательно сначала подсоединяем аккумулятор к PiSugar — вести для него провода места не будет.

  9. Подключаем Raspberry Pi к дисплею. Экран требует питания по USB и передачи видео‑аудио сигналов по HDMI. Могут пригодиться печатные платы-переходники, которые идут в комплекте с дисплеем. Второй вариант получше — плоские ленточные кабели.

Шаг 6. Сборка корпуса

  1. Снова скачиваем STL‑файлы и также не забываем о лицензии Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International, которая требует указания авторства и разрешает только некоммерческое использование. Те же условия для адаптаций и также дополнительная информация.

  2. На 3D‑принтере печатаем переднюю и заднюю крышки из пластика PLA. Для наилучшего сочетания прочности и скорости рекомендуется расположить их под углом 45 градусов, вручную где надо расставив подпорки. Ничего не должно висеть в воздухе.

  3. Печатаем все кнопки из PLA с высотой слоя не более 0,10 мм. Крестовину (d-pad) рекомендуется печатать на боку с подпорками.

  4. Вставляем кнопки в крышку.

  5. Помещаем внутрь собранные компоненты.

  6. Заднюю крышку прикручиваем винтами M2.5. В идеале, должны подойти винты 16 мм для верхней части и 20 мм для нижней.

Готово! Все подробности принятых решений и процесс создания — на страничке «Как собрать портативную игровую консоль». Также есть видео на YouTube.

Комментарии (0)