Съдържание:

ESP32 VGA Аркадни игри и джойстик: 6 стъпки (със снимки)
ESP32 VGA Аркадни игри и джойстик: 6 стъпки (със снимки)

Видео: ESP32 VGA Аркадни игри и джойстик: 6 стъпки (със снимки)

Видео: ESP32 VGA Аркадни игри и джойстик: 6 стъпки (със снимки)
Видео: Arduboy - самая маленькая консоль 🎮 #retrogaming #gameboy #игры #8bit #16bit #arduboy #arduino 2024, Юли
Anonim
Image
Image
ESP32 VGA Аркадни игри и джойстик
ESP32 VGA Аркадни игри и джойстик
ESP32 VGA Аркадни игри и джойстик
ESP32 VGA Аркадни игри и джойстик

В тази инструкция ще покажа как да възпроизвеждате четири аркадни игри - Tetris - Snake - Breakout - Bomber - с помощта на ESP32, с изход за VGA монитор.

Резолюцията е 320 х 200 пиксела, в 8 цвята. Преди това направих версия с Arduino Uno (вижте тук), но разделителната способност беше само 120 x 60 пиксела, 4 цвята, а паметта на Arduino беше почти пълна. Благодарение на по -доброто представяне на ESP32, разделителната способност и възпроизвеждането са по -високи. Освен това все още има много налична памет, така че добавянето на нови игри в бъдеще ще бъде лесно.

Ще покажа и горещо за свързване на обикновен джойстик през RS232 кабел. Използвам същия извод на Commodore 64.

Този проект е възможен от страхотната ESP32 VGA библиотека, написана от Fabrizio Di Vittorio. Вижте тук за повече подробности.

Стъпка 1: Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека

Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека
Платки ESP32, инсталиране на Arduino IDE и конфигурация на VGA библиотека

Първо трябва да закупите ESP32 версия 1 или по -нова. Налични са много версии, но препоръчвам да изберете една с много щифтове, за предпочитане модел като този на тази снимка, с 38 пина. Използвам тази версия, но мисля, че и много други са добре. В ebay можете да намерите този модел за по -малко от 7 евро, включително доставка.

След като получите дъската, трябва да продължите със следните три подетапа:

  1. Инсталирайте последната Arduino IDE
  2. Конфигурирайте ESP32 в IDE и
  3. Изтеглете и инсталирайте VGA библиотеката

Под-стъпка 1. Има различни методи за програмиране на ESP32, но тук трябва да използвате Arduino IDE (между другото използвам версия 1.8.9). За да го инсталирате, можете да отидете на страницата на Arduino IDE и да следвате инструкциите.

Под-стъпка 2. След като предишната операция е извършена, трябва да конфигурирате вашия ESP32 в рамките на Arduino IDE. Това не е тривиално, тъй като ESP32 не е (все още?) Роден в него. Можете да следвате този урок или следните стъпки.

1) отворете Arduino IDE

2) отворете прозореца с предпочитания, Файл/Предпочитания, алтернативно натиснете "Ctrl+запетая"

3) отидете на „Допълнителни URL адреси на мениджъра на борда“, копирайте и поставете следния текст:

https://dl.espressif.com/dl/package_esp32_index.js…

и щракнете върху бутона OK.

4) Отворете мениджъра на дъските. Отидете на Tools/Board/Boards Manager…

5) Потърсете ESP32 и натиснете бутона за инсталиране на „ESP32 от Espressif Systems“:

6) На този етап, когато свържете за първи път вашия ESP32, трябва да изберете правилния модел в дългия списък на наличните платки ESP32 (вижте снимката в тази стъпка). В случай на съмнения относно модела, просто изберете общия, т.е. първия. При мен работи.

7) системата също трябва да избере правилния USB (COM) порт и скоростта на качване (обикновено 921600). В този момент трябва да се установи връзката между вашия компютър и платката ESP32.

Под-стъпка 3. Накрая трябва да инсталирате библиотеката FabGL VGA. Щракнете тук, за да изтеглите пълния компресиран файл. Декомпресирайте го и копирайте получената папка (FabGL-master) в папката с библиотеки на IDE на Arduino, която изглежда така:

"… / 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 порта

Свързване на VGA порта
Свързване на VGA порта

Нуждаете се от следните части:

  • съединител DSUB15, т.е. VGA женски конектор или VGA кабел, който трябва да се отреже.
  • три 270 ома резистора.

