Բովանդակություն:
- Քայլ 1: Անհրաժեշտ սարքավորումներ
- Քայլ 2. Blackbox- ի դիագրամ/վերջնական վիճակի մեքենա
- Քայլ 3: BlackBox թվային ժամացույց
- Քայլ 4: Բաղադրիչներ միասին և նկարագրություն
- Քայլ 5: Կոդ
- Քայլ 6: Ապագա փոփոխություններ
- Քայլ 7: Եզրակացություն
- Քայլ 8
Video: Motion Sensor Lights Basys3: 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Թվային դիզայնի մեր վերջին նախագծի համար մենք որոշեցինք շարժման տվիչների լույսերի մոդելավորումը: Նրանք ակտիվանում են ոչ միայն այն ժամանակ, երբ օբյեկտը մոտ է դրան, այլև ակտիվանում են միայն օրվա որոշակի ժամին: Մենք կարող ենք դա մոդելավորել ՝ օգտագործելով FPGA (Basys3 տախտակ): FPGA- ի օգտագործման ընթացքում մենք թույլ տվեցինք օգտագործողին մուտքագրել մի ժամանակ, երբ շարժման տվիչները կարող են սկսել ակտիվանալ, այնուհետև սենսորները ազդանշան կուղարկեն ՝ կախված այն սենսորից, որը այդ սենյակում կամ տարածքում միացնել այդ հատուկ լույսը: Մենք սա մոդելավորեցինք ՝ թույլ տալով տվյալ պահին ակտիվացնել միայն մեկ շարժման տվիչ և համապատասխանաբար միացնելով տվյալ լույսերը: Timeամանակի սահմանափակման պատճառով մենք չենք կարողանում այնպես անել, որ օգտագործողի կողմից մուտքագրված ժամանակը ազդի շարժման տվիչի ակտիվացման վրա: Այնուամենայնիվ, մեր տրամաբանության հիմքը պետք է թույլ տա որևէ մեկին հեշտությամբ կրկնել և կատարելագործել այն:
### Ստորև բերված հղումը ցույց է տալիս Նախագծի տեսանյութը
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing
Քայլ 1: Անհրաժեշտ սարքավորումներ
Այս նախագծի համար ձեզ հարկավոր կլինի հետևյալը.
-Basys3 խորհուրդ
-USB- ից microusb մալուխ
-8 breadboard jumper լարեր
-Գրատախտակ
-2 ցրված LED
Քայլ 2. Blackbox- ի դիագրամ/վերջնական վիճակի մեքենա
Սև արկղի այս դիագրամը ցույց է տալիս լուսադիոդային լույսերը միացնելու համար անհրաժեշտ մուտքերը: The Hour input և Min մուտքերը ներկայացնում են այն ժամանակը, որը օգտագործողը մուտքագրել է basys3 տախտակին (օգտագործելով անջատիչներ): Ինչ վերաբերում է sw- ի մուտքին, ապա այն ներկայացնում է, թե սենյակի որ մասում է գտնվում օգտվողը (կրկին օգտագործելով անջատիչները `գտնվելու վայրը պատկերող օբյեկտը ներկայացնելու համար):
FSM- ը ցույց է տալիս սենյակի մեկ տարածքից մյուս տարածքի անցումը, որտեղ օբյեկտը գտնվում է տվյալ պահին: Տարբեր սենյակներում կան 4 տարբեր սենսորներ, որոնք ներկայացված են որպես (s1, s2, s3, s4): Որոնք են վերահսկում ելքերը, կամ լույսերը տարբեր սենյակներում, օրինակ ՝ լույսը (L1, L2, L3): Սենսորների նախնական վիճակը ոչ ոքի չի հայտնաբերում, ուստի բոլոր լույսերն անջատված են: Հաջորդ վիճակ (1 -ին վիճակ) տեղափոխվելու համար s1- ը պետք է ինչ -որ մեկին հայտնաբերի, s2- ը, s3- ը և s4- ը անջատված կլինեն: Սա կհանգեցնի L1 (միացրեք լույս 1), L2 և L3 անջատված կլինեն: 1 վիճակից 2 -րդ վիճակի անցնելու համար s1, s3 և s4- ը պետք է անջատված լինեն, s2- ը ՝ միացված: Սա կմիացնի L1 և L2- ը: Այս վիճակից հաջորդ վիճակի անցնելու համար s3- ը պետք է միացված լինի և մնացած բոլոր տվիչներն անջատված: Սա կմիացնի L2- ը և L3- ը, L1- ը անջատված կլինի: Վերջնական վիճակին անցնելու համար S4- ը պետք է միացված լինի, իսկ մնացած բոլոր տվիչները `անջատված: Սա կմիացնի միայն L3- ը, մնացած բոլոր լույսերը կանջատվեն: Եթե մարդը մտնում է սենյակ s4 կողմից և դուրս գալիս s1- ից, բոլոր քայլերը կլինեն հակառակ կարգով:
Քայլ 3: BlackBox թվային ժամացույց
Մեր ստեղծած թվային ժամացույցի նպատակն այն է, որ սենսորների լույսերը չակտիվացվեն ցերեկը և աշխատեն միայն այն ժամանակ, երբ օգտագործողը մուտքագրում է: Թվային ժամացույցը տևում է ժամ ՝ մուտքագրման մեջ և mins_in ՝ օգտագործելով basys3 տախտակի անջատիչները, և որպեսզի այն կարողանաք բեռնել տախտակի վրա, պետք է սեղմել (led_btn), որպեսզի այն ցուցադրվի տախտակի վրա: Մենք նաև ավելացրեցինք վերակայման կոճակը (rst_b), որպեսզի կարողանաք նորից վերբեռնել այլ ժամանակ: Քանի որ basys3- ն բավականաչափ տարածք ունի տեղեկատվության 3 տարբեր դեպքեր ցուցադրելու համար, մենք վայրկյաններն իրականացրեցինք հետին պլանում: Այդ նպատակով մենք իրականացրեցինք վայրկյանների անջատիչ, այնպես որ այն ժամանակի ընթացքում միայն կավելանա, երբ օգտագործողը որոշի միացնել (e_sec) մուտքը basys3 տախտակի վրա: Ներքին շրջանակի աշխատանքը թվային ժամացույցի ներսում կազմված է մատիտից, որոնք պահում են մուտքագրված ժամանակը և հաշվիչներից, որոնք ավելացնում են այն ժամանակը, երբ օգտվողը մուտքագրում է միայն այն ժամանակ, երբ (e_sec) միացված է: Մենք կավելացնենք ծածկագիրը, որպեսզի կարողանաք տեսնել, թե ինչպես է այն ճշգրտորեն իրականացվել:
Քայլ 4: Բաղադրիչներ միասին և նկարագրություն
Վերոնշյալ նկարները ցույց են տալիս, թե ինչպես են բաղադրիչները միացված միմյանց: Այն սկսվում է ՝ մուտքագրելով ժամեր և րոպեներ: Այդ մուտքերից ստացվող ազդանշաններն ուղարկվում են հաշվիչ ժամին և հաշվիչ րոպեներին, որտեղ այն հավաքում է բիթերը և հաշվիչների ելքային ազդանշանն ուղարկվում է SSEG բաղադրիչին, որտեղ բիթերը փոխակերպում է հատուկ նիշերի, որոնք կցուցադրվեն basys3 տախտակին: Այնուամենայնիվ, հաշվիչներից ստացվող ազդանշանը չի ուղարկվի SSEG բաղադրիչին, քանի դեռ օգտվողը չի սեղմել մուտքագրումը (led_btn), դա արվել է, քանի որ մենք չենք ստեղծել FSM թվային ժամացույցի համար: Բացի այդ, մուտքագրված ժամանակը չի ավելանա մինչև մուտքի անջատիչը (e_sec) միացված լինի, քանի որ հակառակ դեպքում վայրկյանների հաշվիչը միշտ կաշխատի հետին պլանում: Երբ հաշվիչի վայրկյանը հասնում է «59» -ի, այն ազդանշան կուղարկի րոպեներին, որպեսզի րոպեներով ավելանա նույնը, քանի որ դա րոպեներից հասնում է ժամերի: Բացի այդ, կան շարժման սենսորների մուտքեր, և ազդանշաններն ուղարկվում են FSM բաղադրիչ, որտեղ այն որոշում է, թե որ վիճակին գնալ ՝ կախված սենսորից: Նրա սկզբնական վիճակն այն է, երբ բոլոր տվիչներն անջատված են: FSM- ի բոլոր նկարագրությունները նկարագրված են 2 -րդ քայլում:
Քայլ 5: Կոդ
Քայլ 6: Ապագա փոփոխություններ
Ապագայում, նախագծի մեջ LED- ների համադրությամբ շարժման սենսորների ավելացումը բարելավում կլինի: Այսպիսով, մենք կարող ենք մեծացնել նախագծի բարդությունը և տեսնել, թե արդյոք կարող ենք ստեղծել շարժման լույսի ժամանակակից տվիչ: Սա ավելի շատ խնդիրներ կստեղծի, քանի որ դուք պետք է մտածեք նաև օբյեկտի հարևանության մասին, որպեսզի լույսերը համապատասխանաբար միանան: Բացի այդ, մյուս բոլոր գործառույթները նախորդում են: Բացի այդ, բարելավելով թվային ժամացույցի գործունակությունը `օգտագործելով FSM- ը` օգտվողին մի քանի վայրկյան սպասելու փոխարեն (e_sec): Թվային ժամացույցի համար FSM- ը նման կլինի շարժման սենսորին:
Քայլ 7: Եզրակացություն
Ընդհանուր առմամբ, այս նախագիծը մեզ օգնեց ավելի լավ հասկանալ, թե ինչպես են գործում վերջնական վիճակի մեքենաները: Բացի այդ, FSM- ի հետ դուք միշտ պետք է հաշվի առնեք, որ դուք պետք է իմանաք, թե ինչ վիճակում եք գտնվում, և երբ եք ցանկանում անցնել այլ վիճակի: Այլ կերպ ասած, դուք պետք է իմանաք, թե որտեղ եք գտնվում տվյալ պահին, և որտեղ կլինեք հետագայում: Հաշվի առնելով, թե որ գործոնները թույլ կտան ձեզ (մուտքերը) փոխվել այլ վիճակի, և ինչ է այն անելու, երբ այն հայտնվի (ելք): Մենք նաև սովորեցինք, թե ինչպես կարելի է տեղեկատվություն պահել basys3- ի տախտակի մեջ `օգտագործելով մատյաններ, որոնք գրանցիչներ են, և ինչպես ավելացնել ժամանակը` օգտագործելով հաշվիչներ, որոնք միավորում են երկուական թվերը միասին:
Քայլ 8
The two_sseg.vhdl = ունիվերսալ_սսեգ_դեկ.վհդ
Ratner, James and Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd
Խորհուրդ ենք տալիս:
Raspberry Pi Motion Sensor IFTTT ՝ 4 քայլ
Raspberry Pi Motion Sensor IFTTT. Բարև: Ես 4 -րդ դասարանցի եմ, և այսօր մենք պատրաստվում ենք պատրաստել IFTTT շարժման ցուցիչ
DIY VR վազքուղի- Basys3 FPGA-Digilent մրցույթ. 3 քայլ
DIY VR վազքուղի- Basys3 FPGA-Digilent մրցույթ. Անկանու՞մ եք կառուցել VR վազքուղի, որի վրա կարող եք գործարկել ձեր աշխատասեղանի ծրագրերն ու խաղերը: Հետո դուք ճիշտ տեղում եք եկել: Պայմանական խաղերում դուք օգտագործում եք մկնիկը և ստեղնաշարը `շրջակա միջավայրի հետ շփվելու համար: Հետևաբար, մենք պետք է ուղարկենք
Ուղեցույց. Ինչպես օգտագործել Mini PIR Motion Sensor HC-SR 505 Arduino UNO- ով. 3 քայլ
Ձեռնարկ. Այս ձեռնարկի վերջում դուք կստանաք համեմատության արդյունք, երբ սենսորը կարող է հայտնաբերել շարժում և չի կարողացել որևէ շարժում հայտնաբերել
VHDL Basys3: Connect 4 Խաղ ՝ 5 քայլ
VHDL Basys3: Connect 4 Խաղ. Ներածություն. Սա Connect 4 թվային տրամաբանական խաղ է, որը նախագծված է VHDL- ով ՝ օգտագործելով Vivado ծրագրակազմը և ծրագրավորված Basys3 տախտակին: Այս նախագծի կառուցումն ու ձևավորումը միջանկյալ է, սակայն նորեկները կարող են պատճենել քայլերը և կառուցել թվային սարք
Հիմնական վայրկյանաչափ ՝ օգտագործելով VHDL և Basys3 տախտակ ՝ 9 քայլ
Հիմնական վայրկյանաչափ ՝ օգտագործելով VHDL և Basys3 տախտակ. Բարի գալուստ ուսանելի, թե ինչպես կառուցել վայրկյանաչափ ՝ օգտագործելով հիմնական VHDL և Basys 3 տախտակները: Մենք ուրախ ենք կիսվել մեր նախագծով ձեզ հետ: Սա վերջնական նախագիծ էր CPE 133 (Թվային ձևավորում) Cal Poly- ում, SLO 2016 թվականի աշնանը: projectրագիրը, որը մենք կառուցում ենք