Բովանդակություն:

Շարժման գործարկվող լույսեր `5 քայլ
Շարժման գործարկվող լույսեր `5 քայլ

Video: Շարժման գործարկվող լույսեր `5 քայլ

Video: Շարժման գործարկվող լույսեր `5 քայլ
Video: ANPIVIZ-ի տեսախցիկը ՇՈԿՎԱԾ Է գիշերային նկարով!!! Hikvision-ի 100% փոխարինում 2024, Նոյեմբեր
Anonim
Շարժման գործարկվող լույսեր
Շարժման գործարկվող լույսեր

Այս ուղեցույցը ցույց կտա ձեզ, թե ինչպես օգտագործել FPGA- ն ՝ շարժման սենսոր ստեղծելու համար, որն առաջացնում է տարբեր գույնի լույս, քանի դեռ կա շարժում: Կարմիր, կապույտ և կանաչ մակարդակները վերահսկվում են ՝ յուրաքանչյուր առանձին գույնի արժեք սահմանելով: Այս նախագիծը ստեղծվել է Timmy Nguyen- ի և Ryan Luke- ի կողմից CPE 133 դասի եզրափակիչ ծրագրի համար:

Քայլ 1: Մասեր

Մասեր
Մասեր
Մասեր
Մասեր
Մասեր
Մասեր
Մասեր
Մասեր

Հավաքեք հետևյալ մասերը.

-1 Basys 3 FPGA տախտակ

-1 տախտակ

-1 RGB անալոգային LED

-3 npn/n-channel ՄՈՍՖԵՏ

-1 220 օմ դիմադրություն

-1 PIR շարժման տվիչ

-բազմաթիվ jumper մալուխներ

Քայլ 2. Programրագրեք FPGA Basys 3 -ը

Programրագրեք FPGA Basys 3 -ը
Programրագրեք FPGA Basys 3 -ը

Այս նախագծի համար մենք օգտագործում ենք Pulse Width Modulation (PWM) ՝ RGB LED լուսավորության և գույնի վերահսկման համար, որը միանում և անջատվում է ՝ հիմնված PIR տվիչի շարժման ելքի վրա: Եթե սենսորը հայտնաբերում է շարժումը, LED- ը կմիանա մոտ 4 վայրկյան, ինչը սենսորի գործառույթն է:

Այս ծրագրի համար անհրաժեշտ բոլոր ֆայլերը ներառված են այս բաժնում:

Մոդուլներ:

Ockամացույցի բաժանարար. The Basys 3 -ի ինքնաթիռի ժամացույցը ունի 100 ՄՀց հաճախականություն, ուստի մենք ցանկանում ենք այդ հաճախականությունը իջեցնել մինչև 10 ԿՀց `հաշվիչում այն ավելի լավ կառավարելու համար:

Հաշվիչ. Հաշվիչը օգտագործում է նվազեցված 10 ԿՀց հաճախականությունը որպես մուտք և հաշվում է մինչև 255, երբ այն միացված է շարժման սենսորով:

3 D Flip Flops. Օգտատերը կթափի տախտակի 8 անջատիչների ցանկացած բազմազանություն, և այդ մատնահետքերը, երբ միացված լինեն այդ մատնահետքի միացման կոճակի սեղմումով, անջատիչների արժեքը կպցնի համեմատիչի մեջ: Այս փակված արժեքը որոշելու է LED- ին անցնող ելքային ազդանշանի աշխատանքային ցիկլը կամ զարկերակի լայնությունը:

3 Համեմատիչներ. Հաշվիչից 8 բիթանոց ելքը առանձին գնում է համեմատիչներից յուրաքանչյուրին և համեմատվում է մատուռի 8 բիթանոց ելքի հետ: Եթե հաշվիչի ելքը փոքր է D Flip Flop- ի կողպված արժեքից, ապա համեմատիչը դուրս կբերի մեկ բիթանոց Բարձր արժեք; եթե հաշվիչի ելքը ավելի մեծ է, քան կողպված արժեքը, ապա համեմատիչը դուրս կբերի մեկ բիթ ցածր արժեք: Համեմատողը այնուհետ իր արժեքը դուրս է բերում սենսորային ապակոդավորման մեջ:

3 սենսորային ապակոդավորիչ. Սենսորային ապակոդավորիչը կամ դուրս կբերի համեմատիչի արժեքը, եթե կա սենսորի կողմից հայտնաբերված շարժում (1) կամ ցածր լարման (0), եթե շարժում չկա: Այս ելքերը ուղղակիորեն անցնում են RGB LED- ին:

VHD ֆայլերը ներբեռնելուց հետո

Երբ ֆայլերը ներբեռնվեն և տեղադրվեն նախագծի մեջ, սինթեզեք, իրականացրեք և գրեք նախագծի բիթստրիմը: Այնուհետև միացրեք basys 3 տախտակը և ծրագրավորեք սարքը:

Քայլ 3. Կառուցեք միացում Breadboard- ում

Կառուցեք միացում Breadboard- ում
Կառուցեք միացում Breadboard- ում
Կառուցեք միացում Breadboard- ում
Կառուցեք միացում Breadboard- ում
Կառուցեք միացում Breadboard- ում
Կառուցեք միացում Breadboard- ում

Կարող եք հետևել սխեմատիկ պատկերներին և լուսանկարները ստեղծել միացում: Հիմքերը տարածված են շրջագծի ամբողջ ընթացքում, և լրացուցիչ դիմադրիչներ կարող են շարունակի ավելացվել մոսֆեթների հետ `կարմիր, կապույտ կամ կանաչ ազդանշաններն ավելի թուլացնելու համար:

Քայլ 4. Բաղադրիչները միացրեք Basys 3 տախտակին

Միացրեք բաղադրիչները Basys 3 տախտակին
Միացրեք բաղադրիչները Basys 3 տախտակին
Միացրեք բաղադրիչները Basys 3 տախտակին
Միացրեք բաղադրիչները Basys 3 տախտակին
Միացրեք բաղադրիչները Basys 3 տախտակին
Միացրեք բաղադրիչները Basys 3 տախտակին

Դուք կարող եք օգտագործել սխեմատիկ պատկերը և հղումները լուսանկարներում ՝ ձեր Basys 3 տախտակը հացաթղթին միացնելու համար:

Քայլ 5: Ինչպես օգտագործել

Դուք կարող եք մուտքագրել երկուական արժեք, որը ներկայացված է SW0-SW7 անջատիչներով: Այս արժեքը ստանալուց հետո կարող եք սեղմել BTN_L (կարմիր), BTN_C (կապույտ) և BTN_R (կանաչ) կոճակները `այդ արժեքը կոճակի ընտրած գույնին ամրացնելու համար: Մինչդեռ, շարժման սենսորը LED- ին կհանգեցնի լուսավորել յուրաքանչյուր շարժման ժամանակ:

Խորհուրդ ենք տալիս: