Вы устали от своего старого старого журнального столика? Представьте себе журнальный столик, где вы можете играть в аркадные игры. Теперь это было бы настоящим изменением игры, буквально, с мощной комбинацией двух лучших вещей в этом мире, кофе и аркадной игры!
Стол IKEA LACK был специально обработан любителями, и в результате получился умопомрачительный аркадный дизайн, но по разумной цене.
Источник изображения: element14Этот минималистский дизайн использует Raspberry Pi 3 и журнальный столик IKEA, отсюда и название PIK3A, для создания этих потрясающих ретро-игровых автоматов.
материалы
Раскладка игрового стола PIK3A требует следующих частей:
- ИКЕА Lack журнальный столик
- Raspberry Pi
- Ардуино Леонардо
- Четырехходовой джойстик с шариком
- Кнопки
- 17-дюймовый ЖК-монитор
- Компьютерные колонки с питанием от USB
- Raspberry Pi 2.5A USB-блок питания
- Провода и разъемы
Источник изображения: element14Шаг 1: Разборка вашего монитора
Возьмите 17-дюймовый ЖК-экран и снимите пластиковый корпус, внутри которого он находится. Дисплей без корпуса будет соответствовать глубине, предлагаемой журнальным столиком LACK IKEA, что означает, что он будет на высоте поверхности стола.
Источник изображения: element14Шаг 2: сборка ЖК-экрана
Вы можете использовать ручной электроинструмент или выбрать простой универсальный нож, потому что эти доски одинаково хорошо работают с обоими. Обведите контур экрана на столе и определите правильный размер отверстия, чтобы он поместился на экране. Просверлите отверстия по 13 мм на всех углах.
Источник изображения: element14
Источник изображения: element14Начните вырезать отверстие вдоль линии, останавливаясь примерно в 10 см от просверленных отверстий. Разрежьте вдоль четырех сторон и удалите верхнюю часть разреза. Будьте осторожны при удалении отрезанной части с поверхности стола, так как она прикреплена с помощью наполнителя из сотовой бумаги, который можно удалить, пропустив острый край вокруг него.
Источник изображения: element14Шаг 3: монтаж модуля управления
Переверните стол и обрежьте панель доступа, чтобы получить доступ к задней части, чтобы установить джойстик и кнопки. Отметьте место установки джойстика и кнопок и просверлите отверстия диаметром 28 мм (стандартный размер аркады для кнопок) для каждого.
Источник изображения: element14
Источник изображения: element14
Источник изображения: element14Для идеальной отделки PIK3A снимите основание для крепления джойстика и вставьте джойстик под стол. Как только джойстик окажется в правильном положении, замените монтажную пластину винтами с резьбой через поверхность стола. Кнопки гораздо проще надеть; все, что вам нужно сделать, это просверлить отверстие 28 мм и закрепить кнопку на месте гайкой.
Источник изображения: element14Шаг 4: дизайн интерфейса управления
Управление аркадами, включая джойстики, довольно простое. Поскольку Raspberry Pi был разработан для более сложного управления, Arduino Leonardo, который действует как стандартная клавиатура, использовался для подключения кнопок аркады к Raspberry Pi.
Следовательно, каждая кнопка на интерфейсе PIK3A подключена к входу Leonardo. Плата Arduino интерпретирует каждую кнопку нажатия клавиши. Стандартные элементы управления клавиатуры используются для MAME. Файл эскиза, представленный здесь, позволяет Arduino переводить движение джойстика, а также действия нажатия кнопки, с MAME в стандартной комплектации.
// Управление платой element14 PIK3A с использованием Arduino Leonardo //
02.
03.void setup () {
04. Keyboard.begin ();
05.
06.
07. // Джойстик и кнопки назначения выводов
08. pinMode (0, INPUT_PULLUP); // Джойстик вверх
09. pinMode (1, INPUT_PULLUP); // Джойстик вниз
10. pinMode (2, INPUT_PULLUP); // Левая палочка
11. pinMode (3, INPUT_PULLUP); // Правая ручка
12. pinMode (4, INPUT_PULLUP); // кнопка 1
13. pinMode (5, INPUT_PULLUP); // Кнопка 2
14. pinMode (6, INPUT_PULLUP); // Кнопка 3
15. pinMode (7, INPUT_PULLUP); // кнопка 4
16. pinMode (8, INPUT_PULLUP); //Монета
17. pinMode (9, INPUT_PULLUP); //Начало
18.}
19)
20)
21.void loop () {
22)
2. 3)
24. // Кнопочные метки:
25. int joystickUp = digitalRead (0);
26. int joystickDown = digitalRead (1);
27. int joystickLeft = digitalRead (2);
28. int joystickRight = digitalRead (3);
29. int button1 = digitalRead (4);
30. int button2 = digitalRead (5);
31. int button3 = digitalRead (6);
32. int button4 = digitalRead (7);
33. int coin = digitalRead (8);
34. int start = digitalRead (9);
35)
36)
37. // Джойстик вверх – клавиша со стрелкой вверх
38. if (joystickUp == LOW) {
39. Keyboard.press (218);
40.}
41. ещё {
42. Отпустите клавиатуру (218);
43.}
44)
Четыре пять
46. // Джойстик вниз – клавиша со стрелкой вниз
47. if (joystickDown == LOW) {
48. Keyboard.press (217);
49.}
50. ещё {
51. Отпустите клавиатуру (217);
52.}
53)
54)
55. // Левый джойстик – Левая клавиша со стрелкой
56. if (joystickLeft == LOW) {
57. Клавиатурный пресс (216);
58.}
59. ещё {
60. Отпустите клавиатуру (216);
61.}
62)
63)
64. // Правый джойстик – Стрелка вправо
65. if (joystickRight == LOW) {
66. Keyboard.press (215);
67.}
68. ещё {
69. Отпустите клавиатуру (215);
70.}
71)
72)
73. // Кнопка 1 – Левый CTRL
74. if (button1 == LOW) {
75. Keyboard.press (128);
76.}
77. ещё {
78. Отпустите клавиатуру (128);
79.}
80
81)
82. // Кнопка 2 – ALT слева
83. if (button2 == LOW) {
84. Клавиатурный пресс (130);
85.}
86. ещё {
87. Отпустите клавиатуру (130);
88.}
89)
90
91. // Кнопка 3 – CTRL слева
92. if (button3 == LOW) {
93. Клавиатура.Пресс (32);
94.}
95. ещё {
96. Отпустите клавиатуру (32);
97.}
98)
99
100. // Кнопка 4 – Левый CTRL
101. if (button4 == LOW) {
102. Клавиатура.Напресс (129);
103.}
104. ещё {
105. Отпустите клавиатуру (129);
106.}
107)
108)
109. // Валюта – 5
110. if (currency == LOW) {
111. Клавиатурный пресс (53);
112.}
113. ещё {
114. Отпустите клавиатуру (53);
115.}
116)
117)
118. // Старт – 1
119. if (start == LOW) {
120. Клавиатура.пресс (49); задержка (100);
121.}
122. еще {
123. Отпустите клавиатуру (49);
124.}
125
126.}
Источник изображения: element14Шаг 5: подключение аудиосистемы
USB-колонки лучше всего подходят для этого аркадного игрового стола PIK3A. Выбирайте внешние USB-динамики с питанием для повышения качества звука. Подсоедините USB-динамики внутрь стола вниз, чтобы убедиться, что отверстия в решетке остаются скрытыми. Вставьте 3,5-мм аудиоразъем во вход Raspberry Pi.
Источник изображения: element14Пластина контроля громкости устанавливается на столе путем сверления 10-миллиметровых отверстий и закрепления на месте с помощью горячего клея.
Источник изображения: element14Шаг 6: силовой модуль
Поскольку пространство внутри стола очень быстро истощается, лучше всего установить разъем под столом и подключить удлинитель.
Источник изображения: element14Хотя колонки и модули Raspberry Pi питаются отдельно, колонки также могут питаться через порты USB Pi3.
Источник изображения: element14Шаг 7: последний штрих
Поскольку снятие защитного кожуха с ЖК-экрана делает его подверженным несчастным случаям, поэтому рекомендуется накрыть панель 3-мм акриловым экраном, чтобы она находилась сверху экрана.
Источник изображения: element14Вы также можете рассмотреть возможность добавления USB-порта на панель доступа, чтобы обеспечить совместимость игрового стола PIK3A с подключаемой клавиатурой USB.
Источник изображения: element14Окунитесь в мир аркадных игр с этим классным проектом PIK3A, чтобы превратить журнальный столик IKEA в удивительный аркадный опыт.