Свържете ESP32 GPIO изводи 2, 15 и 21 към VGA червено, зелено и синьо съответно, чрез резистори от 270 ома.

Свържете VGA Hsync и Vsync към ESP32 GPIO щифтове 17 и 4 съответно.

Свържете щифтовете 5, 6, 7, 8 и 10 на конекторите DSUB15 към ESP32 GND.

За дефиницията на щифта на конектора на VGA DSUB15, вижте картината в тази стъпка. Внимание, това е страната на запояване на женския конектор.

Стъпка 4: Свържете четирите бутона

Свържете четирите бутона
Свържете четирите бутона
Свържете четирите бутона
Свържете четирите бутона
Свържете четирите бутона
Свържете четирите бутона

Ако нямате джойстик C64, можете да свържете четири бутона, следвайки тази стъпка. Ако имате джойстика, можете да пропуснете тази стъпка и да преминете към следващата, но така или иначе можете да свържете двата бутона и джойстика (те така или иначе са „паралелни“).

Схемата в тази стъпка показва как да свържете един бутон (нормално отворен) от +5V към дадения ESP32 пин.

Имайте предвид, че също трябва да свържете дадения ESP щифт към GND чрез резистор от 1 до 5 kOhm. По този начин при отпускане на бутона (отваряне) щифтът на ESP е точно на нула волта. По -конкретно, трябва да свържете четири бутона със следния ред:

  • ПИН 12 към десния бутон
  • ПИН 25 към бутона нагоре
  • ПИН 14 към левия бутон
  • Пин 35 към бутона надолу

Стъпка 5: Свържете джойстика

Свържете джойстика
Свържете джойстика
Свържете джойстика
Свържете джойстика
Свържете джойстика
Свържете джойстика

Джойстикът C64 има изводите, показани на първата снимка на тази стъпка. За да го свържете към ESP32, имате нужда от 9 -пинов DSUB мъжки конектор (т.е. гнездо), както е показано на втората снимка. Премахнах един с открити щифтове от стара електронна платка. Можете да използвате термопистолет, за да го премахнете (но го направете на открито!).

Трябва да свържете щифтовете, следвайки числовия ред на тези снимки. Обърнете внимание, че схемата се отнася до страната на джойстика, като по този начин представлява връзката на нейния женски щепсел. Гнездото (мъжки) за свързване към ESP32 има щифтовете с „огледално“разположение. В случай на съмнение, не забравяйте, че номерът на пина винаги се отчита на мъжките и женските конектори, както е показано на третата снимка.

Ако искате да контролирате игрите само с джойстика, свържете неговия общ щифт (9) към ESP32 +5V, а щифтовете 1, 2, 3, 4 и 6 на джойстика към ESP, дадени в следния списък.

  • ESP пин 12 към десен бутон (RS232 пин 4)
  • ESP пин 14 към левия бутон (RS232 пин 3)
  • ESP пин 35 към бутона надолу (RS232 пин 2)
  • ESP пин 25 до бутон нагоре (RS232 пин 1 и 6, т.е. пожар на джойстика)

ВНИМАНИЕ: Pins 12, 14, 25 и 35 на ESP също трябва да бъдат свързани към GND чрез резистор от 1 до 5 kOhm. По този начин при отпускане на бутона (отваряне) щифтът на ESP е точно на нула волта.

NB2 джойстик UP позиция и бутон за пожар са свързани заедно към ESP пин 25-

Свързах четири бутона на платката, по този начин нямам нужда от джойстика, за да играя (въпреки че с джойстика е много по -смешно). Отново, RS232 пин 9 трябва да бъде свързан към +5 V и щифтовете на джойстика са точно успоредни на бутоните.

Стъпка 6: Заключение и признание

Заключение и признание
Заключение и признание

Ако всичко работи правилно, просто свържете VGA монитора и би трябвало да можете да се насладите на игра в стар стил!

Можете също така да нарисувате комплект Mandelbrot с резолюция 640 x 350 пиксела, само за да тествате възможностите на VGA библиотеката.

Имайте предвид, че кодът е написан по начин, по който други игри могат лесно да се добавят в бъдеще (ESP32 има много място!). Ако този проект получи достатъчно интерес, мога да го направя …

И накрая, искам да изразя танковете си на Fabrizio Di Vittorio за неговата страхотна ESP32 VGA библиотека. За повече подробности, примери и… Space Invaders, посетете неговия сайт.

Препоръчано: