Բովանդակություն:
- Քայլ 1: Անհրաժեշտ սարքավորումներ
- Քայլ 2. Blackbox- ի դիագրամ/վերջնական վիճակի մեքենա
- Քայլ 3: BlackBox թվային ժամացույց
- Քայլ 4: Բաղադրիչներ միասին և նկարագրություն
- Քայլ 5: Կոդ
- Քայլ 6: Ապագա փոփոխություններ
- Քայլ 7: Եզրակացություն
- Քայլ 8
![Motion Sensor Lights Basys3: 8 քայլ Motion Sensor Lights Basys3: 8 քայլ](https://i.howwhatproduce.com/images/001/image-251-94-j.webp)
Video: Motion Sensor Lights Basys3: 8 քայլ
![Video: Motion Sensor Lights Basys3: 8 քայլ Video: Motion Sensor Lights Basys3: 8 քայլ](https://i.ytimg.com/vi/AWfYRzaFyd8/hqdefault.jpg)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
![Շարժման սենսորային լույսեր Basys3 Շարժման սենսորային լույսեր Basys3](https://i.howwhatproduce.com/images/001/image-251-95-j.webp)
![Շարժման սենսորային լույսեր Basys3 Շարժման սենսորային լույսեր Basys3](https://i.howwhatproduce.com/images/001/image-251-96-j.webp)
![Շարժման սենսորային լույսեր Basys3 Շարժման սենսորային լույսեր Basys3](https://i.howwhatproduce.com/images/001/image-251-97-j.webp)
Թվային դիզայնի մեր վերջին նախագծի համար մենք որոշեցինք շարժման տվիչների լույսերի մոդելավորումը: Նրանք ակտիվանում են ոչ միայն այն ժամանակ, երբ օբյեկտը մոտ է դրան, այլև ակտիվանում են միայն օրվա որոշակի ժամին: Մենք կարող ենք դա մոդելավորել ՝ օգտագործելով FPGA (Basys3 տախտակ): FPGA- ի օգտագործման ընթացքում մենք թույլ տվեցինք օգտագործողին մուտքագրել մի ժամանակ, երբ շարժման տվիչները կարող են սկսել ակտիվանալ, այնուհետև սենսորները ազդանշան կուղարկեն ՝ կախված այն սենսորից, որը այդ սենյակում կամ տարածքում միացնել այդ հատուկ լույսը: Մենք սա մոդելավորեցինք ՝ թույլ տալով տվյալ պահին ակտիվացնել միայն մեկ շարժման տվիչ և համապատասխանաբար միացնելով տվյալ լույսերը: Timeամանակի սահմանափակման պատճառով մենք չենք կարողանում այնպես անել, որ օգտագործողի կողմից մուտքագրված ժամանակը ազդի շարժման տվիչի ակտիվացման վրա: Այնուամենայնիվ, մեր տրամաբանության հիմքը պետք է թույլ տա որևէ մեկին հեշտությամբ կրկնել և կատարելագործել այն:
### Ստորև բերված հղումը ցույց է տալիս Նախագծի տեսանյութը
drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing
Քայլ 1: Անհրաժեշտ սարքավորումներ
![Անհրաժեշտ սարքավորումներ Անհրաժեշտ սարքավորումներ](https://i.howwhatproduce.com/images/001/image-251-98-j.webp)
Այս նախագծի համար ձեզ հարկավոր կլինի հետևյալը.
-Basys3 խորհուրդ
-USB- ից microusb մալուխ
-8 breadboard jumper լարեր
-Գրատախտակ
-2 ցրված LED
Քայլ 2. Blackbox- ի դիագրամ/վերջնական վիճակի մեքենա
![Blackbox- ի դիագրամ/վերջավոր վիճակի մեքենա Blackbox- ի դիագրամ/վերջավոր վիճակի մեքենա](https://i.howwhatproduce.com/images/001/image-251-99-j.webp)
![Blackbox- ի դիագրամ/վերջավոր վիճակի մեքենա Blackbox- ի դիագրամ/վերջավոր վիճակի մեքենա](https://i.howwhatproduce.com/images/001/image-251-100-j.webp)
Սև արկղի այս դիագրամը ցույց է տալիս լուսադիոդային լույսերը միացնելու համար անհրաժեշտ մուտքերը: 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 թվային ժամացույց
![BlackBox թվային ժամացույց BlackBox թվային ժամացույց](https://i.howwhatproduce.com/images/001/image-251-101-j.webp)
Մեր ստեղծած թվային ժամացույցի նպատակն այն է, որ սենսորների լույսերը չակտիվացվեն ցերեկը և աշխատեն միայն այն ժամանակ, երբ օգտագործողը մուտքագրում է: Թվային ժամացույցը տևում է ժամ ՝ մուտքագրման մեջ և mins_in ՝ օգտագործելով basys3 տախտակի անջատիչները, և որպեսզի այն կարողանաք բեռնել տախտակի վրա, պետք է սեղմել (led_btn), որպեսզի այն ցուցադրվի տախտակի վրա: Մենք նաև ավելացրեցինք վերակայման կոճակը (rst_b), որպեսզի կարողանաք նորից վերբեռնել այլ ժամանակ: Քանի որ basys3- ն բավականաչափ տարածք ունի տեղեկատվության 3 տարբեր դեպքեր ցուցադրելու համար, մենք վայրկյաններն իրականացրեցինք հետին պլանում: Այդ նպատակով մենք իրականացրեցինք վայրկյանների անջատիչ, այնպես որ այն ժամանակի ընթացքում միայն կավելանա, երբ օգտագործողը որոշի միացնել (e_sec) մուտքը basys3 տախտակի վրա: Ներքին շրջանակի աշխատանքը թվային ժամացույցի ներսում կազմված է մատիտից, որոնք պահում են մուտքագրված ժամանակը և հաշվիչներից, որոնք ավելացնում են այն ժամանակը, երբ օգտվողը մուտքագրում է միայն այն ժամանակ, երբ (e_sec) միացված է: Մենք կավելացնենք ծածկագիրը, որպեսզի կարողանաք տեսնել, թե ինչպես է այն ճշգրտորեն իրականացվել:
Քայլ 4: Բաղադրիչներ միասին և նկարագրություն
![Բաղադրիչներ միասին և նկարագրություն Բաղադրիչներ միասին և նկարագրություն](https://i.howwhatproduce.com/images/001/image-251-102-j.webp)
![Բաղադրիչներ միասին և նկարագրություն Բաղադրիչներ միասին և նկարագրություն](https://i.howwhatproduce.com/images/001/image-251-103-j.webp)
Վերոնշյալ նկարները ցույց են տալիս, թե ինչպես են բաղադրիչները միացված միմյանց: Այն սկսվում է ՝ մուտքագրելով ժամեր և րոպեներ: Այդ մուտքերից ստացվող ազդանշաններն ուղարկվում են հաշվիչ ժամին և հաշվիչ րոպեներին, որտեղ այն հավաքում է բիթերը և հաշվիչների ելքային ազդանշանն ուղարկվում է 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 քայլ Raspberry Pi Motion Sensor IFTTT ՝ 4 քայլ](https://i.howwhatproduce.com/images/001/image-1060-16-j.webp)
Raspberry Pi Motion Sensor IFTTT. Բարև: Ես 4 -րդ դասարանցի եմ, և այսօր մենք պատրաստվում ենք պատրաստել IFTTT շարժման ցուցիչ
DIY VR վազքուղի- Basys3 FPGA-Digilent մրցույթ. 3 քայլ
![DIY VR վազքուղի- Basys3 FPGA-Digilent մրցույթ. 3 քայլ DIY VR վազքուղի- Basys3 FPGA-Digilent մրցույթ. 3 քայլ](https://i.howwhatproduce.com/images/005/image-12116-j.webp)
DIY VR վազքուղի- Basys3 FPGA-Digilent մրցույթ. Անկանու՞մ եք կառուցել VR վազքուղի, որի վրա կարող եք գործարկել ձեր աշխատասեղանի ծրագրերն ու խաղերը: Հետո դուք ճիշտ տեղում եք եկել: Պայմանական խաղերում դուք օգտագործում եք մկնիկը և ստեղնաշարը `շրջակա միջավայրի հետ շփվելու համար: Հետևաբար, մենք պետք է ուղարկենք
Ուղեցույց. Ինչպես օգտագործել Mini PIR Motion Sensor HC-SR 505 Arduino UNO- ով. 3 քայլ
![Ուղեցույց. Ինչպես օգտագործել Mini PIR Motion Sensor HC-SR 505 Arduino UNO- ով. 3 քայլ Ուղեցույց. Ինչպես օգտագործել Mini PIR Motion Sensor HC-SR 505 Arduino UNO- ով. 3 քայլ](https://i.howwhatproduce.com/images/005/image-14193-j.webp)
Ձեռնարկ. Այս ձեռնարկի վերջում դուք կստանաք համեմատության արդյունք, երբ սենսորը կարող է հայտնաբերել շարժում և չի կարողացել որևէ շարժում հայտնաբերել
VHDL Basys3: Connect 4 Խաղ ՝ 5 քայլ
![VHDL Basys3: Connect 4 Խաղ ՝ 5 քայլ VHDL Basys3: Connect 4 Խաղ ՝ 5 քայլ](https://i.howwhatproduce.com/images/005/image-12148-21-j.webp)
VHDL Basys3: Connect 4 Խաղ. Ներածություն. Սա Connect 4 թվային տրամաբանական խաղ է, որը նախագծված է VHDL- ով ՝ օգտագործելով Vivado ծրագրակազմը և ծրագրավորված Basys3 տախտակին: Այս նախագծի կառուցումն ու ձևավորումը միջանկյալ է, սակայն նորեկները կարող են պատճենել քայլերը և կառուցել թվային սարք
Հիմնական վայրկյանաչափ ՝ օգտագործելով VHDL և Basys3 տախտակ ՝ 9 քայլ
![Հիմնական վայրկյանաչափ ՝ օգտագործելով VHDL և Basys3 տախտակ ՝ 9 քայլ Հիմնական վայրկյանաչափ ՝ օգտագործելով VHDL և Basys3 տախտակ ՝ 9 քայլ](https://i.howwhatproduce.com/images/005/image-13382-17-j.webp)
Հիմնական վայրկյանաչափ ՝ օգտագործելով VHDL և Basys3 տախտակ. Բարի գալուստ ուսանելի, թե ինչպես կառուցել վայրկյանաչափ ՝ օգտագործելով հիմնական VHDL և Basys 3 տախտակները: Մենք ուրախ ենք կիսվել մեր նախագծով ձեզ հետ: Սա վերջնական նախագիծ էր CPE 133 (Թվային ձևավորում) Cal Poly- ում, SLO 2016 թվականի աշնանը: projectրագիրը, որը մենք կառուցում ենք