Բովանդակություն:
- Քայլ 1. Ինչպես կառուցել ձեր սեփական Arduino VGA վահանակը
- Քայլ 2: Այլ հեղինակների խաղեր
- Քայլ 3. Հավելված 1. Լրացուցիչ մանրամասներ Կառավարիչներ կառուցելու մասին
- Քայլ 4. Հավելված 2. Հիշողության սահմանափակումների վերաբերյալ որոշ նկատառումներ
Video: Arduino VGA վահանակ ՝ հինգ խաղով. 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Իմ նախորդ Instructables- ում ես վերարտադրել եմ որոշ ամենահայտնի դասական արկադային խաղերի պարզեցված տարբերակները ՝ մերկ Arduino- ի և մի քանի այլ բաղադրիչների միջոցով: Հետագայում ես նրանցից հինգին միացրի մեկ ուրվագծի մեջ: Այստեղ ես ցույց կտամ, թե ինչպես կարող եք կառուցել մի պարզ մխիթարիչ, որը կարող է խաղալ Pong, Breakout, Bomber, Tetris և նկարչական խաղալիք ՝ ոգեշնչված Etch-a-Sketch- ով: Այս մխիթարիչը կարող է օգտագործվել նաև Snake խաղալու համար, և ևս երկու խաղ ՝ գրված այլ հեղինակների կողմից.
Հիմնական առանձնահատկությունը VGA ազդանշանի ստեղծումն է ՝ շնորհիվ VGAx գրադարանի, ուստի վահանակին անհրաժեշտ է VGA մոնիտոր: Իմ նպատակը, ինչպես միշտ, այն կառուցելուց խուսափելն է «հատուկ բաղադրիչից», ապա ձեզ ոչ մի օժանդակ IC կամ վահան պետք չէ: Միակ բաղադրիչներն են երկու պոտենցիոմետր, հինգ կոճակ, մի քանի ռեզիստոր և DSUB15 (VGA) միակցիչ: Պիեզո բարձրախոսը պարտադիր չէ: Այս էջի նկարներում կարող եք տեսնել, թե ինչ տեսք ունեն այս խաղերը:
VGAx գրադարանը թույլ է տալիս օգտագործել չորս գույն ՝ 120 x 60 պիքսել թույլատրությամբ, ոչ շատ, բայց բավական այս retro-game մխիթարիչի համար: Գրաֆիկը հում է, բայց պոտենցիոմետրերի օգտագործման շնորհիվ խաղերը սահուն են ընթանում: Հասանելի են նաև պարզ ձայնային էֆեկտներ:
Քայլ 1. Ինչպես կառուցել ձեր սեփական Arduino VGA վահանակը
Նախ ներբեռնեք ArduinoVGAgame.ino և/կամ Snake.ino ծածկագրերը այս էջի ներքևում և պատճենեք դրանք ձեր համակարգչում ՝ նույն անունով գրացուցակում: Ներբեռնեք VGAx գրադարանը այս հղումից GitHub- ում: Ամենահեշտ ձևն այն պատճենել է Arduino ծրագրային ենթապանակում ՝ «գրադարաններ» անունով, որպեսզի անմիջապես ճանաչվի:
ԿԱՐԵՎՈՐ. Այս գրադարանը աշխատում է Arduno IDE 1.6.4 -ի համար, սակայն այն լիովին համատեղելի չէ ավագ կամ նոր տարբերակների հետ:
Վերբեռնեք կոդը ձեր Arduino տախտակում (ես փորձարկեցի և Uno- ն, և Nano- ն): Availableածր հիշողության մասին նախազգուշացումը նորմալ է: Եթե այլ սխալներ չունեք, ամեն ինչ կարգին է, և դուք կարող եք անմիջապես սկսել ձեր սեփական վահանակի կառուցումը:
Դրա համար ձեզ հարկավոր է.
- an Arduino Uno Rev. 3 կամ Arduino Nano 3.x (ATmega328)
- DSUB15 միակցիչ, այսինքն ՝ VGA կին միակցիչ կամ VGA մալուխ, որը պետք է կտրվի:
- դիմադրողներ ՝ 2 x 68 Օմ և 2 x 470 Օմ և 5 x 1 -ից 2 կՕմ
- երկու 10 կՕմ գծային պոտենցիոմետր (նմանատիպ արժեքները նույնպես լավ են)
- հինգ կոճակ
- ինչ -որ կտոր մալուխ
- մեկ կամ երկու գեղեցիկ տուփ ՝ բոլոր բաղադրիչները դնելու համար:
Ֆակուլտատիվ:
- տախտակ կամ ժապավեն տախտակ
- պիեզո խոսնակ
Սխեմատիկ պատկերը ներկայացված է այս քայլի վերևում ՝ պատրաստի «մխիթարել» -ի օրինակով:
սխեման ցույց է տալիս, թե ինչպես միացնել կոճակը և պոտենցիոմետրը: Ավելի կոնկրետ ՝ անհրաժեշտ է հինգ կոճակ միացնել համապատասխանաբար 5, 10, 11, 12 և 13 կապումներին: Յուրաքանչյուր կոճակի կատարած գործողությունը նկարագրված է սխեմատիկ վերևի աջ աղյուսակում: Ձախ կողմում ցուցադրվում է, թե ինչպես միացնել պոտենցիոմետրը (A1 և A2 կապումներին անհրաժեշտ է երկու պոտենցիոմետր): Բարձրախոսը պետք է միացված լինի անալոգային A0 կապին:
Arduino տախտակը VGA միակցիչով տեղադրեցի փայտե տուփի մեջ, որտեղ պահվում են նաև առաջին նվագարկիչի պոտենցիոմետրը և չորս կոճակները, իսկ երկրորդ նվագարկիչի պոտենցիոմետրը և նրա մեկնարկի կոճակը առանձին և փոքր տուփի մեջ են:
Եթե ձեզ դուր է գալիս այս խաղալիքը և որոշեք այն վերարտադրել, ես գնահատում եմ, եթե մեկնաբանություն գրեք կամ նկար ուղարկեք ստորև բերված մեկնաբանությունների բաժնում:
Քայլ 2: Այլ հեղինակների խաղեր
Սանդրո Մաֆիոդոն վերջերս հրապարակել է BitNinja խաղը: Դուք կարող եք ավելի շատ տեղեկություններ գտնել այստեղ և ներբեռնել կոդը այստեղ:
Իմ վահանակից օգտվելու համար պարզապես պետք է վերափոխել նրա կոդի կոճակը հետևյալ կերպ.
#սահմանի BTN_UP 11 (13 -ի փոխարեն)
#սահմանի BTN_LEFT 10 (12 -ի փոխարեն)
#սահմանի BTN_RIGHT 12 (11 -ի փոխարեն)
Նիկարա Կուրիլևից Ստակերը հասանելի է այստեղ: Լրացուցիչ տեղեկություններ այստեղ:
Կրկին, դուք պետք է վերափոխեք մեկ կոճակ ՝ կոդի տարբեր մասերում. Պարզապես փոխարինեք digitalRead (2) -ը digitalRead- ով (13)
Քայլ 3. Հավելված 1. Լրացուցիչ մանրամասներ Կառավարիչներ կառուցելու մասին
Դուք կարող եք վերահսկիչն իրականացնել տարբեր եղանակներով ՝ կախված առկա նյութից և ձեր ճաշակից:
Ես սիրում եմ դրանք իրականացնել փայտե տուփերով (տե՛ս այս էջի նկարները): Arduino- ի հիմնական տուփ, VGA միակցիչ և առաջին նվագարկիչի կոճակներ և պոտենցիոմետր; երկրորդը (ավելի փոքր) միայն երկրորդ նվագարկիչի կոճակի և անիվի համար (անհրաժեշտ է պոնգի և նկարչական խաղալիքի համար): Մեկ այլ հնարավորություն է ամեն ինչ դնել մեկ ավելի մեծ տուփի մեջ:
Նախ խորհուրդ եմ տալիս միացնել VGA նավահանգիստը: Առաջին և երկրորդ նկարներում կարող եք տեսնել որոշ մանրամասներ. Նշեք կարմիր և կանաչ 470 Օմ երկու դիմադրիչները, որոնք համապատասխանաբար կապված են 6 և 7 կապում, և երկու 68 Օմ ՝ 3 և 9 կապում ՝ հորիզոնական և ուղղահայաց համաժամացման ազդանշանի համար:
Կարող եք ընտրել տարբեր գույների համակցություններ ՝ կախված VGA DSUB15 միակցիչից որ կապում եք, 1, 2 և 3 կապում համապատասխանաբար ներկայացնում են կարմիր, կանաչ, կապույտ (RGB): Ես կապեցի 1 և 2 կապում, ուստի ես ունեմ հետևյալ գունային համադրությունը. (0, 0) = սև; (1, 0) = կարմիր; (0, 1) = կանաչ; (1, 1) = դեղին:
Բոլոր տարբեր հնարավորությունների համար ես առաջարկում եմ կարդալ մանրամասները այն էջում, որտեղ դուք ներբեռնում եք VGAx գրադարանները:
Հենց որ VGA միակցիչը պատրաստ լինի, կարող եք պատրաստել մնացած բոլոր մալուխները կոճակների, անիվների և բարձրախոսի համար (տես նկար 2):
Հիշեք, որ կոճակի յուրաքանչյուր կապում անհրաժեշտ է միացնել գետնին 1 կամ 2 կՕմ ռեզիստորի միջոցով, հակառակ դեպքում, երբ կոճակը բաց է, քորոցի վիճակը կարող է անորոշ լինել: Սա նշանակում է, որ եթե քորոցն անջատված է մնում, դրա վրա կարող եք ունենալ պատահական (ստատիկ) լարում, որը կարող է այն ակտիվացնել: Լրացուցիչ մանրամասնությունների համար տե՛ս այս հրահանգելիքի երկրորդ քայլի սխեման:
Վերջին քայլը ամեն ինչ տեղում ամրագրելն է: Ես օգտագործեցի տաք սոսինձ-ատրճանակ, բայց դուք կարող եք օգտագործել ձեր նախընտրած մեթոդը:
Քայլ 4. Հավելված 2. Հիշողության սահմանափակումների վերաբերյալ որոշ նկատառումներ
Amazingարմանալի է, որ պարզ Arduino- ն ի վիճակի է առաջացնել VGA ազդանշան և այս բոլոր խաղերը միասին: Իսկական շշի պարանոցը SRAM- ի բացակայությունն է: AVR միկրոկառավարիչն ունի ընդամենը 2048 բայթ ՝ փոփոխականները պահելու և շահարկելու համար, իսկ VGAx գրադարանը էկրանի փոփոխականները պահում է 120x60 պիքսելանոց շրջանակային բուֆերում, որտեղ յուրաքանչյուր պիքսելին անհրաժեշտ է 2 բիթ (4 գույն) ՝ ընդհանուր 1800 բայթ: Սա նշանակում է, որ ուրվագծային փոփոխականների համար մնացել է ընդամենը 248 բայթ: Ավելին, իմ փորձից ելնելով, անկայունություններից խուսափելու համար պետք է ազատ թողնել առնվազն 100 բայթ: Օգտագործելով դինամիկ հիշողության 1950 բայթից բարձր, միկրոկոնտրոլերը սկսում է տարօրինակ և անկանխատեսելի վարքագիծ դրսևորել:
Սա նշանակում է, որ բոլոր փոփոխականները պետք է համօգտագործվեն տարբեր խաղերի միջև, և դա դարձնում է կոդը բավականին անընթեռնելի և դժվար կարգաբերելի: Նախորդ էսքիզին միայն «նոր խաղ ավելացնել» հարցը չէ, այլ ամբողջ ծածկագիրը պետք է խորապես փոփոխված և օպտիմիզացված լինի:
Ավելին, ես պետք է օգտագործեի հնարավոր նվազագույն փոփոխական ձևաչափը. Օրինակ, բոլոր կոորդինատների համար ես պետք է օգտագործեի «բայթ» «ինտ» -ի փոխարեն կամ, այլ դեպքերում, ես պետք է նախընտրեի «ինտ» -ը «բոց» -ի փոխարեն:
Ի վերջո, իմ ճանաչումը գնում է Սանդրո Մաֆիոդո կամ Սմաֆեր, VGAx գրադարանի և BitNinja հիանալի խաղի ստեղծող: Առանց այս գրադարանի, այս նախագիծը չէր կարող իրականացվել:
Շնորհակալություն նաև Նիկիտա Կուրիլևին Stacker պարզ, բայց զվարճալի խաղի համար:
Խորհուրդ ենք տալիս:
Հինգ կոկիկ փոքր նախագծեր. 6 քայլ
Հինգ կոկիկ փոքր նախագծեր. Սիրեք միացումներ, որոնք փայլում և աղմուկ են բարձրացնում, երբ երիտասարդներին ցուցադրում եք էլեկտրոնիկա: Այս հինգ սխեմաները, որոնց կառուցումը տևում է ընդամենը մի քանի րոպե, դրանք հեշտությամբ փոփոխվում են ՝ թարթման արագությունը կամ ժամանակը փոխելու համար: Առաջին միացումը
Ardubaby Mini Game Console 500 խաղով ՝ 10 քայլ
Ardubaby Mini Game Console With 500 Games: Credits to the creator (Kevin Bates), Arduboy- ը շատ հաջող 8 բիթանոց խաղային կոնսոլ է: Կային հազարավոր խաղեր, որոնք գրել էր հետաքրքրասերը, ով դրանք ազատորեն կիսում էր Arduboy- ի համայնքային ֆորումում, որպեսզի ավելի շատ մարդիկ կարողանան սովորել կոդավորել: The hardw
Հինգ LED/մարտկոցի կրողներ `5 քայլ
Հինգ LED/մարտկոցի կրողներ. LED- ի և մետաղադրամների մարտկոցի օգտագործումը հիանալի միջոց է նախագծի վրա մի փոքր լույս սփռելու կամ շատ հիմնական էլեկտրոնիկա սովորեցնելու համար: Կան դրանք միասին պահելու մի շարք եղանակներ, այս տեսանյութը և ուսուցանվողը ընդգծում են հինգը: Նյութեր/գործիքներ, որոնք դուք
Հինգ ցենտ թեքության ցուցիչ ՝ 4 քայլ (նկարներով)
Հինգ ցենտ թեքության ցուցիչ. Սա թեքության հիմնական սենսոր է, որը ներշնչված է գնդակի և վանդակի ոճի սենսորներից, բայց 2d- ի փոխարեն `3d- ի: Գրավված նիկելը կապում է զույգ լարերը `կախված սենսորի կողմնորոշումից: Սրանք արագ են կառուցվում և բավականին էժան են. Ես նրանց հետ եկա մի նախագծի համար
Հինգ Վտ 1 LED Բարձր հզորությամբ վերալիցքավորվող լապտեր `7 քայլ
Five Watt 1 LED High Power վերալիցքավորվող լապտեր. Անկախ նրանից, թե ձեզ պարզապես բարձր լապտեր է պետք երկար հեռավորության վրա լուսավորելու համար, լուսարձակը մթության մեջ ձեր հեծանիվը վարելու համար, կամ պարզապես ցանկանում եք գերազանցել մրցակցությունը, սա ձեզ ցույց կտա, թե ինչպես