Оглавление:
- Шаг 1. Платы ESP32, установка Arduino IDE и настройка библиотеки VGA
- Шаг 2. Загрузка "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"
- Шаг 3: Подключение порта VGA
- Шаг 4: соедините четыре кнопки
- Шаг 5: Подключите джойстик
- Шаг 6: Заключение и подтверждение
Видео: ESP32 VGA Аркадные игры и джойстик: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
В этом руководстве я покажу, как воспроизвести четыре аркадные игры - Tetris - Snake - Breakout - Bomber - с помощью ESP32 с выходом для монитора VGA.
Разрешение 320 х 200 пикселей, 8 цветов. Ранее я делал версию с Arduino Uno (см. Здесь), но разрешение было всего 120 x 60 пикселей, 4 цвета, а память Arduino была почти заполнена. Благодаря более высокой производительности ESP32 разрешение и играбельность выше. Кроме того, по-прежнему имеется много доступной памяти, поэтому добавление новых игр в будущем будет несложным.
Я также покажу, как подключить простой джойстик через кабель RS232. Я использую ту же распиновку, что и у Commodore 64.
Этот проект стал возможным благодаря великолепной библиотеке ESP32 VGA, написанной Фабрицио Ди Витторио. Подробнее см. Здесь.
Шаг 1. Платы ESP32, установка Arduino IDE и настройка библиотеки VGA
Прежде всего вам необходимо приобрести ESP32 ревизии 1 или выше. Доступно много версий, но я рекомендую выбрать одну с большим количеством контактов, предпочтительно модель, подобную той, что на этой картинке, с 38 контактами. Я использую эту версию, но думаю, что многие другие тоже подходят. На ebay вы можете найти эту модель менее чем за 7 евро, включая доставку.
Как только вы получите доску, вам нужно выполнить следующие три дополнительных шага:
- Установите последнюю IDE Arduino
- Настройте ESP32 в IDE и
- Загрузите и установите библиотеку VGA
Подшаг 1. Существуют разные методы программирования ESP32, но здесь вам нужно использовать IDE Arduino (кстати, я использую версию 1.8.9). Чтобы установить его, вы можете перейти на страницу Arduino IDE и следовать инструкциям.
Подшаг 2. После выполнения предыдущей операции вам необходимо настроить ESP32 в среде Arduino IDE. Это нетривиально, поскольку ESP32 не является (пока?) Родным для него. Вы можете следовать этому руководству или следующим шагам.
1) откройте IDE Arduino
2) откройте окно настроек, Файл / Предпочтения, или нажмите «Ctrl + запятая».
3) перейдите в «Дополнительные URL-адреса Board Manager», скопируйте и вставьте следующий текст:
https://dl.espressif.com/dl/package_esp32_index.js…
и нажмите кнопку ОК.
4) Менеджер открытых досок. Перейдите в Инструменты / Доска / Менеджер плат…
5) Найдите ESP32 и нажмите кнопку установки для «ESP32 от Espressif Systems»:
6) На этом этапе, когда вы впервые подключаете ESP32, вы должны выбрать правильную модель из длинного списка доступных плат ESP32 (см. Рисунок в этом шаге). В случае сомнений по поводу модели, просто выберите общую, то есть первую. Меня устраивает.
7) система также должна выбрать правильный порт USB (COM) и скорость загрузки (обычно 921600). На этом этапе должно быть установлено соединение между вашим ПК и платой ESP32.
Подшаг 3. Наконец, вам нужно установить библиотеку FabGL VGA. Щелкните здесь, чтобы загрузить полный сжатый файл. Распакуйте его и скопируйте полученную папку (FabGL-master) в папку библиотек Arduino IDE, которая выглядит так:
«… / Arduino-1.8.12 / библиотеки».
Шаг 2. Загрузка "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0"
Загрузите ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip внизу этого шага. Разархивируйте и откройте его с помощью Arduino IDE, затем загрузите на свой ESP32. Если у вас нет сообщений об ошибках, код уже должен быть запущен, и вам просто нужно подключить порт VGA и кнопки (или джойстик).
Шаг 3: Подключение порта VGA
Вам потребуются следующие детали:
- разъем DSUB15, т. е. гнездовой разъем VGA или кабель VGA, который необходимо обрезать.
- три резистора на 270 Ом.
Подключите контакты 2, 15 и 21 GPIO ESP32 к VGA Red, Green и Blue соответственно через резисторы 270 Ом.
Подключите VGA Hsync и Vsync к контактам 17 и 4 GPIO ESP32 соответственно.
Подключите контакты 5, 6, 7, 8 и 10 разъемов DSUB15 к ESP32 GND.
Определение контактов разъема VGA DSUB15 см. На рисунке в этом шаге. NB, это сторона пайки гнездового разъема.
Шаг 4: соедините четыре кнопки
Если у вас нет джойстика C64, вы можете подключить четыре кнопки, выполнив этот шаг. Если у вас есть джойстик, вы можете пропустить этот шаг и перейти к следующему, но вы все равно можете подключить и кнопки, и джойстик (они в любом случае находятся «параллельно»).
Схема на этом шаге показывает, как подключить одну кнопку (нормально разомкнутую) от +5 В к заданному контакту ESP32.
Обратите внимание, что вам также необходимо подключить данный вывод ESP к GND через резистор от 1 до 5 кОм. Таким образом, когда кнопка отпускается (открывается), на выводе ESP будет ровно ноль вольт. Точнее, вам нужно соединить четыре кнопки в следующем порядке:
- Контакт 12 к правой кнопке
- Пин 25 к кнопке Вверх
- Штырь 14 к левой кнопке
- Пин 35 к кнопке "Вниз"
Шаг 5: Подключите джойстик
Распиновка джойстика C64 показана на первом рисунке этого шага. Чтобы подключить его к ESP32, вам понадобится 9-контактный штекерный разъем DSUB (т. Е. Розетка), как показано на втором рисунке. Я удалил один с открытыми контактами из старой электронной платы. Вы можете удалить его с помощью теплового пистолета (но только на улице!).
Вам необходимо соединить контакты, следуя порядку номеров на этих рисунках. Обратите внимание, что схема относится к стороне джойстика, поэтому она представляет собой соединение его розетки. Гнездо (папа) для подключения к ESP32 имеет контакты с «зеркальным» расположением. В случае сомнений помните, что номер контакта всегда указывается на штекерных и гнездовых разъемах, как показано на третьем рисунке.
Если вы хотите управлять играми только с помощью джойстика, подключите его общий контакт (9) к ESP32 + 5V, а контакты джойстика 1, 2, 3, 4 и 6 к контактам ESP, указанным в следующем списке.
- Контакт 12 ESP к правой кнопке (RS232 контакт 4)
- Вывод 14 ESP на левую кнопку (вывод 3 RS232)
- Контакт 35 ESP к кнопке Вниз (контакт 2 RS232)
- Контакт 25 ESP для кнопки Вверх (контакты 1 и 6 RS232, т.е. джойстик срабатывания)
Обратите внимание: контакты 12, 14, 25 и 35 ESP также должны быть подключены к GND через резистор от 1 до 5 кОм. Таким образом, когда кнопка отпускается (открывается), на выводе ESP будет ровно ноль вольт.
Положение джойстика NB2 ВВЕРХ и кнопка включения соединены вместе с контактом 25- ESP.
Я подключил четыре кнопки на плате, таким образом мне не нужен джойстик для игры (хотя с джойстиком намного веселее). Опять же, контакт 9 RS232 должен быть подключен к +5 В, а контакты джойстика просто параллельны кнопкам.
Шаг 6: Заключение и подтверждение
Если все работает правильно, просто подключите VGA-монитор, и вы сможете наслаждаться игрой в старинном стиле!
Вы также можете нарисовать набор Мандельброта с разрешением 640 x 350 пикселей, просто чтобы проверить возможности библиотеки VGA.
Обратите внимание, что код написан таким образом, что другие игры могут быть легко добавлены в будущем (ESP32 имеет много места!). Если этот проект вызывает достаточно интереса, я могу это сделать…
Наконец, я хотел бы выразить мою благодарность Фабрицио Ди Витторио за его потрясающую библиотеку ESP32 VGA. Для получения более подробной информации, примеров и… Space Invaders посетите его сайт.
Рекомендуемые:
(ОБНОВЛЕНИЕ - ЕСТЬ НЕБОЛЬШАЯ ПРОБЛЕМА) USB-КОНТРОЛЛЕР ИГРЫ ДЛЯ ПК: 10 шагов (с изображениями)
(ОБНОВЛЕНИЕ - ЕСТЬ НЕБОЛЬШАЯ ПРОБЛЕМА) USB-КОНТРОЛЛЕР ИГРЫ ДЛЯ ПК: ИГРОВОЙ КОНТРОЛЛЕР ДЛЯ ЛЮБОЙ ИГРЫ (ПОЧТИ)
Ролик для игры в кости Mason Jar: 5 шагов (с изображениями)
Mason Jar Dice Roller: Вот отличный проект на выходные, если вы планируете играть в какие-либо игры, связанные с настольными играми или игральными костями. Для создания проекта вам понадобится сервопривод непрерывного вращения, аркадная кнопка и плата arduino nano или ESP8266, кроме того, вам понадобится 3D-компьютер
4-кнопочные игры с использованием одного аналогового входа: 6 шагов (с изображениями)
4-кнопочные игры с использованием одного аналогового входа: в этом руководстве основное внимание уделяется использованию одной аналоговой входной линии для нескольких кнопок, которые могут быть обнаружены независимо друг от друга. И, чтобы подчеркнуть использование этих кнопок, включено программное обеспечение для игры в четыре разные 4-кнопочные игры. Все партии (8 в т
Ретро аркадные часы - Arduino: 6 шагов (с изображениями)
Ретро аркадные часы - Arduino: создайте интерактивные прикроватные аркадные часы с сенсорным экраном и анимированными аркадными фигурами, которые вы можете записывать звук по вашему выбору для будильника. Это обновление предыдущего проекта, который теперь включает чехол с 3D-принтом и четыре отдельные программы
Симулятор игры для смартфона - играйте в игры для Windows, используя IMU для управления жестами, акселерометр, гироскоп, магнитометр: 5 шагов
SmartPhone Game Simulator - играйте в игры для Windows, используя IMU управления жестами, акселерометр, гироскоп, магнитометр: поддержите этот проект: https://www.paypal.me/vslcreations, сделав пожертвование на программы с открытым исходным кодом & поддержка дальнейшего развития