Բովանդակություն:
Video: Arduino Battleship խաղ. 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Հիշում եմ, որ փոքր ժամանակ խաղում էի Battleship Game- ի թղթե և մատիտ տարբերակով: Իրականում, այն գոյություն ունի 1 -ին համաշխարհային պատերազմից սկսած: Ես նաև 1960 -ականների սկզբին ունեի «էլեկտրոնային» տարբերակ, որը կոչվում էր «Sonar Sub Hunt», որն ուներ լույսեր և ձայներ և թաքնված ականներ: Այսօրվա տեսախաղերի չափանիշներով Battleship- ը բավականին ձանձրալի է, բայց ես մտածեցի, որ ամեն դեպքում այն պատրաստելու եմ միայն տեսնելու համար, թե ինչ են մտածում թոռները դրա մասին: Ի վերջո, երբեմն ռետրո կարող է լինել թույն:
Այս նախագծի որոշ հատվածներ կան, որոնք օգտակար կլինեն այլուր, նույնիսկ եթե դուք շահագրգռված չեք Battleship խաղը պատրաստելով: Այն ունի 4-բիթանոց 1602 LCD պարզ 4-բիթ ինտերֆեյս, որը ներառում է որոշակի նիշերի գտնվելու վայրը սահմանելու ռեժիմ: Կա նաև 4x4 անջատիչ մատրիցի վերծանման ինտերֆեյս: Այս երկու ինտերֆեյսերը հասանելի են որպես առանձին ներառված ֆայլեր, այնպես որ դրանք հեշտությամբ փոխադրելի են: Խաղն ունի նաև ձայնային էֆեկտների տարբեր ռեժիմներ և մեկ տրանզիստորային աուդիո ուժեղացուցիչի պարզ միացում:
Քայլ 1: Սարքավորումներ
Այստեղ ներկայացված սխեման մեկ խաղացողի համար է, այնպես որ երկու միավոր պետք է պատրաստվեն: Ստորաբաժանումները շփվում են 3 լարային ինտերֆեյսի միջոցով, որը ներառում է UART TX և RX գծերը և հողալար: Ես ընտրեցի օգտագործել ստանդարտ ստերեո ականջակալների 1/8 դյույմանոց ստանդարտ մալուխ և երկու ծայրերում արական խրոցակներ: RX- ը մեկ տուփից անցնում է մյուս տուփի TX- ին և հակառակը: Դուք կարող եք դա անել ՝ փոխելով տուփի ներսում ականջակալների խցիկին միացված լարերը կամ դրանք կառուցելիս փոխելով տպատախտակին:
Դասական խաղը դրված էր որպես մատրիցա, բայց ես որոշեցի մի պարզ իրականացում կատարել `ցուցադրման համար 1602 LCD- ով: Առաջին տողը ցույց է տալիս խաղացողի նավի գտնվելու վայրը և հակառակորդի հարվածները: Երկրորդ տողը ցույց է տալիս խաղացողի հարվածները և հակառակորդի նավերին ցանկացած հարված: Դա ապահովում է նավերի 16 հնարավոր վայրերը: Նավերի քանակը սահմանվում է ծրագրաշարի մեջ, և ես կամայականորեն ընտրեցի 5 -ը:
Նավի 16 տեղերը հիանալի տեղավորվում են անջատիչի պահանջների հետ, քանի որ այն թույլ է տալիս 4x4 մատրիցա: Առկա են 4x4 մատրիցային անջատիչների բարձիկներ, բայց ես ընտրեցի օգտագործել առանձին անջատիչներ մեկ տողում ՝ գծային ցուցադրմանը համապատասխանելու համար: Այնուամենայնիվ, ես անջատիչները միացրեցի որպես 4x4 մատրիցա, որպեսզի անհրաժեշտ լինի միայն Arduino- ի ութ կապում: Անդրադառնալ անջատիչի էլեկտրագծերի դիագրամին և սխեմային `համապատասխան միացումների համար:
LCD էկրանը միացված է 4-բիթանոց ինտերֆեյսի համար: Ես նաև արտաքին լուսադիոդ ավելացրեցի D13 կապում ՝ նշելու, թե որ խաղացողը պետք է նկարահանի: Սկզբում խաղացողները որոշում են, թե ով է կատարում առաջին կրակոցը, այնուհետև ծրագրաշարը ինքնաբերաբար վերահսկում է խաղի ետ և առաջ:
Ես ուզում էի ավելացնել պարզ ձայնային էֆեկտներ կադրի, պայթյունների, խաղի պատրաստի և հաղթողի/պարտվողի համար: Ես փորձեցի օգտագործել պարզ պիեզո ազդանշան, բայց փոխարենը հայտնվեցի փոքր բարձրախոսով: Բարձրախոսի պահանջած հոսանքը գերազանցում է այն, ինչ Arduino- ն կարող է կարգավորել, ուստի ավելացվել է պարզ տրանզիստորային ուժեղացուցիչ: Ձայնը դեռ հիանալի չէ, բայց ավելի լավ է, քան բզզոցով: Իմ բարձրախոսը 4 օմ է, բայց եթե ունեք 8 օմ, ապա սխեմատիկ դիմադրության դիմադրությունը փոխեք 39 օմից մինչև 33 օմ: Եթե դուք օգտագործում եք պիեզո ազդանշան, ապա պետք է կարողանաք այն քշել անմիջապես Arduino- ի քորոցից, իսկ ահազանգի մյուս կողմը միացված է գետնին:
Ներառված է նաև արտաքին զրոյական անջատիչ և միացված է Arduino- ի գրունտի և «վերակայման» կապի միջև: Դա ապահովում է խաղը վերսկսելու միջոցները:
Քայլ 2: Softwareրագրակազմ
Theրագրային ապահովումն ունի ներառող ֆայլ ՝ իմ LCD ինտերֆեյսի համար, և ես նաև ստեղծեցի ներառման ֆայլ ՝ 4x4 անջատիչի մատրիցային սկանավորման համար: Նախաստորագրումը ստիպում է խաղացողին ընտրել իր նավերի տեղերը, այնուհետև անցնում է «Պատրաստ» վիճակին: Երբ երկու խաղացողներն էլ պատրաստ լինեն, նրանցից մեկը խաղը սկսում է սեղմելով անջատիչը:
Հրաձգության վայրը UART- ի միջոցով փոխանցվում է մյուս խաղացողին, իսկ համապատասխան արդյունքը փոխանցվում է այն կրակողին: Ինչպես արդեն նշվեց, առաջին կադրն անելուց հետո ծրագրակազմը վերահսկում է, թե ով է կատարում հաջորդ կադրը: Նախքան կրակոց փոխանցելը, այն ստուգվում է նախորդ կադրերի վայրերի համեմատ: Եթե այդ վայրն արդեն օգտագործվել է, ապա կրակոցը չի փոխանցվի: «My_Shot» LED- ը որոշում է, թե ում հերթն է: Կա նաև կրակոցի ձայն, որը գեներացվում է վավեր ընտրության համար և պայթյունի ձայն, եթե նավը խփվում է: Ձայնային էֆեկտները բխում են առցանց հայտնաբերված օրինակներից ՝ խաղին համապատասխան փոփոխություններով:
Երբ հակառակորդի նավերը բոլորը խոցված են, յուրաքանչյուր LCD- ում ցուցադրվում է հաղորդագրություն `մեկը` որպես հաղթող, և մեկը `որպես պարտվող: Հաղորդագրության մեջ նշվում է նաև, որ խաղը կարող է վերագործարկվել ՝ սեղմելով վերակայման կոճակը: Կան նաև առանձին ձայնային էֆեկտներ հաղթողի և պարտվողի համար:
Քայլ 3: Էկրանի նկարահանումներ
Ահա մի քանի էկրանի կադրեր խաղից: Ահա այս գրառման համար: Ստուգեք իմ մյուս հրահանգները և նաև իմ կայքը ՝ www.boomerrules.wordpress.com
Խորհուրդ ենք տալիս:
DIY 37 Leds Arduino ռուլետկա խաղ. 3 քայլ (նկարներով)
DIY 37 Leds Arduino Ռուլետկա խաղ. Ռուլետկա կազինո խաղ է, որը կոչվում է ֆրանսերեն բառի անունով, որը նշանակում է փոքրիկ անիվ
3D Maze խաղ Arduino- ի միջոցով. 8 քայլ (նկարներով)
3d Maze Game օգտագործելով Arduino. Բարև ընկերներ, այնպես որ այսօր մենք պատրաստվում ենք լաբիրինթոս խաղ պատրաստել ARDUINO UNO- ի միջոցով: Քանի որ Arduino Uno- ն առավել հաճախ օգտագործվող տախտակն է, դրա հետ խաղեր պատրաստելը շատ թույն է: Այս Ուղեցույցում թույլ է տալիս կատարել լաբիրինթոս խաղ, որը վերահսկվում է ջոյստերի միջոցով: Մի մոռացեք
Ստեղծեք Arduino Simon խաղ 2 րոպեում: 3 քայլ
Ստեղծեք Arduino Simon խաղ 2 րոպեում: NO Jumpers! Լարեր չկան: ՉԻ oldոդման! NO Breadboard. Մտածում է վանդակում: Այսպիսով, դուք ցանկանում եք ցուցադրել ձեր միկրոկառավարիչը ՝ որոշ ծայրամասային մոդելների հետ համադրությամբ, իսկապես արագ, նախքան ընկերների կամ հարազատների ճանապարհը … Միավորե՛ք
Էլեկտրոնային խաղ Tic-Tac-Toe խաղ փայտե տուփի մեջ. 5 քայլ
Էլեկտրոնային խաղ Tic-Tac-Toe- ը փայտե տուփի մեջ
Aruduino LED խաղ Արագ կտտացնելով երկու խաղացողի խաղ. 8 քայլ
Aruduino LED խաղ Արագ սեղմում երկու խաղացողի խաղ. Այս նախագիծը ոգեշնչված է @HassonAlkeim- ից: Եթե պատրաստ եք խորը հայացք նետել, այստեղ կա մի հղում, որը կարող եք ստուգել https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/: Այս խաղը Alkeim's- ի կատարելագործված տարբերակն է: Դա է