Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Սև արկղի դիագրամ
- Քայլ 3: Արտաքին խոսնակի միացում
- Քայլ 4: Կառուցվածքային դիագրամ
- Քայլ 5. Սահմանային մեքենայի (FSM) դիագրամ
Video: Մրցակցային ազդանշանային համակարգ `5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Այս նախագծում նախագծված մրցունակ ազդանշանային համակարգը գործում է նմանապես բզզող համակարգերի համար, որոնք օգտագործվում են Գիտական գավաթի տարածաշրջանային և ազգային մրցույթներում: Այս նախագիծը ոգեշնչված էր երեք տարի իմ ավագ դպրոցի գիտական բաժակի թիմի մասնակցությամբ: Մենք միշտ ցանկություն ենք ունեցել վերստեղծել արգելափակման ազդանշանային համակարգը 5 վայրկյան և 20 վայրկյան ժամանակաչափով:
Buխի համակարգի մասին որոշակի պատկերացում կազմելու համար գիտական ամանի բզզոցները ծրագրված են մուտքագրելու առավելագույնը 8 նվագարկիչ (8 առանձին բզզոցներով): Մեկ ազդանշանը սեղմելուց հետո առաջին անձի ազդանշանը կվառվի `նշելու, թե որ խաղացողն է ստանում հարցը: Մնացած խաղացողները «կողպված կլինեն», ինչը նշանակում է, որ նրանց ազդանշանները չեն պատասխանի, մինչև մոդերատորը չվերագործարկի ազդանշանային համակարգը:
Այն բանից հետո, երբ մոդերատորը կկարդա հարցերը, նա կտտացնի կոճակը ՝ հետհաշվարկի ժամաչափը գործարկելու համար, որը կցուցադրվի յոթ հատվածից բաղկացած էկրանին: «Շպրտել» հարցից հետո մոդերատորը կարող է սեղմել աջ կոճակը ՝ հետհաշվարկը սկսելու համար 5 վայրկյանից: Մինչդեռ «բոնուսային» հարցից հետո մոդերատորը կարող է սեղմել ձախ կոճակը ՝ հետհաշվարկը 20 վայրկյանից սկսելու համար: Theամաչափի զրոյին հասնելուց հետո ձայնային ազդանշանը ցույց կտա, որ նվագարկիչի ժամանակը սպառվել է:
Համակարգը և հետհաշվարկի ժամաչափը վերականգնելու համար մոդերատորը կարող է սեղմել կենտրոնական կոճակը: Արգելափակման մեխանիզմը և նվագարկիչի LED- ները վերականգնելու համար 1 և 2 նվագարկիչի անջատիչները պետք է ցածր լինեն:
Քայլ 1: Նյութեր
Ձեզ անհրաժեշտ կլինի հետևյալը.
- Basys3 տախտակ (կամ համարժեք FPGA տախտակ)
- Micro-B USB մալուխ
- Բարձրախոս (ես օգտագործել եմ պասիվ բարձրախոս)
- 2 լար
- PGրագրային ապահովում ՝ FPGA- ի վրա կիրառելու համար (ես օգտագործել եմ Vivado)
- Մրցունակ Buzzer System ֆայլ
Քայլ 2: Սև արկղի դիագրամ
Սև արկղի դիագրամը ցույց է տալիս մուտքերն ու ելքերը, որոնք կօգտագործվեն այս ազդանշանային համակարգում:
ՄԻPՈՆԵՐ:
player1, player2 Այս մուտքերը միացված են Basys3 տախտակի երկու անջատիչին: Հարմարության համար կօգտագործվեն ձախ և աջ անջատիչները:
վերակայում Կենտրոնական կոճակը կօգտագործվի ՝ որպես վերակայման կոճակը ներկայացնելու համար:
count_down_20_sec Ձախ կոճակը կօգտագործվի 20 վայրկյանանոց ժամաչափի կոճակը ներկայացնելու համար:
count_down_5_sec Աջ կոճակը կօգտագործվի 20 վայրկյանանոց ժամաչափի կոճակը ներկայացնելու համար: Ապահովելու համար, որ և՛ 20 վայրկյան, և՛ 5 վայրկյան ժմչփը սկսվում է, պահեք կոճակը մինչև յոթ հատվածի էկրանը ցույց տա ժամաչափը:
CLK FPGA տախտակը կստեղծի ժամացույց, որն աշխատում է 10 նս հաճախականությամբ:
ԵԼՔԵՐ:
բարձրախոս Բարձրախոսի ելքը միացված է արտաքին ազդանշանին կամ բարձրախոսին: Դուք ստիպված կլինեք բարձրախոսը միացնել Basys3 տախտակի JA pmod նավահանգիստներին: Այս քայլը կներկայացվի ստորև:
speaker_LED Այս ելքը միացված է տախտակի կենտրոնում գտնվող LED- ին և պարզապես ցույց կտա, թե երբ է FPGA- ի բարձրախոսների ելքը բարձր: Դուք կարող եք օգտագործել սա ձեր արտաքին բարձրախոսը փորձարկելու համար: Նկատի ունեցեք, որ pmod- ի որոշ նավահանգիստներ կարող են լավ չաշխատել, այնպես որ կարող եք փորձել տարբերները և օգտագործել LED- ը `ստուգելու համար, թե արդյոք բարձրախոսը պետք է միացված լինի:
SEGMENTS Այս ելքը կապված է յոթ հատվածից ցուցադրվող ութ առանձին հատվածների հետ, ներառյալ տասնորդական կետը:
DISP_EN Այս ելքը միացված է յոթ հատվածի ցուցադրման չորս անոդներին:
player_LED Այս ելքը 2 փաթեթային ազդանշան է, որը միացված է player1 և player2 անջատիչների վերևում գտնվող LED- ներին: Առաջին նվագարկիչը, որը կշրջի համապատասխան անջատիչը, նշված կլինի LED- ով: Նկատի ունեցեք, որ երկու LED- ները չեն կարող միաժամանակ միացված լինել:
Քայլ 3: Արտաքին խոսնակի միացում
Արտաքին խոսնակը Basys3 տախտակին միացնելու համար վերցրեք ձեր երկու լարերը և ամրացրեք դրանք, ինչպես նշված է վերևում նկարում: Սպիտակ գիծը բարձրախոսի բացասական տերմինալը միացնում է գրատախտակին տեղադրված գետնին: Կարմիր գիծը միացնում է բարձրախոսի դրական տերմինալը տախտակի վրա տեղադրված JA10 pmod նավահանգստին:
Սահմանափակումների ֆայլը նախագծված է այնպես, որ JA1- ից JA10 ցանկացած նավահանգիստ պետք է աշխատի: Այնուամենայնիվ, տախտակի որոշ կապումներն անարձագանք են, այնպես որ, եթե JA10- ը չի գործում, կարող եք փորձել մյուս նավահանգիստները:
Քայլ 4: Կառուցվածքային դիագրամ
Վերոնշյալ պատկերը ցույց է տալիս մրցունակ ազդանշանային համակարգի կառուցվածքային դիագրամը `ներառելով հիմնական մոդուլը կազմող բոլոր բաղադրիչները: Նրանց նկարագրությունները հետևյալն են.
player_lockout_LED1 Նվագարկիչի արգելափակման LED բաղադրիչը վերջավոր վիճակի մեքենա է, որն օգտագործում է մեկանգամյա տաք կոդավորում: Այն ունի չորս մուտք ՝ player1, player2, reset և CLK: Այն պարունակում է 2-բիթանոց ելքային նվագարկիչ_LED: Player_lockout_LED1 բաղադրիչի մուտքերն ու ելքերը բոլորը ուղղակիորեն կապված են հիմնական մոդուլի նույնանման մուտքերի և ելքերի հետ:
buzzer_tone1 Ազդանշանի բաղադրիչը հիմնված է ֆորումում տեղադրված այս ծածկագրի վրա
stackoverflow.com/questions/22767256/vhdl-… Այնուամենայնիվ, այն փոփոխվել է ՝ 440 Հց հաճախականությամբ անընդհատ ձայն թողնելու համար (նշում): Միացման մուտքը միացված է buzzer_enable ազդանշանին, որը down_counter_FSM1 բաղադրիչի ելքն է:
clk_div1 clockամացույցի բաժանարար բաղադրիչը պրոֆեսոր Բրայան Միլիի ժամացույցի բաժանարարի փոփոխված տարբերակն է, որը տրամադրված է PolyLearn- ում: Այն դանդաղեցնում է ժամացույցը, ուստի ելքի ժամանակահատվածը 1 վայրկյան է:
down_counter_FSM1 Ստորին հաշվիչը FSM է, որը նախատեսված է զրոյական հաշվարկի համար: Սկսման երկու հնարավոր ժամանակը 20 կամ 5 է, որն ընտրվում է օգտվողի կողմից: Այն թողնում է «1», երբ ժամաչափը հասել է զրոյի ՝ նշելով, որ ժամանակը սպառվել է: Այս ելքը գործում է որպես ազդանշանային ազդանշանային բաղադրիչի միացման հնարավորություն: Հաշվիչը նաև թողարկում է 8-բիթանոց կապի ազդանշան, որն ուղարկում է 8-բիթանոց BCD, որն ուղարկվում է հատվածի ապակոդավորիչին: Մեկ այլ ելք է counter_on- ը, որը նույնպես միացված է հատվածի ապակոդավորման վավեր մուտքին:
sseg_dec1 Յոթ հատվածի ապակոդավորման բաղադրիչը տրամադրված է PolyLearn- ում և գրվել է պրոֆեսոր Բրայան Միլի կողմից: Այն օգտագործում է BCD մուտքագրումը, որը տրամադրվում է down_counter_FSM1- ով և թողարկում է տասնորդական համարժեքը յոթ հատվածի ցուցադրման վրա: Երբ հաշվիչը միացված է, ապա վավեր մուտքագրումը բարձր է: Սա թույլ է տալիս ապակոդավորիչին ցուցադրել տասնորդական թիվը յոթ հատվածից բաղկացած էկրանին: Երբ հաշվիչը անջատված է, ապա վավեր մուտքագրումը ցածր է: Յոթ հատվածից բաղկացած ցուցադրումը այնուհետև ցույց կտա միայն չորս գծիկ:
Քայլ 5. Սահմանային մեքենայի (FSM) դիագրամ
Սահմանափակ վիճակի մեքենայի զգայունության ցանկը ներառում է player1, player2, reset և ժամացույցը: FSM- ի ելքը 2-բիթանոց փաթեթ է ՝ player_LED, որը միացված է երկու LED- ին Basys3 տախտակի վրա: Վերջնական վիճակի մեքենան ցույց է տալիս հետևյալ երեք վիճակը.
ST0- ը մեկնարկային վիճակն է: Այս վիճակում երկու LED- ները անջատված են: FSM- ն կմնա այս վիճակում, եթե և player1- ը, և player2- ը ցածր են: Ասինխրոն վերակայումը նույնպես կարգավորում է ST0- ի վիճակը: Երբ player1 անջատիչը սահմանվում է բարձր, հաջորդ վիճակը կլինի ST1- ը: Եթե player2 անջատիչը բարձր է, հաջորդ վիճակը կլինի ST2- ը:
ST1- ն այն վիճակն է, որի համար միացված է player1 LED- ը: FSM- ն այս վիճակում կմնա ցանկացած ներդրման համար: Սա նշանակում է, որ նույնիսկ այն դեպքում, երբ player2 անջատիչը բարձր է դրված player1 անջատիչի բարձր լինելուց անմիջապես հետո, այն կմնա ST1- ում: Միայն ասինխրոն վերականգնումը կարող է հաջորդ վիճակը կարգավորել ST0- ի վրա:
ST2- ը այն վիճակն է, որի համար միացված է player2 LED- ը: Նման ST! - ի, FSM- ն այս վիճակում կմնա ցանկացած մուտքի դեպքում, նույնիսկ երբ player1 անջատիչը բարձր է դրված player2 անջատիչի բարձր լինելուց անմիջապես հետո: Կրկին, միայն ասինխրոն վերակայումը կարող է հաջորդ վիճակը կարգավորել ST0- ի վրա:
Խորհուրդ ենք տալիս:
M5StickC-ESP32 Mini PIR ազդանշանային համակարգ `7 քայլ
M5StickC-ESP32 Mini PIR ազդանշանային համակարգ. Այս նախագծում մենք կսովորենք, թե ինչպես կատարել մինի ահազանգի նախազգուշացում `օգտագործելով մինի PIR տվիչ և M5StickC ESP32 տախտակ: Դիտեք տեսանյութը:
DIY շարժման հայտնաբերման SMS ազդանշանային համակարգ. 5 քայլ (նկարներով)
DIY Motion Detection SMS ազդանշանային համակարգ. Այս նախագծում ես կհամատեղեմ էժան PIR շարժման տվիչը TC35 GSM մոդուլի հետ `ահազանգման համակարգ կառուցելու համար, որը ձեզ կուղարկի " ՆԵՐRԱՈ ALԹՅՈERՆ ՏԵERԵԿՈԹՅՈՆ " SMS, երբ ինչ -որ մեկը փորձում է գողանալ ձեր իրերը: Եկեք սկսենք
Լազերային անվտանգության ազդանշանային համակարգ (DUAL MODE) `5 քայլ
Լազերային անվտանգության ազդանշանային համակարգ (DUAL MODE). Երբ ինչ -որ բան վերաբերում է անվտանգությանը, մենք անպայման կարիք ունենք որևէ հիմնավոր գաղափարի, և այս դեպքում լազերային անվտանգության ահազանգը տան մեջ շատ հեշտ ձևով ստեղծելու լավագույն տարբերակն է: Այսպիսով, այս ձեռնարկում մենք սովորելու ենք, թե ինչպես այս նախագիծը դարձնել շատ հեշտ եղանակով, երբ
Տրանսպորտային միջոցների կայանման ազդանշանային համակարգ PIR սենսորի միջոցով- DIY. 7 քայլ (նկարներով)
Տրանսպորտային միջոցների կայանման ազդանշանային համակարգ ՝ օգտագործելով PIR սենսոր- DIY. Երբևէ դժվարությա՞մբ եք բախվել մեքենայի, մեքենայի, բեռնատարի, մոտոցիկլետի կամ որևէ մեքենայի կայանման ժամանակ, այնուհետև այս հրահանգով ես ձեզ ցույց կտամ, թե ինչպես հաղթահարել այս խնդիրը մեքենայի կայանման պարզ ազդանշանի միջոցով: համակարգ, որն օգտագործում է PIR տվիչ: Այս համակարգում, երբ
2 խաղացողի մրցակցային VS ժամանակային խաղ. 4 քայլ
2 Խաղացողի մրցակցային VS ժամանակային խաղ. Ձեզ հարկավոր կլինի. 1.Digilent Basys 3, FPGA Board (կամ որևէ այլ FPGA,) 2. Vivado- ի կամ այլ VHDL միջավայրի համեմատաբար արդիական տարբերակ 3: Համակարգիչ, որը կարող է գործարկել նշված ծրագիրը