Съдържание:
- Стъпка 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 07:50
В тази инструкция ще покажа как да възпроизвеждате четири аркадни игри - 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 версия 1 или по -нова. Налични са много версии, но препоръчвам да изберете една с много щифтове, за предпочитане модел като този на тази снимка, с 38 пина. Използвам тази версия, но мисля, че и много други са добре. В ebay можете да намерите този модел за по -малко от 7 евро, включително доставка.
След като получите дъската, трябва да продължите със следните три подетапа:
- Инсталирайте последната Arduino IDE
- Конфигурирайте ESP32 в IDE и
- Изтеглете и инсталирайте 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 порта
Нуждаете се от следните части:
- съединител 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, посетете неговия сайт.
Препоръчано:
Персонализиран шкаф за аркадни бартони: 32 стъпки (със снимки)
Персонализиран аркаден шкаф Bartop: Здравейте и благодаря, че проверихте първия ми Instructable за това как да изградите персонализиран шкаф за баркод! Аркадите наистина започнаха да се завръщат, когато остареем и искаме да се насладим на носталгични ретро игри. Това прави чудесна възможност
Arduino базиран DIY контролер за игри - Arduino PS2 контролер за игри - Възпроизвеждане на Tekken с DIY Arduino геймпад: 7 стъпки
Arduino базиран DIY контролер за игри | Arduino PS2 контролер за игри | Игра на Tekken с DIY Arduino геймпад: Здравейте момчета, играта на игри винаги е забавна, но играта със собствения си DIY персонализиран контролер на играта е по -забавна. Така че ще направим контролер за игра, използвайки arduino pro micro в тази инструкция
Как да качвате игри в Arduboy и 500 игри във Flash-количка: 8 стъпки
Как да качвате игри в Arduboy и 500 игри във Flash-количка: Направих някои домашно приготвени Arduboy със серийна флаш памет, която може да съхранява максимум 500 игри за игра на път. Надявам се да споделя как да зареждам игри към него, включително как да съхранявам игри в серийната флаш памет и да създавам свой собствен консолидиран пакет от игри
Машина за аркадни игри с Raspberry Pi: 7 стъпки (със снимки)
Машина за аркадни игри с Raspberry Pi: Създаване на история: Машина за аркадни игри с ретро пи (raspberry pi3)
Аркадни бутони Plug and Play: 7 стъпки (със снимки)
Plug and Play Аркадни бутони: Наскоро започнах да използвам Arduino, за да правя своите проекти. Като дизайнер обичам да правя персонализирани интерфейси за моите игри/интерактивни проекти. Единственият проблем, на който се натъкнах, че използването на серийна комуникация е доста сложен и предразположен към проблеми и