
Բովանդակություն:
- Քայլ 1: Սարքավորման պատրաստում
- Քայլ 2: Softwareրագրաշարի պատրաստում
- Քայլ 3: 3D տպագրություն
- Քայլ 4: LCD աջակցություն
- Քայլ 5. Պատրաստեք PETG ափսե
- Քայլ 6. Ուղղեք ESP32 Dev Board- ը
- Քայլ 7: Լիցքավորեք Lipo մարտկոցը
- Քայլ 8: Միացրեք մարտկոցի և միացման տախտակը
- Քայլ 9. Պատրաստեք ցուցադրման կապում
- Քայլ 10: Միացրեք GND կապում
- Քայլ 11: Միացրեք Vcc կապում
- Քայլ 12: Միացրեք LCD և Dev տախտակի աջակցությունը
- Քայլ 13: Միացրեք SPI կապում
- Քայլ 14: Flash ծրագիր
- Քայլ 15: I2C միակցիչ
- Քայլ 16. Հավաքում Մաս 1
- Քայլ 17. Նախատիպ I2C Gamepad
- Քայլ 18. Կառուցեք I2C Gamepad
- Քայլ 19. Համագումար Մաս 2
- Քայլ 20: Լրացուցիչ. Աուդիո անջատման կապում
- Քայլ 21. Ի՞նչ է հաջորդը:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48



Այս հրահանգները ցույց են տալիս, թե ինչպես օգտագործել ESP32 և ATtiny861 ՝ NES emulator խաղային վահանակ ստեղծելու համար:
Քայլ 1: Սարքավորման պատրաստում


ESP32 Dev տախտակ
Այս անգամ ես օգտագործում եմ TTGO T8 ESP32 dev տախտակ: Այս տախտակն ունի ներկառուցված Lipo լիցքավորման և կարգավորող միացում, այն կարող է օգնել նվազեցնել լրացուցիչ բաղադրիչները:
Displayուցադրել
Այս անգամ ես օգտագործում եմ 2.4 դյույմանոց IPS LCD: Վարորդի վերահսկիչը ST7789V է, իսկ լուծումը ՝ 320 x 240. Այս լուծումը լավագույնս համապատասխանում է NES emulator 252 x 224 բանաձևին:
Մարտկոց
Այս անգամ ես օգտագործում եմ 454261 Lipo մարտկոց: 4.5 մմ - ESP32 dev board- ի հաստությունը, իսկ 61 մմ - տախտակի լայնությունը:
Ամրացնել վերնագիրը
4 կապում արական կլոր քորոց գլխագլուխ և 4 կապիկ կանացի կլոր քորոց վերնագիր ՝ I2C խաղատախտակը միացնելու համար:
PETG ափսե
Փոքր PET/PETG ափսե `dev տախտակին և Lipo մարտկոցին աջակցելու համար, այն հեշտությամբ կարող եք գտնել ապրանքի փաթեթավորման մեջ:
Բազմաֆունկցիոնալ PCB
Պահանջվում է 2 հատ PCB, 1 0,4 մմ հաստ ՝ Displayուցադրմանն աջակցելու համար, 1 1,2 մմ հաստությամբ ՝ I2C խաղատախտակի համար:
Կոճակներ
A 5 ուղղությունների կոճակ, 2 փոքր կոճակներ Select և Start և 2 և A և B կոճակների համար:
I2C Gamepad Controller
Այս անգամ ես օգտագործում եմ ATtiny861 միկրոկոնտրոլերը ՝ որպես I2C gamepad վերահսկիչ:
Մյուսները
1 SMD 12 Օմ դիմադրություն, ISP ծրագրավորող (օրինակ ՝ TinyISP)
Քայլ 2: Softwareրագրաշարի պատրաստում



Arduino IDE
Ներբեռնեք և տեղադրեք Arduino IDE- ն, եթե դեռ չկա ՝
ATTinyCore աջակցություն
Հետևեք տեղադրման քայլերին ՝ ATTinyCore աջակցություն ավելացնելու համար, եթե դեռ չկա ՝
ESP-IDF
Հետևեք ESP-IDF- ի զարգացման ուղեցույցին `զարգացման միջավայրը կարգավորելու համար, եթե դեռ ոչ:
Քայլ 3: 3D տպագրություն

Ներբեռնեք և տպեք գործը ՝
Քայլ 4: LCD աջակցություն


LCD- ի աջակցության համար կտրեք 24 x 27 անցք 0.4 մմ չափի PCB: Հիշեք, որ որոշակի տարածք պահեք ծալովի LCD FPC- ի համար: Այնուհետեւ օգտագործեք երկկողմանի սոսինձ ժապավեն, ամրացրեք LCD- ը PCB- ի վրա:
Քայլ 5. Պատրաստեք PETG ափսե


