Բովանդակություն:
- Քայլ 1: Ակնարկ
- Քայլ 2: Նյութեր
- Քայլ 3: Խաղի պատրաստում
- Քայլ 4: Ապագա փոփոխություններ
- Քայլ 5: Եզրակացություն
Video: Ականահան. 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Մեր CPE 133 եզրափակիչ ծրագրի համար ես և Չեյսը որոշեցինք ստեղծել «Ականահան նավ» խաղ, որն օգտագործում էր կոճակը և մուտքագրում մուտքը Basys-3 տախտակից, ինչպես նաև VHDL կոդից: Խաղի համար ավելի լավ անուն կարող է լինել «Ռուսական ռուլետկա», սակայն մենք ցանկանում էինք ավելի ընտանեկան անունով գնալ: Խաղը ներառում է օգտագործողին սեղմել Basys- ի տախտակի միջին կոճակը ՝ 16 անջատիչներից մեկը պատահականորեն ռումբով «ակտիվ» նշանակելու համար: Երկու խաղացողներ հերթով շրջում են անջատիչները, մեկը մեկից, մինչև խաղացողներից մեկը «ռումբով» շրջում է անջատիչը: Երբ դա տեղի ունենա, յոթ հատվածի ցուցադրումը զգուշացնում է խաղացողներին, որ այդ խաղացողը նոր է պարտվել խաղը:
Քայլ 1: Ակնարկ
Նախագծում օգտագործվել են VHDL մոդուլներից շատերը, որոնք մենք օգտագործել ենք այս եռամսյակի ընթացքում: Bitամացույցի եզրին զուգահեռ օգտագործվել է չորս բիթանոց հաշվիչ `պատահական չորս բիթանոց համարը մոդելավորելու համար` անջատիչներից մեկը ակտիվացնելու համար: Պետական դիագրամ է օգտագործվել նաև յոթ հատվածի ցուցադրման համար տարբեր բառեր մուտքագրելու համար ՝ սկսած «PLAY» - ից, երբ խաղացողները գտնվում են իրենց խաղի միջնամասում, մինչև «LOSE», երբ խաղացողներից մեկը շրջում է ակտիվ անջատիչը:
Քայլ 2: Նյութեր
- Basile3 զարգացման խորհուրդ Digilent, Inc.
- Vivado Design Suite BC_DEC.vhd (Այս ֆայլը տրամադրվել է մեզ Polylearn կայքում և գրվել է Բրայան Միլիի կողմից)
- 4 բիթանոց հաշվիչ ՝ պատրաստված T մատնաշապիկներից
- A FSM
Քայլ 3: Խաղի պատրաստում
Այս խաղը ստեղծելու առաջին քայլը սխեմայի գծապատկեր կազմելն էր այն բոլոր բաղադրիչներով, որոնք մենք կօգտագործենք: Այս համակարգի մուտքերն էին կոճակ 1 -ը, 16 անջատիչը և ժամացույցը: Արդյունքները յոթ հատվածի ցուցադրումն էին և անոդները: Շրջանակային դիագրամը գծելուց հետո մենք Vivado- ի յուրաքանչյուր բաղադրիչի համար գրեցինք առանձին աղբյուրային ֆայլեր և դրանք միասին հավաքեցինք ՝ օգտագործելով հիմնական աղբյուրի ֆայլի տակ գտնվող նավահանգիստների քարտեզները:
Խաղի ամբողջ հիմքը պտտվում է այն բանի շուրջ, որ 16 անջատիչներից մեկը պատահականորեն նշանակում է ռումբով ակտիվ, և խաղացողները չգիտեն, թե որ անջատիչն է ակտիվ, մինչև այդ ակտիվ անջատիչը միացված չլինի: Մենք առցանց ուսումնասիրեցինք պատահական և կեղծ պատահական թվերի գեներատորներ, բայց ի վերջո որոշեցինք, որ 4-բիթանոց հաշվիչ օգտագործելը և համապատասխան անջատիչի ակտիվ լինելը բավական պատահական է այն, ինչ մենք փնտրում էինք: Մենք կարողացանք վերագործարկել մեր 4-բիթանոց հաշվիչը, որը մենք ստեղծել էինք նախորդ նախագծում, որպեսզի կարողանանք աշխատել այս առաջադրանքի համար: Մենք օգտագործեցինք հաշվիչը `0-15-ի միջև պատահական թիվ ստեղծելու համար; ապա հիմնական 1 բաղադրիչում պատահական թվի տասնորդական համարժեքը նշանակեցինք տախտակի համապատասխան անջատիչին: Ինչպես երևում է սխեմատիկայում, և՛ ելքը X («ակտիվ ռումբ») հիմնական 1 բաղադրիչից, և՛ անջատիչները, որոնք խաղացողները միացնում են, անցնում են FSM1: Պետական մեքենան թողարկում է մեկ բիթ Z արժեք, որն այնուհետև կարդում է BC_DEC1- ով: Մեր օգտագործած վերջնական վիճակի մեքենան ունի երկու տարբեր վիճակ. A վիճակում յոթ հատվածի ցուցադրման ելքերը «PLAY» են, և մեքենան մնում է այդ վիճակում, մինչև չճանաչի, որ ակտիվացված անջատիչը շրջված է: Երբ դա տեղի ունենա, FSM- ն անցնում է B վիճակին, որտեղ այն թողնում է «LOSE» յոթ հատվածի ցուցադրման վրա և մնում է այդ վիճակում, մինչև բոլոր 16 անջատիչները շրջվեն դեպի «0»: Երբ այդ պայմանը բավարարվի, FSM- ն մեկ անգամ ևս անցնում է A վիճակին և սպասում խաղացողներին սկսել մեկ այլ խաղ: Մուրի դիագրամը, որն օգնում է հասկանալ այս FSM- ը, ներկայացված է վերևում:
Քայլ 4: Ապագա փոփոխություններ
Մի քանի փոփոխություններ, որոնք մենք հաշվի էինք առնում մեր խաղը կատարելու համար, ներառում են դաշտում ավելի շատ ռումբեր ավելացնելը (հնարավոր է ՝ մեկից երեքի հասցնելը), միավորների հաշվիչ ավելացնելը և մի քանի ռաունդ: Ի վերջո, մենք որոշեցինք դեմ լինել այս բարելավումներին, քանի որ պարզեցինք, որ ավելի երկար, երկարաձգված խաղը սովորաբար ավելի լարված էր և, ի վերջո, ավելի զվարճալի, քան այն խաղը, որը սովորաբար ավարտվում էր երեք կամ չորս անցումներից հետո:
Քայլ 5: Եզրակացություն
Մենք շատ գոհ էինք այս նախագծի վերջնական արդյունքից; ոչ միայն այն պատճառով, որ խաղի վերջնական տարբերակը զվարճալի էր խաղալ, այլև այն պատճառով, որ նախագծի ստեղծումը և ծրագրավորումը մեզանից պահանջում էր օգտագործել առավելագույնը, եթե ոչ այն ամենը, ինչ մենք սովորեցինք այս եռամսյակում: Մենք օգտագործեցինք մատանի, հաշվիչներ, FSM- ներ, ժամացույց, տախտակից օգտագործողի մուտքագրում և ելք դեպի յոթ հատվածի ցուցադրում:
Մենք նաև իմացանք, թե ինչպես մի քանի շարահյուսական սխալներ կարող են ամբողջությամբ կոտրել ծրագիրը (նույնիսկ եթե դրանք լավ համարվեն ծրագրավորման այլ լեզուներում, ինչպիսիք են Python- ը կամ Java- ն) և դա միայն բազմաթիվ սիմուլյացիաներից և կոդի բազմակի կրկնություններից հետո բեռնվել և փորձարկվել տախտակ, վերջապես կկարողանա՞ք ձեր ծածկագրից դուրս հանել բոլոր սխալները:
Խորհուրդ ենք տալիս:
Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi- պատկերիչով և նկարներով. 7 քայլ (նկարներով)
Ինչպես. Raspberry PI 4 Headless (VNC) տեղադրելը Rpi-imager- ով և նկարներով. Ես պլանավորում եմ օգտագործել այս Rapsberry PI- ն իմ բլոգում զվարճալի նախագծերի փունջում: Ազատորեն ստուգեք այն: Ես ուզում էի նորից օգտագործել իմ Raspberry PI- ն, բայց իմ նոր վայրում Ստեղնաշար կամ մկնիկ չկար: Որոշ ժամանակ անց ես ստեղծեցի ազնվամորի
Atari Punk Console With Baby 8 քայլ հաջորդականիչ. 7 քայլ (նկարներով)
Atari Punk Console With Baby 8 Step Sequencer: Այս միջանկյալ կառուցվածքը հանդիսանում է Atari Punk Console- ը և Baby 8 Step Sequencer- ը `բոլորը մեկում: Դուք կարող եք տրորել Bantam Tools Desktop PCB ֆրեզերային մեքենայի վրա: Այն բաղկացած է երկու տպատախտակից ՝ մեկը օգտագործողի միջերեսի (UI) տախտակ է, իսկ մյուսը ՝ կոմունալ ծառայությունների
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. 13 քայլ (նկարներով)
Ինչպես ապամոնտաժել համակարգիչը հեշտ քայլերով և նկարներով. Սա հրահանգ է, թե ինչպես ապամոնտաժել համակարգիչը: Հիմնական բաղադրիչների մեծ մասը մոդուլային են և հեշտությամբ հանվում են: Այնուամենայնիվ, կարևոր է, որ դուք կազմակերպված լինեք դրա վերաբերյալ: Սա կօգնի ձեզ զերծ պահել մասերի կորստից, ինչպես նաև նորից հավաքելիս
Ciclop 3D Scanner My Way Քայլ առ քայլ ՝ 16 քայլ (նկարներով)
Ciclop 3D Scanner My Way Քայլ առ քայլ. Ողջույն, ես գիտակցելու եմ հանրահայտ Ciclop 3D սկաները: Բոլոր այն քայլերը, որոնք լավ բացատրված են սկզբնական նախագծում, ներկա չեն: Ես որոշ շտկումներ կատարեցի ՝ գործընթացը պարզեցնելու համար, նախ Ես տպում եմ հիմքը, իսկ հետո վերականգնում եմ PCB- ն, բայց շարունակում եմ