Как мы делали аркадный автомат
Почти два года назад мой друг ellanorsh написал статью «Жизнь самодельного аркадного автомата». И я хотел бы рассказать продолжение нашей истории.
Ведь рассказать есть о чем. Мы побывали на ряде мероприятий, попробовали собрать денег на постройку автомата через краудфандинг и, наконец, договорились с авторами игры Shovel Knight и сделали собственный аркадный автомат с нашим дизайном.
В своих первых экспериментах мы сделали аркадную тумбочку на китайской jamma плате, которая через полгода вышла из строя.
Но за это время мы успели свозить тумбочку на Старкон, Гик Пикник и еще пару мероприятий поменьше. Везде к нашей икеевской аркадной тумбочке выстраивалась очередь. Выглядело это как-то так:
Во время мероприятий мы старались привлечь игроков в наш краудфандинговый проект на российском аналоге Кикстартера — Планета.ру. Там мы хотели собрать средства на постройку по-настоящему крутого аркадного автомата. А затем установить его в общедоступном месте Санкт-Петербурга. Реализовать наш план не получилось, но мы даже не думали сдаваться.
Затем нам захотелось не просто скопировать классический аркадный автомат, а сделать что-то то свое. В ходе всех наших экспериментов мы познакомились с кучей интересных и заинтересованных людей и наша команда разрослась от двух человек до пяти.
Примерно в то же время я поддержал на Кикстартере проект ретро-игрушки Shovel Knight. Через год после Кикстартера я получил свою игровую копию и она привела меня в полный восторг. Приключения рыцаря с лопатой, классные боссы и сочные уровни — как раз то, что нужно для нового аркадного автомата. И я решил связаться с их разработчиками, чтобы получить у них разрешение на изготовление аркадного автомата с использованием артов и собственно игры. Разработчики были в восторге от нашего предложения, и работа закипела.
Для начала мы набросали новую версию аркадного корпуса в google Sketchup, вставив Стена Ли для масштаба.
Затем сделали подробный чертеж в автокаде и с ним отправились в мастерскую для расписки и сборки каркаса.
Так как игра разработана под ПК, внутрь автомата установлен бюджетный компьютер с выведенными кнопками включения и перезагрузки.
Кнопки и джойстики для панели управления подключаются к специальным китайским платам, которые подключаются по USB и воспринимаются, как контроллеры без дополнительного ПО. Для удобного к ним доступа и удобной замены кнопок или проверки подключений было решено сделать панель управления откидывающейся, как капот автомобиля. Естественно, капот можно закрепить, чтобы лишние ручки туда не залезали.
Сам автомат выполнен из ламинированного дсп и оргстекла. Наклейки на боковинах печатались на пленке, а вот верхний титул и накладка на панель управления на специальном пластике. И тут стоит сказать, что сложности в сборке возникали на каждом этапе.
Вначале мы воевали с мастером, который целый месяц не мог приступить к распилу листов дсп, придумывая все новые и новые отговорки. После «серьезного» разговора каркас автомата был распилен и собран за неделю.
Затем право затягивать процесс сборки перешло типографии. Вначале она неделю не могла напечатать наш заказ, а потом еще неделю переделывала бракованные рулоны. Но итог стоил того! Правда, оказалось, что боковины автомата были выпилены на глазок и не совпали с чертежами и наклейками, но с этой проблемой мы справились, заклеивая пустоты полосками от бракованных версий пленки. На следующем своем автомате будем печатать иллюстрации сразу на листке дсп. И, конечно, же хотим в будущем выпиливать каркас лазером, чтобы свести погрешности к минимуму.
На готовый автомат мы поставили билд Shovel Knight, который нам предоставили разработчики игры. И для них же мы сняли небольшой демонстрационный ролик с обращением.
Вы могли заметить, что игра задумана для одного игрока, но автомат имеет пару джойстиков и два набора кнопок. Так как автомат не предусматривает наличия монетоприемника, мы также установили на него эмулятор MAME и купили оболочку Maximus Arcade, чтобы помимо рыцаря с лопатой можно было играть в «Marvel vs Capcom» и любые другие аркадные хиты.
Здесь, кстати, тоже не обошлось без сложностей. Разобраться с эмулятором MAME — та еще работенка. Нужно скачать сам эмулятор, биосы для игр, сами игры и все это должно быть между собой совместимо. Некоторых игр приходилось ставить по пять копий, чтобы выбрать среди них те версии, которые корректно запускаются, содержат меньше всего «ненужных» экранов и нормально работают в требуемом разрешении.
А сейчас, с учетом накопленного опыта, мы уже приступили к производству следующего аппарата. Постараемся избавиться от всех шероховатостей, отточить производственные процессы и оптимизировать конструкцию.
Источник
Делаем Аркадный автомат с купюроприемником и монетоприемником
Хочу рассказать вам об опыте создания Аркадного автомата с купюроприемником и монетоприемником. Статья не претендует на пошаговое руководство по сборке, скорее является целью поделиться своим опытом и мыслями. Во всех успешных книгах по успешному успеху пишут, что бизнес нужно масштабировать. Кто я такой, чтобы спорить с книгой. Поэтому, строить будем сразу три штуки. Пожалуй, достанем инструменты и начнем собирать.
Детали перед сборкой
Собираем корпус
Чертим и готовим детали, заранее предусматривая все технические отверстия, расположение комплектующих и их крепления, размещение элементов управления. Немного пошевелить извилинами заставляет установка и размещение деталей монетоприемника и купюроприемника, так как размеры технического отсека в стойке очень ограничены. Не стоит забывать об идее независимой «головы» самого аппарата, конструкция должна позволять свободно снимать верхнюю часть аркадного автомата и использовать без алчных порывов, только для игры и удовольствия. Скидываем на резку ребятам с ЧПУ, материал ЛДСП 16 мм черный матовый. Забираем и легкой рукой с шуруповертом соединяем детали.
Комплектующие
Вооружаемся комплектующими. В нашей обойме имеется два стика управления, 16 разноцветных кнопок в «американском» стиле с полным обвесом в виде подсветки, проводов и платы, к которой все это подключается. Кнопки Start двух игроков. Гнездо питания с предохранителем. Блок питания с возможностью выдавать как 12, так и 5 вольт. Это важно, так как нам необходимо запитать от него подсветку кнопок, звук и саму плату с играми. Возникает вопрос – А почему используется плата с предустановленными играми, а не raspberry pi или миниПК на винде. Ответ прост, бесперебойность и надежность работы. Сама плата имеет на своем борту 412 «отборных» игр с аркадных автоматов, необходимый нам Jamma интерфейс подключения, VGA выход на монитор и работает как часы.
→ Тут стоит сделать небольшое уточнение. Проект создавался много-много лет назад, именно поэтому вы можете видеть кнопки и стики такого типа. В первый и последний раз. Все следующие проекты заботливо укомплектовывались кнопками и стиками истинных самураев фирмы Sanwa. Это же относится и к плате с играми.
Jamma кабель и схема подключения к плате
Алчные детали
Вот они! Алчные комплектующие. За отбор бумажных денег у игроков отвечает купюроприемник CashCode MVU 1024 от настоящих капиталистов. Монетоприемник простой, но надежный. Принимает только чеканные монеты. Ведьмаки играют бесплатно.
Сборка панели управления
Панель управления. Устанавливаем кнопки и стики на свои места. Не забываем про кнопки Start и Exit. При использовании интерфейса Jamma запутаться в подключении невозможно. Прокидываем кабель подсветки от блока питания на кнопки и делаем проводной хаос еще больше. В последующем провода красиво уложатся в аккуратные пучки и хаос отступит.
Муки выбора места установки блока питания и платы
Внимательный читатель заметит муки выбора места расположения блока питания и платы. В итоге все на своих местах. Появились динамики и исчез монитор.
Обжимаем и паяем
Пришло время достать обжимной и паяльные инструменты. Организовываем подачу питания на все узлы с одной точки под контролем предохранителя. Запитываем: монитор, подсветку и сам блок питания. Паяльник пригодился для простого усилителя звука с шестипалым потенциометром.
Очередь на монтаж комплектующих
Подключаем, проверяем. Дальше установка жк мониторов на 19 дюймов с соотношением сторон 5:4, задней крышки и установка подсветки. Монтаж панели с купюроприемником и монетоприемником на фото не попал. Ранее автоматы уже успели обклеить «Артами» в круг. Пришло время звать заказчика на приемку.
Усатый заказчик
Теперь то готово? Готово. Больше всего заказчика интересовал отсек внизу стойки.
Голова
Сначала убедимся, что идея модульного автомата сохранена и можно спокойно снимать верхнюю часть, брать с собой играть к другу.
Обратная сторона головы
Замок на задней стенке и решетки вентиляторов защищающие любопытные пальцы от травм. Есть предположения зачем на задней крышке отверстие в левом верхнем углу?
Собран и выключен
Собран и включен
Три в ряд
Итог сборки. Это был непростой опыт, узнал много нового и впервые понял, что не всю информацию можно найти в интернете. Особенно если это касается купюроприемников. На фото можно внимательно рассмотреть рисунки и найти своих любимых персонажей из видеоигр.
Спасибо, что дочитали до конца и до встречи!
Источник
Аркадный автомат своими руками (ретрогейминг с динамической подсветкой)
Всем привет! Любите ли вы играть в игры? А точнее в классику игровой индустрии? Классические, ретро-игры на NES, Sega? Или, быть может, скучаете и хотели бы иметь свой кусочек 80х — настоящий аркадный автомат? Вот я хотел и сделал такой универсальный автомат своими руками.
Честно говоря, идея совсем не нова. Семь лет назад я уже рассказывал на Habr’е как сделать свой ретро-игровой центр на основе Raspberry Pi. Тогда я ограничился лишь настройкой малинки, в перспективе подумывая добавить к малинке полноценные кнопки и корпус. Но на том дело и кончилось.
На Хабре были и другие достойные публикации о создании игрового автомата:
Итак, значит интересует тема своей, «домашней» аркады многих людей. Поэтому, поделюсь и своей разработкой.
Проектирование
Для начала нужно определиться с идеей. К началу проекта я знал только два тезиса:
Сердцем автомата будет Raspberry Pi
У автомата будут полноценные аркадные кнопки, но всё-таки неплохо иметь возможность подключения геймпадов и клавиатуры с мышью.
Для автомата так же нужен какой-нибудь дисплей. В идеале для ретрогейминга нужно использовать экран 4:3, но такого у меня не осталось, специально покупать — это вступать с конфронтацию с внутренней жабой. А вот неплохой альтернативной является использовать матрицу от ноутбука. У меня лет восемь как лежит ноутбук Fujitsu Siemens Amilo 3438G со сгоревшей видеокартой и уже не помню куда выпотрошенной памятью и жёстким диском. Так как дисплей только 17 дюймов, ради интереса в проекте можно было бы использовать и динамическую подсветку, визуально расширяющую размер экрана.
Вооружившись этим знанием идём рисовать макет. Для отрисовки я использовал SketchUp.
Нарисовать мне, очень далекому от 3D графики человеку, макет автомата в SketchUP — дело одного вечера. Конечно, точность этого инструмента не самая идеальная, но в целом прикинуть с точностью до 1-2 сантиметров как будет выглядеть будущий автомат — можно. Натягиваем текстуры, любуемся.
В качестве материала я буду использовать мебельные щиты (дерево, сосна) — из-за лёгкости её обработки. Но, в целом никто не мешает использовать МДФ, ДСП или фанеру. Автомат я планирую делать из двух частей — из верхней (собственно автомата, «bartop») и нижней — стола. Высоту стола я выбрал равной 90 см., что даст высоту до кнопок в 105 см. Здесь стоит сказать, что высота стола зависит от роста того, кто будет играть в автомат, и от расположения, наклона экрана и панели с кнопками. То есть, как правило, высота панели с кнопками колеблется от 85 до 115 см от пола. Экран лучше ставить напротив лица играющего, но в случае с bartop это взаимоисключающие вещи, и поэтому делаем наклон экрана в 20-30 градусов, а наклон панели в половину этого значения. Экран в обязательном порядке закрываем оргстеклом — во-первых между матрицей и панелью у меня будет щель в 5 сантиметров по периметру для подсветки, а во-вторых это просто эстетично.
Заказываем щиты, уголки, саморезы, рояльную петлю (250мм) для люка обслуживания, замочек для дверцы, сетку, оргстекло и краску в строительном магазине (у меня вышло по расчётам 8 метров панелей с учётом обрезков, пачка саморезов 3.5х16мм 200шт, и уголков 30х30мм штук 20). Все панели я буду красить в чёрный цвет, а торцы панелей, канты — в цвет «фуксия». В идеале на канты следовало бы надеть ПВХ-бордюр. Но я, увы, не нашёл нужного мне цвета. Так что обойдусь краской. Внутреннюю часть панелей я тоже в обязательном порядке крашу чёрным цветом, так как из-за щели для подсветки внутренность просматривается, и для эстетики важно всё держать в одном стиле.
Так же обязательно подготавливаем шаблоны для точной вырезки боковых панелей и панели для кнопок. Я использовал готовые шаблоны Starcade (с небольшими изменениями, правда — чуть уменьшил размер вывески, плюс добавил отверстия для hotkey и для выключателя). Кстати, почитайте оригинал, там годный DIY на английском.
Столярка
Теперь режем щиты.
Сверлим отверстия под кнопки и динамики (перовым сверлом или кольцевой пилой). Для кнопок нужны отверстия диаметром в 24мм, для стика — 14мм, для динамиков — в зависимости от их размеров (у меня — 30мм).
Обязательно ошкуриваем канты. Боковые канты и торец панели с кнопками закругляем.
Красим заготовки чёрной краской (в зависимости от краски в один или несколько слоёв, обязательно дожидаясь полного высыхания, чтобы не получить вздутия и трещин).
Далее красим канты краской-лаком «фуксия».
По окончанию столярных и лакокрасочных работ можно (не обязательно) высохшие панели и канты (которые не будут оклеены плёнкой) покрыть яхтным лаком для долговечности и износостойкости.
Электрика и электроника
Поначалу у меня была устойчивая идея сделать автомат «из хлама» — из того, что было — начиная от старой матрицы, до старой Raspberry Pi v1.0 которая собственно и работала «ретро-игровым центром» ещё семь лет назад. Но затем пришло понимание, что проект получается не сильно бюджетным (даже в части корпуса), и раз делать автомат, то нужно его делать качественно. И раз свою внутреннюю жабу мне придётся потеснить, то заодно стоит и обзавестись новой Raspberry Pi, потому как, исходя из опыта использования первой ревизии она не сильно подходит для работы в аркадном автомате. Во-первых, на ней либо не работают, либо сильно тормозят игры на MAME (собственно с игровых автоматов), так и многие игры с N64 и PS1 неиграбельны. Во-вторых, настройка Hyperion для динамической подсветки превращается в боль, так как в старой RetroPie нужных библиотек нет, а при попытке оные установить оказывается, что многие репозитарии со старыми версиями мертвы. А новая RetroPie, даже со сборками под старые ревизии сами по себе тормозят. Поэтому берём и заказываем Raspberry Pi 4 на 4Gb, обязательно в дополнение взяв радиаторы (можно с вентиляторами) для оной. Берём microsdhc карту (например на 64Gb), адаптер питания USB type-C на стабильные 3-4А. А так же провод microHDMI — HDMI для подключения к матрице.
Теперь аккуратно разбираем ноутбук.
Извлекаем оттуда матрицу, узнаём её точное название.
Заказываем LVDS-драйвер для матрицы ноутбука. Обязательно сверяемся с описанием, что LVDS-драйвер поддерживает нашу матрицу, обязательно уточняем у продавца, что это так. На Aliexpress полно разных вариаций плат, часто отличающихся набором входов\выходов. Для автомата собственно нам нужен вход HDMI, выход на LVDS интерфейс матрицы, выход на подсветку матрицы и крайне желательно выход на динамики (т.е. выход со внутреннего усилителя на два динамика). В моём случае плата содержит 4-пиновый разъём с выходом под два одноваттных динамика по 8 Ом каждый. В комплект должен идти так же блок питания на 4 ампера 12 вольт, но если нет, заказываем и его.
Заказываем кнопки. Выбор сейчас огромный, можно найти под любой дизайн и вкус. У меня например такие.
Берём два метра адресной LED-ленты SK9822 (или APA012) и адаптер питания к ней. В зависимости от плотности светодиодов выбираем блок питания от 2 до 6 ампер. Для удобства ещё возьмём уголки для соединения ленты на поворотах.
Так же берём 12-вольтовую ленту метр-два под вывеску. Я брал самую дешевую и трансформатор на 15Вт к ней (SMD3528 60 диодов\4.8вт на метр, 2м).
Ну и по мелочи закупаем:
Сетевой провод (например ПВС 3х1.5) — 5м
Аудиокабель (2х1 например) — 1м
Выключатель (у меня такой) — 1шт
Динамики 1Вт 8Ом — 2 шт
Провод\разъем для аудио (у меня JST-ZH1.5) — 1 шт.
Разъёмы быстрого соединения TP-001B вроде таких, 2шт+
Вентилятор 120х120 (корпусной, 12в) 1шт
Припой\флюс и т.п., если нужно.
В итоге наш автомат будет всегда включен в розетку, далее по ключу на фронтальной панели его можно будет «завести». От главного выключателя питание идёт на обычную 220в розетку, в которую подключены все остальные адаптеры. 12-вольтовый адаптер (15-ваттный) запитан от розетки дополнительным проводом (к клеммам).К этому адаптеру подключаем светодиодную ленту и вентилятор.
Когда придёт плата LVDS-драйвера, подключаем её к питанию и матрице (соединяем LVDS и питание подсветки), а так же подключаем HDMI к источнику изображения (той же малинке). Если всё подключено правильно, то матрица должна сразу завестись и появится изображение. Возможно, немного нужно будет откалибровать цвета и яркость. Всё делаем через пульт. Так же берём и подключаем к разъему помеченному как CN20 на плате штекер JST, не забыв припаять к нему два аудипровода, а к ним, соблюдая полярность, два динамика. В моей плате разводка такая:
[ +LEFT, GROUND, GROUND, +RIGHT ]
Для того, чтобы подключить динамическую подсветку, режем ленту SK9822 на четыре части и соединяем уголками. К разъемам питания на ленте подключаем с правильной полярностью разъем быстрого соединения (затем соединим с 5В блоком питания), а контакты на самой ленте подсоединяем к GPIO 19 и 23 пинам на малинке, не забыв обязательно еще соединить землю, чтобы избежать мерцания ленты.
Ленту закрепляем на двухсторонний скотч на обратной стороне матрицы. Скорее всего штатный липкий слой будет отваливаться, поэтому используем какую-нибудь сверхпрочную ленту (у меня на ней две кочерги висят и не отрываются), но приклеиваем ленту к матрице аккуратно, стараясь надавливанием не повредить хрупкую и нежную матрицу.
Настраиваем софт
За прошедшие года RetroPie стала конфеткой и почти настроек не требует — достаточно прошить образ системы и подключить любые контроллеры — и автомат готов. Но всё-такие кое-что нужно рассказать, учитывая наши дополнения.
Скачиваем образ RetroPie (под четвёртую малинку). Прошиваем нашу microsd карточку например BalenaEtcher или Win32Imager (если используем Windows, конечно). Выходим в консоль. Далее устанавливаем статический адрес для нашей малинки (чтобы было удобнее перекидывать ROM’ы):
Добавляем\правим строки на наш желаемый IP и IP наш роутер
Так же обязательно включаем SSH (для закачки ROM’ов через сеть) и SPI (для управления подсветкой):
Идём в Interfacing Options:
Включаем SSH и SPI, сохраняем и перезагружаем малинку.
Динамическая подсветка
Теперь устанавливаем Hyperion для управления подсветкой. На выбор можно поставить «старый» Hyperion или Hyperion NG.
Чтобы поставить старый достаточно использовать установочный скрипт, скачиваем его:
На Raspberry Pi 3 скрипт заведётся, а вот про четвёртую малинку скрипт уже не знает, поэтому правим его:
Делаем скрипт исполняемым:
Разницы для Hyperion между третьей и четвёртой малинкой нет, поэтому по факту мы использовали ту же сборку, что предполагается использовать на третьей. Далее останется настроить Hyperion через Hypercon (например на Хабре есть статья на эту тему).
Альтернативно, что более удобно, используем новый Hyperion NG. Но, правда, его нам придётся собрать. Для этого выполняем:
Теперь нужно прописать Hyperion NG как сервис, чтобы он загружался с нужной конфигурацией при загрузке малинки. Для этого создаём файл hyperion.service с содержимым:
И (пере)запускаем сервис:
Теперь Hyperion NG будет доступен через web-интерфейс. Идём туда, вбив в браузере:
В Configuration -> LED Hardware -> LED Controller ставим:
Controller type == apa102
RGB byte order == BGR
Обязательно сохраняем, идём в Configuration -> LED Hardware -> LED Layout и выставляем нашу конфигурацию светодиодов, не забывая о том, что светодиоды располагаются на за матрицей, а потому они будут для зрителя инвертированы. Собственно ставим количество светодиодов с каждой стороны, а так же положение первого светодиода и порядок ленты. Сохраняем.
Проверяем, что в Configuration -> Capturing Hardware -> Platform Capture -> Type == DispmanX, если надо, делаем изменения, в том числе и в Image Processing.
Так же можно в Configuration -> Effects -> Boot Effect/Color поставить эффект. Пока грузится EmulationStation красивый эффект подчеркнёт вау-эффект от загрузки (например, ставим эффект и 20000-40000 миллисекунд эффекта — как раз на время загрузки до меню).
На этом всё, идём в Configuration -> General и сохраняем конфигурацию. Заодно можем конфигурацию экспортировать и где-нибудь сохранить. Проверяем что в /etc/hyperion/hyperion.config.json сохранились наши последние изменения и настройки. Если нет — то копируем экспортированную конфигурацию и перезапускаем малинку.
Внимание! Захват экрана происходит только при наличии подключенного экрана. Если вы попытаетесь посмотреть лог Hyperon’a с отключенным экраном (отключенным HDMI), то увидите пачку ошибок DispmanX. Сразу после подключения всех проводов захват изображения начнёт работать, а светодиоды динамически подсвечиваться в зависимости изображения на экране.
Настройки RetroPie
По поводу настроек оболочки — дело конечно вкуса, да и написано куча статей на эту тему, поэтому я ограничусь лишь парой «улучшений».
В-первых, добавим музыку в меню. Для этого устанавливаем mpg123:
Добавляем старт музыки при старте оболочки:
Добавляем в конец:
Создаём, если их нет, два файла:
Делаем файлы исполнимыми:
Перед # RETROPIE PROFILE END добавляем:
И теперь туда можем накидать немного фоновой музыки.
Так же неплохо будет добавить splashscreen (видео при загрузке автомата). Копируем небольшое видео mp4 (10-40 секунд) в /home/pi/RetroPie/splashscreens/ . В меню RetroPie (EmulationStation) идём в Configuration -> Splash Screens выбираем это видео (Choose splashscreen -> Own/Extra splashscreens (from /home/pi/RetroPie/splashscreens)).
Теперь на консоль копируем ROM’ы игр. Делаем это через сp/scp/winscp (для игр с самой малинки/linux-unix/windows систем). Соответственно перекидываем все игры для каждой консоли в свои папки, игры NES в nes, Sega Genesis — в megadrive, а аркадные игры (MAME) в arcade.
В случае игр для аркадных автоматов помимо самих ROM’ов так же в папку закидываем BIOS’ы к этим играм. Например BIOS’ы можно скачать с Emu-Land. Вообще с аркадными играми больше проблем, так как работоспособность игры чаще будет зависеть от правильного BIOS для игры и от вообще способности MAME правильно поддерживать ту или иную игру. Для некоторых игр, возможно, придётся установить дополнительные эмуляторы\версии MAME. Чтобы сделать это идём в RetroPie Setup -> Manage Packages -> Manage optional packages (или Manage experimental packages)
Чтобы игры в меню выглядели красиво, нужно запустить scraper. Отличный вариант это сделать через skyscraper. Идём в RetroPie Config -> Manage Packages -> Manage optional packages, выбираем skyscraper, Install from pre-compiled binary. Дальше опять через консоль:
Идём в Configuration / Tools -> Skyscraper . Выбираем GATHER and cache resources. И теперь ждём так долго, как много игр в нашей коллекции.
Так же было бы неплохо добавить видео скринсейверы. Для этого нужно к каким-нибудь играм дописать путь в параметре video. Если в опциях меню Start выставлено UI settings -> Screensaver settings -> Screensaver behavior -> Random-video , то автомат будет проигрывать случайные видео, которые указаны в параметре video. Конечно можно для каждой игры скачать через scrapper своё уникальное видео, но сколько это места займёт? Поэтому копируем куда-нибудь (например в /home/pi/RetroPie/screensavers/ ) одно или несколько видео-скринсейверов (mp4), и просто открываем настройки какой-нибудь консоли с играми (например ZX Spectrum, кхм. дэээ. «консоль»):
И добавляем путь к видео (например /home/pi/RetroPie/screensavers/screensaver_2.mp4) в параметр video:
Ну ещё устанавливаем и настраиваем темы (ES Themes), например по цветовой гамме ко мне вписался отлично cyberpunk. Так же можно например вместо runcommand показывать изображения. И ещё. ладно, хватит! Тюним, настраиваем, сохраняем, выключаем.
Собираем воедино
Одной из визуальных доминант нашего автомата будет его визуальное оформление, а если точнее, то наклейки на корпус. Для того, чтобы всё получилось красиво, идём в графический редактор, берём изображения и подготавливаем их для макетов в масштабе 1 к 1 с размером печати. Устанавливаем профиль CMYK. В идеальном мире лучше иметь разрешение для печати 250-300 пикселей на дюйм, но, в моём случае, у исходников было разрешение только в 95 пикселей на дюйм, и, опережая события, скажу, что тоже вышло отлично и даже вблизи особого «мыла» нет.
Идём в типографию и заказываем все наклейки на самоклеящейся плёнке. Я выбрал глянцевую плёнку на бумажной основе. Обязательно с ламинацией. Причём это жизненно важно для тех поверхностей, с которыми будут контактировать руки игроков, то есть как минимум для панели с кнопками. Если есть такая возможность, то для панели с кнопками и стиками делаем напольную ламинацию. Альтернативно панель иногда закрывают оргстеклом, но для меня, для домашнего использования это излишне. Так же для вывески можно использовать так называемую транслюцентную плёнку, которая будет пропускать свет. Но, увы, почти все типографии отказались мне печатать маленький кусочек (20х50см), либо за этот маленький кусочек запросили цену, сравнимую со всей остальной печатью вместе взятой. Как показала практика, света двухметровой светодиодной ленты хватает с излишком даже при использовании обычной плёнки, наклеенной на оргстекло. Так что смысла в транслюцентной плётке нет никакого.
Когда плёнка придёт, наклеиваем плёнку не спеша на все поверхности, постепенно выгоняя оставшийся воздух мягкой тряпочкой. Излишки плёнки (по контуру) обрезаем максимально острым ножом, или, что лучше, лезвием бритвы.
На оклеенную панель с кнопками собственно устанавливаем кнопки. Раскручиваем гайки и закручиваем обратно в панель. Вставляем кнопки, а к кнопкам подсоединяем четыре провода: два на кнопку и два на подсветку. Плюс и минус. Прикрепляем на саморезы стики, и затем стики и все кнопки вставляем 4-пиновыми разъемами в энкодеры — с K1 по K12. Порядок не важен, всё равно всё затем конфигурируется в EmulationStation при загрузке. Единственной разницей между игроками будет одна дополнительная кнопка у первого игрока — hotkey. Для второго игрока такой кнопки нет (да и в-общем она и не нужна).
Вообще если взглянуть на энкодеры, то помимо подключения ещё четырёх кнопок (для 10-кнопочного варианта (+ две кнопки Select и Start)) есть возможность подключить ещё четыре тумблера — turbo, auto, mode, clear, а так же есть четыре двух-пиновых разъема под 2-х контактный джойстик (вверх-вниз-влево-вправо), плюс вынесенный разъем питания. Но проводов в комплекте, ни самих тумблеров нет. Ну а выход на малинку — это разъем и провод miniUSB — USB. Так что подключаем провода с двух энкодеров в разъем USB Raspberry Pi.
И, наконец, собираем корпус. Здесь всё просто. Берём шуроповёрт, уголки, и саморезы и все смежные поверхности собираем между собой.
Матрица прикреплена к передней панели на тонких блестящих алюминиевых профилях.
В задней панели у меня сделан люк на рельсовой петле с замком, где заодно установлен вентилятор. 120мм вентилятор я использовал от старого компьютера (не покупал новый), и он гремит , как ржавое ведро с гвоздями при старте, но после минуты работы его становится почти не слышно. Зато охлаждает прекрасно. Ну и в ретро-тематку отлично вписывается Вообще люк нужен как для удобства сборки, так и для обслуживания в случае необходимости всех электронных компонентов внутри. Все компоненты и провода закреплены на хомутах. Да, некоторые из них просматриваются через щель, но эо даже придаёт тёплый ламповый оттенок «киберпанковости».
Вырезаем стекло на переднюю панель (очень аккуратно — оргстекло хрупкое). Ставим стекло на фронтальную панель. Стекло можно поставить на саморезы или клей, но чтобы не портить внешний вид у меня стекло просто прижимается нижней планкой вывески.
В самую последнюю очередь устанавливаем стекло на витрину, предварительно спрятав под него динамики, вклеенные в нижнюю планку вывески. Динамики закрываем сеткой. Ну, вот собственно автомат и готов. Запускаем, настраиваем кнопки (если не настроили раньше) и играем.
Disclaimer: все приведённые в статье ссылки даны исключительно для ознакомления и указания тех или иных деталей, которые я использовал для сборки автомата (или их аналогов). Никакого рекламного характера они не несут и никто мне не платил за рекламу (а могли бы). И, хотя как минимум один из ритейлеров присутствует на Хабр’е, никакого я отношения к ним не имею.
Исходя из цен на момент покупки стоимость автомата без учёта работ, инструментов (пилки, свёрла), электричества, а так же матрицы ноутбука составила:
24000 рублей, что сопоставимо со стоимость современной приставки или готового автомата с AliExpress на PandoraBox. Но. сделать что-то своими руками и уникальное — это бесценно 😉
Источник