Разработчик Крис Далк (Chris Dalke) собрал миниатюрный автомат для игры в пинбол на базе микрокомпьютера Raspberry Pi 4. Автор хотел получить компактное устройство и поэтому решил оставить физические элементы управления, а игровой процесс выводить на экран.
![](https://habrastorage.org/getpro/habr/upload_files/fe9/985/bfc/fe9985bfc8766110a31863d043d58e9a.jpg)
Корпус аркадного автомата изготовлен из березовой фанеры. Детали вырезаны на лазерном станке таким образом, чтобы они собирались воедино по принципу конструктора. Такой подход к проектированию помог избежать использования крепежа. Самой сложной частью, по заявлению разработчика, оказалось размещение элементов внутри корпуса. В нем расположены сам микрокомпьютер, плата Arduino Uno, последовательный порт, матричный светодиодный дисплей, входы и выходы физических кнопок, динамик, блок питания и 7-дюймовый экран с HDMI.
![](https://habrastorage.org/getpro/habr/upload_files/60b/9e8/e88/60b9e8e88a5acdcf6ba3d42f8f562b5f.jpg)
Отдельно автор проекта стремился воссоздать ощущение от игры на настоящем автомате. Поэму кнопки подобраны таким образом, чтобы их ход был слегка затрудненным и с пощелкиванием. Также в корпусе расположился соленоид, создающий эффект обратной отдачи.
Основной игровой процесс выводится на 7-дюймовый дисплей, а сверху расположены 4 светодиодные матрицы, работающие по интерфейсу I2C. На них выводится счет.
Программную часть Крис Далк написал на C++, используя графическую библиотеку raylib. Плата Arduino обрабатывает нажатия и вывод на матричное табло. Информация о нажатиях передается на Raspbery Pi через последовательный порт. Микрокомпьютер рендерит графику, обрабатывает игровой процесс и отвечает за звук. Автомат может хранить данные о счете и вести учет рекордов. Для этих целей используется SQLite3.
Исходный код проекта автор опубликовал на GitHub, а демонстрацию игрового процесса выложил на YouTube. В личном блоге Далк рассказал, что вдохновился созданием подобных автоматов и планирует изготовить еще несколько, но в следующий раз хочет построить что-то на основе RetroPie.