Կտրեք 62 մմ x 69 մմ չափի PETG ափսե ՝ dev board- ի և Lipo մարտկոցի աջակցության համար:
Քայլ 6. Ուղղեք ESP32 Dev Board- ը

Օգտագործեք երկկողմանի սոսինձ ժապավեն `PETG ափսեի վրա dev տախտակը ամրացնելու համար:
Քայլ 7: Լիցքավորեք Lipo մարտկոցը

Օգտագործեք երկկողմանի սոսինձ ժապավեն `Lipo մարտկոցը բացի dev board- ից ամրացնելու համար:
Քայլ 8: Միացրեք մարտկոցի և միացման տախտակը

Քայլ 9. Պատրաստեք ցուցադրման կապում

LCD էկրանն ունի բազմաթիվ փոփոխություններ ՝ տարբեր մատակարարներից: Ստացեք ճիշտ տվյալների թերթիկ և կարդացեք այն ցանկացած կարկատումից և կապից առաջ:
Որոշ կապում վերապահված է սենսորային վահանակի համար: Քանի որ այս LCD- ն չունի սենսորային վահանակ, պարզապես կտրելով դրանք, կարող եք նվազեցնել անհանգստությունը:
Քայլ 10: Միացրեք GND կապում


Շատ դեպքերում քչերն են կապում, որոնք պահանջում են միանալ GND- ին: Reduceոդման ջանքերը նվազեցնելու համար ես կտրեցի պղնձե ժապավենի ձևը, որպեսզի հասնեմ GND- ի բոլոր կապումներին, իսկ հետո ընդհանրապես զոդում:
Քայլ 11: Միացրեք Vcc կապում

Vcc- ին, LCD հզորությանը և LED հոսանքին միանալու համար անհրաժեշտ է 2 կապում: Ըստ տվյալների թերթիկի, LCD հզորությունը կարող է ուղղակիորեն միանալ dev 3.3 վտ պինին, բայց LED հզորությունը գործում է 3.3 Վ -ից փոքր -ինչ ցածր: Այսպիսով, ավելի լավ է մեջտեղում ավելացնել SMD ռեզիստոր, օրինակ. 12 Օմ դիմադրություն:
Քայլ 12: Միացրեք LCD և Dev տախտակի աջակցությունը

օգտագործեք ժապավենը միացրեք LCD- ի և dev board- ի աջակցությունը միասին: Երկու հենարաններն էլ պետք է մոտ 5 մմ բաց թողնեն ծալման համար:
Քայլ 13: Միացրեք SPI կապում

Ահա կապի ամփոփագիրը.
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> միացված չէ Vcc -> 3.3 Վ LED+ -> 12 Օմ դիմադրություն -> 3.3 Վ LED - -> GND
Քայլ 14: Flash ծրագիր




- Ներբեռնեք աղբյուրի կոդը GitHub- ում ՝
- Կոդի թղթապանակի ներքո գործարկեք "make menuconfig"
- Ընտրեք «Nofrendo ESP32- ի հատուկ կազմաձևում»
- Ընտրեք «Սարքավորումներ աշխատելու համար» -> «Պատվերով սարքավորում»
- Ընտրեք «LCD տեսակը» -> «ST7789V LCD»
- Լրացրեք քորոցների կարգավորումները ՝ MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, լուսավորություն -> -1, IPS -> Y
- Դուրս եկեք և պահեք
- Գործարկեք "make -j5 flash"
- Գործարկել «sh flashrom.sh PATH_TO_YOUR_ROM_FILE»
Քայլ 15: I2C միակցիչ



Պառակտում I2C կապում, ESP32 կանխադրված I2C կապում են:
Պին 1 (SCL) -> GPIO 22
Պին 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3.3 V (ոչ 5 Վ էներգիա Lipo մարտկոցով սնվելիս) Pin 4 (GND) -> GND
Քայլ 16. Հավաքում Մաս 1


Հետևեք տեսանյութի քայլերին ՝ բոլոր մասերը պատյանը ծալելու և սեղմելու համար:
Քայլ 17. Նախատիպ I2C Gamepad


I2C Gamepad- ի ծրագիրը շատ պարզ է, ընդամենը 15 տող կոդ: Բայց մի փոքր դժվար է ATtiny861- ը զոդելուց հետո նորից ծրագրավորելը, ուստի ավելի լավ է այն նախ փորձարկել սեղանի վրա:
Ներբեռնեք, կազմեք և միացրեք ծրագիրը GitHub- ից ՝
Քայլ 18. Կառուցեք I2C Gamepad



