Оглавление:
- Шаг 1: Список материалов
- Шаг 2. Загрузка библиотеки и эскиза
- Шаг 3: Подключение частей: разъем VGA
- Шаг 4: Соединение частей: потенциометры и кнопка
- Шаг 5: Заключение и благодарности
Видео: ESP8266 VGA Pong: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
В этой инструкции я покажу, как создать копию классической игры Pong для монитора VGA, используя ESP8266 и несколько других компонентов.
Эта игра стала возможной благодаря библиотеке EspVGAx, недавно опубликованной на GitHub Сандро Маффиодо (он же Smaffer), и, насколько мне известно, это первая игра, в которой она используется.
Библиотека реализует разрешение 512 x 480 пикселей, хранящееся в буфере кадра внутри ОЗУ, что требует 30720 байт. Разрешение огромно по сравнению с Arduino TVout или VGAx (128 x 96 и 120 x 60 пикселей соответственно). Я надеюсь, что эта игра вдохновит других программистов на разработку или воспроизведение более сложных игр.
Шаг 1: Список материалов
Для библиотеки EspVGAx требуется ESP8266 со всеми открытыми GPIO, например ESP-12E, плата NodeMCU-12E или любая плата, открывающая GPIO5 (D1), GPIO4 (D2) и GPIO13 (D7).
В частности, я использовал:
- ESP8266 NodeMCU-12E (ссылка здесь)
- разъем DSUB15 (например, гнездовой разъем VGA)
- резистор 330 Ом
- другой резистор (примерно от 1 до 3 кОм)
- два потенциометра 10 кОм
- кнопка (нет)
- два диода (например, 1N4007s)
- макет
- провода
Я получил разъем DSUB15 от старой печатной платы VGA. В качестве альтернативы вы также можете отрезать старый кабель VGA и подключить провода непосредственно к макетной плате.
Шаг 2. Загрузка библиотеки и эскиза
Существуют разные методы программирования и ESP8266; Я использовал IDE Arduino, чтобы написать Pong и загрузить код.
Обратите внимание, что библиотека EspVGAx работает с Arduino IDE 1.8.1. Если у вас есть другие версии, лучше всего загрузить файлы.zip и распаковать их в специальной папке. Версия для Windows находится здесь. Версии для других ОС здесь.
После этого вы должны загрузить библиотеку EspVGAx со страницы GithHub здесь (прямая ссылка на zip-версию здесь) и распаковать ее в папке библиотеки в программном обеспечении Arduino.
NB. В файле espvgax_draw.h есть небольшая ошибка. Чтобы исправить это, просто замените строку 17:
while (x0% 32) {with while (x0% 32 && sw> 32) {
Наконец, в конце этого шага вы можете загрузить ESP8266_Pong.rar.
После распаковки, чтобы загрузить его на свой ESP8266, вам необходимо настроить Arduino IDE.
Если вы никогда этого не делали, вы можете найти все необходимые инструкции в этих инструкциях, в частности, в шаге 2.
После того, как все настроено, настройки ESP8266 должны выглядеть так, как показано на картинке выше.
Если вы можете загрузить код без ошибок, вы можете приступить к сборке деталей.
Шаг 3: Подключение частей: разъем VGA
Я рекомендую сначала подключить порт VGA, как показано на рисунках выше. Обратите внимание, что, соединив три контакта: красный, зеленый и синий (т.е. контакты 1, 2 и 3 на разъеме DSUB15), вы получите черно-белое изображение на экране. Также возможно разное сочетание цветов. Подробности смотрите на странице библиотеки GitHub.
Кроме того, вы должны подключить резистор 330 Ом между контактами RGB и D7 (GPIO13) на ESP8266. Это дало мне немного сероватое изображение на моем мониторе, поэтому после нескольких попыток я решил вообще устранить его.
На этом этапе, если все работает правильно, вы уже можете подключить монитор и увидеть начальный экран игры с надписью «ESP8266 VGAx Pong».
Шаг 4: Соединение частей: потенциометры и кнопка
Кнопка должна быть подключена между 3,3 В и контактом D0 (GPIO16). Также подключите резистор 1–3 кОм от D0 к земле. Это позволяет избежать неопределенного состояния D0, когда кнопка открыта.
Подключение двух потенциометров менее тривиально, на самом деле ESP8266 имеет только аналоговый входной порт A0 (ADC0)! Хитрость заключается в том, чтобы подключить оба выхода pot.s к одному и тому же порту и «мультиплексировать» их. Мультиплексирование просто означает, что вы включаете потенциометр, считываете его, затем выключаете и переходите ко второму.
Если вы хотите узнать больше об этом методе, вы можете прочитать это руководство.
Подключите один крайний потенциометр к GND, другой крайний к D5 для потенциометра левого игрока и D6 для правого игрока.
Каждый центральный вывод потенциометра должен подключаться к отдельному диоду, а другие стороны диодов должны быть подключены к A0 (ADC0) с полярностью, показанной на рисунке выше.
Шаг 5: Заключение и благодарности
Я благодарен Сандро Маффиодо - SMAFFER - за библиотеку ESPVGAX. Без него эта игра была бы невозможна.
Я надеюсь, что эта инструкция послужит вдохновением для других программистов, чтобы они смогли воспроизвести более сложные классические аркадные игры с помощью ESP8266, который имеет гораздо меньше ограничений, чем Arduino.
Наконец, я написал эту инструкцию, чтобы отправить ее на конкурс игрушек: если вам нравится или воспроизведите ее, пожалуйста, проголосуйте за нее!
Рекомендуемые:
Внешний VGA / GPU для ноутбуков, использующих EXP GDC Beast: 15 шагов (с изображениями)
Внешний VGA / GPU для ноутбуков с использованием EXP GDC Beast: Привет, ребята .. Это мой первый учебник по инструкциям. Английский - не мой родной язык, поэтому, пожалуйста, простите мои грамматические ошибки. Я сделал это, основываясь на моем опыте обновления моего ноутбука. И я не буду утомлять вас долгим представлением, потому что я не знаю
ESP8266 - Орошение сада с таймером и дистанционным управлением через Интернет / ESP8266: 7 шагов (с изображениями)
ESP8266 - Орошение сада с таймером и дистанционным управлением через Интернет / ESP8266: ESP8266 - Дистанционное управление поливом с синхронизацией для огородов, цветников и газонов. В нем используется контур ESP-8266 и гидравлический / электрический клапан для подачи в ирригатор. Преимущества: Низкая стоимость (~ 30,00 долларов США). Команды быстрого доступа
ESP32 VGA Аркадные игры и джойстик: 6 шагов (с изображениями)
ESP32 VGA Arcade Games and Joystick: В этой инструкции я покажу, как воспроизвести четыре аркадные игры - Tetris - Snake - Breakout - Bomber - с помощью ESP32 с выходом для монитора VGA. Разрешение 320 х 200 пикселей, 8 цветов. Я уже делал версию с
Базовый ПК Arduino с выходом VGA: 5 шагов (с изображениями)
Базовый компьютер Arduino с выходом VGA: в моем предыдущем руководстве я показал, как построить 8-битный компьютер в стиле ретро, работающий на BASIC, с помощью двух Arduino и с выходным сигналом в черно-белом для экрана телевизора. Сейчас я покажу, как собрать такой же компьютер, но с выходным сигналом в
Портативная консоль Arduino Pong: 6 шагов (с изображениями)
Портативная консоль Arduino Pong: DFRobot недавно обратилась ко мне с просьбой использовать их специальную плату Arduino Nano и OLED. Сначала я хотел создать умный байк и построил его полностью. Но, к сожалению, Nano был слишком слаб, чтобы запустить и сохранить массивный набросок