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

Arduino VGA վահանակ ՝ հինգ խաղով. 4 քայլ
Arduino VGA վահանակ ՝ հինգ խաղով. 4 քայլ

Video: Arduino VGA վահանակ ՝ հինգ խաղով. 4 քայլ

Video: Arduino VGA վահանակ ՝ հինգ խաղով. 4 քայլ
Video: Подключение Arduino к VGA монитора. Ардуино проекты. 2024, Հուլիսի
Anonim
Image
Image
Arduino VGA վահանակ ՝ հինգ խաղով
Arduino VGA վահանակ ՝ հինգ խաղով
Arduino VGA վահանակ ՝ հինգ խաղով
Arduino VGA վահանակ ՝ հինգ խաղով

Իմ նախորդ 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 վահանակը

Ինչպես կառուցել ձեր սեփական Arduino VGA վահանակը
Ինչպես կառուցել ձեր սեփական Arduino VGA վահանակը
Ինչպես կառուցել ձեր սեփական Arduino VGA վահանակը
Ինչպես կառուցել ձեր սեփական 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. Լրացուցիչ մանրամասներ Կառավարիչներ կառուցելու մասին

Հավելված 1. Լրացուցիչ մանրամասներ, թե ինչպես կառուցել վերահսկիչները
Հավելված 1. Լրացուցիչ մանրամասներ, թե ինչպես կառուցել վերահսկիչները
Հավելված 1. Լրացուցիչ մանրամասներ, թե ինչպես կառուցել վերահսկիչները
Հավելված 1. Լրացուցիչ մանրամասներ, թե ինչպես կառուցել վերահսկիչները
Հավելված 1. Լրացուցիչ մանրամասներ, թե ինչպես կառուցել վերահսկիչները
Հավելված 1. Լրացուցիչ մանրամասներ, թե ինչպես կառուցել վերահսկիչները
Հավելված 1. Լրացուցիչ մանրամասներ, թե ինչպես կառուցել վերահսկիչները
Հավելված 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 պարզ, բայց զվարճալի խաղի համար:

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