Ահա կապի ամփոփագիրը.
ATtiny861 կոճակ
GND -> Բոլոր կոճակները մեկ կապում Pin 20 (PA0) -> վերևի կոճակ Pin 19 (PA1) -> ներքևի կոճակ Pin 18 (PA2) -> Ձախ կոճակի Pin 17 (PA3) -> Աջ կոճակի Pin 14 (PA4) -> Ընտրեք կոճակ Pin 13 (PA5) -> Start կոճակ Pin 12 (PA6) -> A կոճակ Pin 11 (PA7) -> B կոճակ Pin 6 (GND) -> I2C արական քորոց գլխագիծ 4 Pin 5 (Vcc) -> I2C արական քորոց գլխագիծ 3 Պին 3 (SCL) -> I2C արական քորոց վերնագրի քորոց 1 Պին 1 (SDA) -> I2C արական քորոց գլխագիծ քորոց 2
Քայլ 19. Համագումար Մաս 2



Հետևեք վիդեո քայլերին ՝ ծածկը և I2C խաղատախտակը հիմնական մարմնին տեղադրելու համար:
Քայլ 20: Լրացուցիչ. Աուդիո անջատման կապում



ESP32 dev board Pin 25 և 26 թողարկում է անալոգային աուդիո ազդանշան, շատ հեշտ է ճեղքել այս երկու կապում, ինչպես նաև վերևի հոսանքի (3.3 V և GND) կապերը: Այնուհետև կարող եք կարկատել ականջակալը ՝ այն միացնելու համար: Կամ նույնիսկ դուք կարող եք ձայնային ուժեղացուցիչի մոդուլ ավելացնել բարձրախոսով `այն բարձրաձայն նվագելու համար:
Քայլ 21. Ի՞նչ է հաջորդը:

NES emulator- ը միակ հետաքրքիր բանը չէ, որ կարող եք պատրաստել ESP32- ով: Օրինակ ՝ դրա հետ կարող եք կառուցել միկրո պիթոնի վահանակ: Միակ բաղադրիչը, որը պետք է փոխեք, I2C gamepad- ից I2C ստեղնաշարն է: Կարծում եմ, որ դա այնքան էլ դժվար չէ ATtiny88 կարգավորիչով պատրաստել: Դուք կարող եք հետևել իմ Twitter- ին ՝ կարգավիճակը տեսնելու համար:
Խորհուրդ ենք տալիս:
DIY Handheld Game Console օգտագործելով RetroPie: 7 քայլ

DIY Handheld Game Console օգտագործելով RetroPie: Դիտեք վերը նշված տեսանյութը ՝ այս նախագիծն ավելի լավ հասկանալու համար: Լավ It’sամանակն է սկսել ձեզ: Առաջին հերթին, մենք պատրաստվում ենք օգտագործել RetroPie: Սա մեզ թողնում է երկու տարբերակ. Եթե մենք արդեն տեղադրել ենք Raspbian- ը մեր SD քարտի վրա, ապա կարող ենք տեղադրել RetroP
DIY Raspberry Pi Zero Handheld Game Console: 6 քայլ (նկարներով)

DIY Raspberry Pi Zero Handheld Game Console: Այս նախագծում ես ձեզ ցույց կտամ, թե ինչպես եմ օգտագործել Raspberry Pi Zero, NiMH մարտկոցներ, տնական գերբեռնվածության պաշտպանության միացում, հետևի LCD և աուդիո ուժեղացուցիչ ՝ ձեռքի խաղային վահանակ ստեղծելու համար, որը կարող է խաղալ: ռետրո խաղեր: Եկեք սկսենք
GamePi - Handheld Emulator Console: 17 քայլ (նկարներով)

GamePi - Handheld Emulator Console: Ներածություն. Այս հրահանգը նկարագրում է Raspberry Pi 3 սնուցվող ձեռքի էմուլյացիայի վահանակի կառուցվածքը. Ես այն մկրտել եմ GamePi: Կան շատ նման հրահանգներ նման սարքերի համար, բայց իմ ճաշակի համար դրանցից շատերը կամ չափազանց մեծ են, շատ փոքր են, շատ
1963 Pi Tourer Game Console: 9 քայլ (նկարներով)

1963 Pi Tourer Game Console. Սա 1963 թվականի Sky Tourer մեքենայի ռադիոկայանն է, որը ես վերածել եմ հարմար շարժական ռետրո խաղային վահանակի: Այն ունի ներկառուցված Raspberry Pi 3, 6 արկադային կոճակներով և ջոյստիկով, որոնք վերահսկում են այդ խաղողի բերքահավաքի RetroPie սպիրտները Picade կառավարման տախտակի միջոցով: The
Arduino Pocket Game Console + A -Maze - Maze Game: 6 քայլ (նկարներով)

Arduino Pocket Game Console + A -Maze - Maze Game. Բարի գալուստ իմ առաջին ուսանելի: Նախագիծը, որը ես ուզում եմ այսօր կիսել ձեզ հետ, Arduino լաբիրինթոս խաղն է, որը դարձավ գրպանի մխիթարիչ, նույնքան ունակ, որքան Arduboy- ն և Arduino- ի վրա հիմնված նման կոնսուլները: Այն կարող է շողշողալ իմ (կամ ձեր) ապագա խաղերով ՝ շնորհիվ ցուցահանդեսի