Բովանդակություն:

ESP32 VGA Արկադային խաղեր և ջոյսթիք. 6 քայլ (նկարներով)
ESP32 VGA Արկադային խաղեր և ջոյսթիք. 6 քայլ (նկարներով)

Video: ESP32 VGA Արկադային խաղեր և ջոյսթիք. 6 քայլ (նկարներով)

Video: ESP32 VGA Արկադային խաղեր և ջոյսթիք. 6 քայլ (նկարներով)
Video: 自作ミニ筐体で心眼! 2024, Դեկտեմբեր
Anonim
Image
Image
ESP32 VGA Արկադային խաղեր և Joystick
ESP32 VGA Արկադային խաղեր և Joystick
ESP32 VGA Արկադային խաղեր և Joystick
ESP32 VGA Արկադային խաղեր և Joystick

Այս ուսանելի ծրագրում ես ցույց կտամ, թե ինչպես կարելի է վերարտադրել չորս արկադային նման խաղեր `Tetris - Snake - Breakout - Bomber - օգտագործելով ESP32, VGA մոնիտորի ելքով:

Բանաձևը 320 x 200 պիքսել է ՝ 8 գույներով: Նախկինում ես կատարել եմ տարբերակ Arduino Uno- ով (տես այստեղ), բայց թույլատրելիությունը ընդամենը 120 x 60 պիքսել էր, 4 գույն, իսկ Arduino- ի հիշողությունը գրեթե լիքն էր: ESP32- ի ավելի մեծ կատարումների շնորհիվ, ինչպես բանաձևը, այնպես էլ նվագարկելիությունն ավելի բարձր են: Ավելին, դեռ շատ հիշողություն կա, ուստի ապագայում նոր խաղեր ավելացնելը պարզ կլինի:

Ես նաև տաք ցույց կտամ RS232 մալուխի միջոցով մի պարզ ջիստիկ միացնելու համար: Ես օգտագործում եմ Commodore 64- ի նույն պինոութը:

Այս նախագիծը հնարավոր դարձավ Ֆաբրիցիո Դի Վիտորիոյի հեղինակած ESP32 VGA գրադարանի շնորհիվ: Լրացուցիչ մանրամասների համար տե՛ս այստեղ:

Քայլ 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) անցեք «Լրացուցիչ խորհրդի ղեկավարի հասցեներ», պատճենեք և տեղադրեք հետևյալ տեքստը.

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

և կտտացրեք OK կոճակին:

4) բաց տախտակների կառավարիչ: Գնացեք Գործիքներ/Տախտակ/Տախտակների կառավարիչ…

5) Որոնեք ESP32 և սեղմեք «ESP32 by 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 նավահանգստի միացում

VGA նավահանգստի միացում
VGA նավահանգստի միացում

Ձեզ անհրաժեշտ են հետևյալ մասերը.

  • DSUB15 միակցիչ, այսինքն ՝ VGA կին միակցիչ կամ VGA մալուխ, որը պետք է կտրվի:
  • երեք 270 Օմ դիմադրություն:

Միացրեք ESP32 GPIO կապը 2, 15 և 21 համապատասխանաբար VGA կարմիր, կանաչ և կապույտ ՝ 270 Օմ դիմադրիչների միջոցով:

Միացրեք VGA Hsync- ը և Vsync- ը համապատասխանաբար ESP32 GPIO 17 և 4 կապումներին:

Միացրեք DSUB15 միակցիչների 5, 6, 7, 8 և 10 կապակցիչները ESP32 GND- ին:

VGA DSUB15 միակցիչի քորոցի սահմանման համար տե՛ս այս քայլի պատկերը: NB, սա կին միակցիչի զոդման կողմն է:

Քայլ 4: Միացրեք չորս կոճակները

Միացրեք չորս կոճակները
Միացրեք չորս կոճակները
Միացրեք չորս կոճակները
Միացրեք չորս կոճակները
Միացրեք չորս կոճակները
Միացրեք չորս կոճակները

Եթե դուք չունեք C64 ջոյստիկ, կարող եք միացնել չորս կոճակ այս քայլից հետո: Եթե դուք ունեք ջոյսթիք, կարող եք բաց թողնել այս քայլը և անցնել հաջորդին, բայց, այնուամենայնիվ, կարող եք միացնել ինչպես կոճակները, այնպես էլ ջոստիկը (դրանք, ամեն դեպքում, «զուգահեռ» են):

Այս քայլի սխեմատիկ պատկերը ցույց է տալիս, թե ինչպես միացնել մեկ կոճակը (Սովորաբար բաց է) +5V- ից ESP32 տրված քորոցին:

Նկատի ունեցեք, որ անհրաժեշտ է նաև ESP- ի տրված քորոցը միացնել GND- ին 1 -ից 5 կՕմ ռեզիստորի միջոցով: Այս կերպ, երբ կոճակը բաց է թողնվում (բացվում է), ESP- ի քորոցը ճշգրիտ զրո վոլտ է: Ավելի կոնկրետ ՝ պետք է չորս կոճակ միացնել հետևյալ հաջորդականությամբ.

  • Ամրացրեք 12 դեպի աջ կոճակը
  • Ամրացնել 25 -ից մինչև կոճակը
  • Կցեք 14 դեպի ձախ կոճակը
  • Կցեք 35 ներքև կոճակը

Քայլ 5: Միացրեք Joystick- ը

Միացրեք Joystick- ը
Միացրեք Joystick- ը
Միացրեք Joystick- ը
Միացրեք Joystick- ը
Միացրեք Joystick- ը
Միացրեք Joystick- ը

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, այսինքն ՝ ջոյսթիկի կրակ)

NB ESP 12, 14, 25 և 35 կապումներն անհրաժեշտ է նաև միացնել GND- ին 1 -ից 5 կՕմ ռեզիստորի միջոցով: Այս կերպ, երբ կոճակը բաց է թողնվում (բացվում է), ESP- ի քորոցը ճշգրիտ զրո վոլտ է:

NB2 joystick UP դիրքն ու կրակի կոճակը միացված են ESP կապին 25-

Ես միացրել եմ համակարգչի տախտակի չորս կոճակ, այս կերպ ինձ պետք չէ ջոյսթիկը խաղալու համար (չնայած որ ջոյստիկով դա շատ ավելի ծիծաղելի է): Կրկին, RS232 կապ 9 -ը պետք է միացված լինի +5 Վ -ին, իսկ ջոյսթիկի կապումներն ուղղակի զուգահեռ են կոճակներին:

Քայլ 6: Եզրակացություն և ճանաչում

Եզրակացություն և ճանաչում
Եզրակացություն և ճանաչում

Եթե ամեն ինչ ճիշտ է աշխատում, պարզապես միացրեք VGA մոնիտորը և դուք պետք է կարողանաք վայելել հին ոճի խաղը:

Կարող եք նաև նկարել Mandelbrot հավաքածու ՝ 640 x 350 պիքսել թույլատրությամբ, պարզապես VGA գրադարանի հնարավորությունները ստուգելու համար:

Նկատի ունեցեք, որ ծածկագիրը գրված է այնպես, որ հետագայում այլ խաղեր հեշտությամբ ավելացվեն (ESP32- ը շատ տեղ ունի): Եթե այս նախագիծը բավական հետաքրքրություն է ստանում, կարող եմ դա անել…

Վերջապես, ես կցանկանայի իմ տանկերը հայտնել Ֆաբրիցիո Դի Վիտորիոյին `իր հիանալի ESP32 VGA գրադարանի համար: Լրացուցիչ մանրամասների, օրինակների և… Տիեզերական զավթիչների համար այցելեք նրա կայքը:

Խորհուրդ ենք տալիս: