Բովանդակություն:
- Քայլ 1: Սև արկղի դիագրամ
- Քայլ 2: Դանդաղ ժամացույց
- Քայլ 3: Հակահարված
- Քայլ 4: Counter Hour
- Քայլ 5: Ահազանգ
- Քայլ 6: Universal Seven Segment Display Driver
- Քայլ 7: Կապի ֆայլ
- Քայլ 8: Arduino
- Քայլ 9: Մալուխի երթուղի
![Basys 3 rmարթուցիչ `9 քայլ Basys 3 rmարթուցիչ `9 քայլ](https://i.howwhatproduce.com/images/004/image-11398-5-j.webp)
Video: Basys 3 rmարթուցիչ `9 քայլ
![Video: Basys 3 rmարթուցիչ `9 քայլ Video: Basys 3 rmարթուցիչ `9 քայլ](https://i.ytimg.com/vi/jE5Y349WD1E/hqdefault.jpg)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
![Basys 3 rmարթուցիչ Basys 3 rmարթուցիչ](https://i.howwhatproduce.com/images/004/image-11398-6-j.webp)
Մեր նախագիծը ստեղծում է զարթուցիչ `օգտագործելով Basys 3 FPGA տախտակը, Arduino- ն և բարձրախոսների վարորդական տախտակը: Օգտագործողը կարող է ընթացիկ ժամանակը մուտքագրել տախտակին ՝ օգտագործելով Basys 3 -ի 11 մուտքային անջատիչ և արժեքը կողպել ՝ օգտագործելով տախտակի միջին կոճակը: Այնուհետև օգտվողը կարող է մուտքագրել ահազանգի ժամանակը `օգտագործելով նույն անջատիչները, բայց սեղմել ձախ կոճակը` կողպելու համար ահազանգի ժամանակը: Եթե սխալ ժամանակ է մուտքագրվում, կարող է սեղմվել վերակայման կոճակը (վերևի կոճակը) և ընթացիկ ժամացույցի ժամը և ահազանգի ժամը կդառնա 00:00: Այնուհետև օգտվողը կարող է ժամացույցը միացնել ձախ ձախ անջատիչով և միացնել զարթուցիչը ՝ օգտագործելով հաջորդ անջատիչը: Երբ զարթուցիչը միացված է, զարթուցիչը կհնչի, երբ ժամացույցի ժամը և զարթուցիչի ժամը համընկնում են:
Քայլ 1: Սև արկղի դիագրամ
![Սև արկղի դիագրամ Սև արկղի դիագրամ](https://i.howwhatproduce.com/images/004/image-11398-7-j.webp)
![Սև արկղի դիագրամ Սև արկղի դիագրամ](https://i.howwhatproduce.com/images/004/image-11398-8-j.webp)
Մենք սկսեցինք մեր նախագիծը `նկարելով սև արկղի դիագրամ` մեր ծրագրում անհրաժեշտ մուտքերն ու ելքերը պատկերացնելու համար: Հետևյալ մուտքերը մեր ծրագրի համար, ինչպիսիք են 5-բիթանոց մուտքը (Hour_in), սկզբնավորվել են ՝ 24 ժամ տևողությամբ, 6-բիթանոց (Min_in) մուտքագրումը մինչև 60 րոպե ցուցադրելու համար, վերականգնման (Rst_b) կոճակը ՝ օգտվողին թույլ տալու համար: փոխել ժամանակի մուտքագրումը, 1-բիթանոց մուտքը (alm_en), որը բեռնում է ահազանգի մուտքը, 1-բիթանոց մուտքը (alarm_sw) `զարթուցիչն ակտիվացնելու դեպքում անջատելու համար, 1-բիթանոց մուտքը (e_sec), որը վերահսկում է, երբ հաշվիչը վայրկյանների ընթացքում կգործի ՝ 1-բիթանոց մուտք (Led_btn), որը սահմանում է ընթացիկ ժամանակը, և վերջապես, 1-բիթ մուտքագրում (clk), որը վերահսկում է Basys 3 տախտակի ցուցադրած ժամանակը: Ելքերն են (alm_on), որն ազդանշան է ուղարկում Arduino- ին, sseg ելքը, որը ցուցադրում է մուտքի ժամանակը Basys 3 -ում, և անոդի ելքը, որը վերահսկում է մուտքերի ցուցադրման յոթ հատվածի ցուցադրման վրա:
Քայլ 2: Դանդաղ ժամացույց
![Դանդաղ ժամացույց Դանդաղ ժամացույց](https://i.howwhatproduce.com/images/004/image-11398-9-j.webp)
Դանդաղ ժամացույցը կամ clock_div2 ֆայլը ստեղծում է ժամացույց, որի հաճախականությունը 2 հց է: Եթե մենք այս ժամացույցը սնուցենք մեր վայրկյանների հաշվիչին, վայրկյանների արժեքը կաճի մեկ վայրկյան մեկով: Դանդաղ ժամացույցը օգտագործվում է ժամացույցի հուսալի ազդանշան ստեղծելու համար, որը վայրկյանում մեկ անգամ ցածրից բարձր է փոխվում:
Քայլ 3: Հակահարված
![Հաշվիչ Հաշվիչ](https://i.howwhatproduce.com/images/004/image-11398-10-j.webp)
![Հաշվիչ Հաշվիչ](https://i.howwhatproduce.com/images/004/image-11398-11-j.webp)
Բաղադրիչների հաշվիչ (րոպե և վայրկյան):
Րոպեների և վայրկյանների հիմնական գործառույթն այն է, որ դրանք հաշվիչներ են: Րոպեների հաշվիչը ընդունում է մուտքը (Vin), որը ազդանշան է մուտքերից (Min_in), այնուհետև հաշվում է մինչև հասնի մուտքագրված ցանկալի մուտքին: Վայրկյանները տևում են միայն անջատիչի մուտքը (e_Sec), քանի որ այն չի կարող ցուցադրվել յոթ հատվածում, և հաշվում է հետին պլանում, երբ անջատիչը բարձր է «1»: Նրանք երկուսն էլ այնտեղ թողարկում են (Qout) արժեքը, այնուհետև այն պահվում է (տվյալների) մեջ, որն այն ուղարկում է SSEG, ինչը կատարվում է կապող ֆայլում: Բացի այդ, երբ րոպեներն ու վայրկյանները հասնում են 59 -ի արժեքներին, այն վերակայվում է, և դրանց ելքը «1» է ՝ րոպե/ժամ ավելացնելու համար: Այն նաև կարող է քարտեզագրվել վերաբեռնումով (rst_b) նրանց մուտքերի հետ:
Քայլ 4: Counter Hour
![Counter Hour Counter Hour](https://i.howwhatproduce.com/images/004/image-11398-12-j.webp)
![Counter Hour Counter Hour](https://i.howwhatproduce.com/images/004/image-11398-13-j.webp)
Բաղադրիչի հաշվիչ ժամ
Նմանապես, րոպեների և վայրկյանների բաղադրիչի հաշվիչին, ժամի բաղադրիչն ընդունում է մուտքագրումներ, ինչպիսիք են (Vin), որը ազդանշան է ֆայլերի մուտքը կապելու համար (Hour_in) և ունի ելքեր, որոնք միևնույն կերպ կապված են րոպեների և վայրկյանների հետ: Երբ ժամի հաշվարկային արժեքը հասնում է 24 00 -ի, այն վերակայվում է 00 00 -ի:
Քայլ 5: Ահազանգ
![Alaարթուցիչ Alaարթուցիչ](https://i.howwhatproduce.com/images/004/image-11398-14-j.webp)
![Alaարթուցիչ Alaարթուցիչ](https://i.howwhatproduce.com/images/004/image-11398-15-j.webp)
![Alaարթուցիչ Alaարթուցիչ](https://i.howwhatproduce.com/images/004/image-11398-16-j.webp)
![Alaարթուցիչ Alaարթուցիչ](https://i.howwhatproduce.com/images/004/image-11398-17-j.webp)
Տագնապի.vhd ֆայլը կազմված է d-flip-flops- երից, որոնք պահեստավորման սարքեր են, որոնք կարող են պահել թվային տվյալները: Theարթուցիչի ֆայլը օգտագործվում է այն ժամանակը պահելու համար, երբ ազդանշանը կակտիվանա: Hoursամերի (5 բիթ մուտքագրման) և րոպեների (6 բիթ մուտքագրման) տվյալները պահելու համար մենք պետք է դրոշմենք 11 ահազանգ մեր ահազանգի ֆայլում: Դա անելու համար մենք նախ պետք է ներմուծենք d-flip-flops- ի աշխատանքը կարգավորող տրամաբանությունը և քարտեզագրենք բաղադրիչները: 11 d-flip-flops- ից յուրաքանչյուրը կպահի մուտքի տվյալների մեկ բիթը և թույլ կտա տվյալները քարտեզագրել ահազանգի ֆայլի ելքերին: Քանի որ d-flip-flops- ը պահում է տվյալները, մենք կարող ենք օգտագործել տվյալները ավելի ուշ ժամանակում, նույնիսկ եթե մուտքային անջատիչները փոխվել են:
Քայլ 6: Universal Seven Segment Display Driver
![Universal Seven Segment Display Driver Universal Seven Segment Display Driver](https://i.howwhatproduce.com/images/004/image-11398-18-j.webp)
![Universal Seven Segment Display Driver Universal Seven Segment Display Driver](https://i.howwhatproduce.com/images/004/image-11398-19-j.webp)
![Universal Seven Segment Display Driver Universal Seven Segment Display Driver](https://i.howwhatproduce.com/images/004/image-11398-20-j.webp)
Ունիվերսալ յոթ հատվածի ցուցադրման վարորդն ընդունում է ժամացույցի և ժամացույցի հավաքածուի մուտքերը և կարողանում է դրանք դուրս բերել տախտակի յոթ հատվածի ցուցադրման վրա: Վարորդը կարողանում է գրատախտակին միաժամանակ թողնել երկու առանձին հաշվարկ: Այս գործառույթը մենք օգտագործում էինք ինչպես ժամի, այնպես էլ րոպեի ժամանակը առանձին ցուցադրելու համար: Յոթ հատվածի ցուցադրումը կարող է միաժամանակ ակտիվացնել միայն մեկ թիվ, ուստի sseg ֆայլը պետք է մուլտիպլեքսավորի `ժամանակի բոլոր թվերը միաժամանակ ցուցադրելու համար: Տախտակների ժամացույցի ազդանշանը մտնում է sseg ՝ բազմապատկման ճիշտ ժամանակը պահելու համար: Երկուականից մինչև երկուական կոդավորված տասնորդական կոդավորիչ անհրաժեշտ է ֆայլում մուտքագրումները ձևի վերածելու համար, որը կարող է թողարկվել յոթ հատվածի ցուցադրման վրա: Sseg ֆայլի վերջնական ելքը քարտեզագրվում է յոթ հատվածի ցուցադրման վրա և ճիշտ ժամանակը ցուցադրվում է էկրանին:
Քայլ 7: Կապի ֆայլ
![Հղման ֆայլ Հղման ֆայլ](https://i.howwhatproduce.com/images/004/image-11398-21-j.webp)
![Հղման ֆայլ Հղման ֆայլ](https://i.howwhatproduce.com/images/004/image-11398-22-j.webp)
![Հղման ֆայլ Հղման ֆայլ](https://i.howwhatproduce.com/images/004/image-11398-23-j.webp)
Հղման ֆայլը կապում է ծրագրի բոլոր մյուս ասպեկտները և ազդանշանները քարտեզագրում դրանց ճիշտ տեղադրության հետ: Յուրաքանչյուր բաղադրիչ բերվում և ակնթարթորեն ներկայացվում է ֆայլում: Ազդանշանները օգտագործվում են տվյալները մեկ բաղադրիչից մյուսը փոխանցելու համար: Նավահանգստի քարտեզագրումը կհետեւի վերը թվարկված սեւ արկղերի գծապատկերին: Հղման ֆայլը պարունակում է նաև այն տրամաբանությունը, որը կառավարում է, երբ ազդանշանն ակտիվանում է: Նախագծի մեծ մասն արդեն կավարտվի այս կետով: Մնացած աշխատանքը յուրաքանչյուր ազդանշան ուղղորդում է համապատասխան վայր:
Քայլ 8: Arduino
![Արդուինո Արդուինո](https://i.howwhatproduce.com/images/004/image-11398-24-j.webp)
![Արդուինո Արդուինո](https://i.howwhatproduce.com/images/004/image-11398-25-j.webp)
Արդուինոն օգտագործվում է խոսնակը ակտիվացնելու, ինչպես նաև խոսողի միջոցով նվագարկվող նոտայի տոնայնությունն ու տևողությունը վերահսկելու համար: Արդուինոն թվային ազդանշան է կարդում Basys 3 տախտակից: Երբ այս ազդանշանը բարձր է, arduino- ն կարտադրի PWM ազդանշան, որը վերահսկում է ահազանգի ձայնը և տևողությունը: Արդուինոյից ելքային ազդանշանը միանում է բարձրախոսի վարորդի տախտակի մուտքային ազդանշանին, ինչը մեծացնում է բարձրախոսի ձայնը: Արդուինոն այս գործընթացը շատ արագ է կրկնում վայրկյանում բազմիցս:
Քայլ 9: Մալուխի երթուղի
![Մալուխի երթուղի Մալուխի երթուղի](https://i.howwhatproduce.com/images/004/image-11398-26-j.webp)
Արդուինոյի և Basys 3 տախտակը պետք է ֆիզիկապես միացված լինի տախտակների միջև ազդանշաններ փոխանցելու համար: Մալուխի առաջին մալուխը կլինի JA PMOD- ի Basys 3 -ի հիմնային քորոցից մինչև arduino- ի գրունտային քորոց: Հաջորդը միացրեք մետաղալարը Basis 3 -ի JA PMOD- ի 1 -ին կապից arduino- ի թվային կապին 7 -ին: Հաջորդը, միացրեք երկու գրունտ arduino- ից բարձրախոսի վարորդի գրունտային կապում: Հաջորդը, միացրեք arduino- ի 3.3 Վ ելքը բարձրախոսի վարորդի Vcc կապին: Հաջորդը, arduino- ի թվային կապը միացրեք բարձրախոսի վարորդի In pin- ին:
Խորհուրդ ենք տալիս:
Groundhog Day rmարթուցիչ ՝ 12 քայլ (նկարներով)
![Groundhog Day rmարթուցիչ ՝ 12 քայլ (նկարներով) Groundhog Day rmարթուցիչ ՝ 12 քայլ (նկարներով)](https://i.howwhatproduce.com/images/003/image-8544-j.webp)
Groundhog Day rmարթուցիչ. The Groundhog Day rmարթուցիչը բաղկացած է Panasonic RC-6025 ժամացույցից, որը փոփոխված է, որպեսզի ձայնը հնչի Groundhog Day ֆիլմի ձայնագրության ժամանակ: Երբ ես ստեղծում եմ այս սարքը, դա Groundhog Day- ն է (երկուսն էլ օրը և կինոնկար) անցկացվեց տեխնիկական
Rmարթուցիչ `10 քայլ
![Rmարթուցիչ `10 քայլ Rmարթուցիչ `10 քայլ](https://i.howwhatproduce.com/images/005/image-13526-j.webp)
Rmարթուցիչ. Այս ուղեցույցում ես ձեզ կասեմ, թե ինչպես կառուցել Alarmostat- ը, իմ դպրոցական նախագիծը 1MCT- ի համար Howest- ում: Հայեցակարգը սարքի պատրաստում է, որը մեկում ներառում է և՛ կողոպտիչ ահազանգ, և՛ թերմոստատ: Իմ դիզայնը, անշուշտ, կարող է բարելավվել, այնպես որ դա
Upcycled rmարթուցիչ Smart Light: 8 քայլ (նկարներով)
![Upcycled rmարթուցիչ Smart Light: 8 քայլ (նկարներով) Upcycled rmարթուցիչ Smart Light: 8 քայլ (նկարներով)](https://i.howwhatproduce.com/images/006/image-15744-j.webp)
Upcycled rmարթուցիչ Smart Light. Այս նախագծում ես բարձրացնում եմ ամբողջովին կոտրված քամու զարթուցիչը: Clockամացույցի երեսը փոխարինվում է 12 LED- ով, լուսավորված ժամացույցի եզրով լուսավորված LED շերտով: 12 LED- ները ցույց են տալիս ժամանակը, և LED շերտը ծրագրված է ազդանշանի դեր կատարել ՝ միացնելով
Մահճակալի MP3 rmարթուցիչ terամացույց ՝ 6 քայլ (նկարներով)
![Մահճակալի MP3 rmարթուցիչ terամացույց ՝ 6 քայլ (նկարներով) Մահճակալի MP3 rmարթուցիչ terամացույց ՝ 6 քայլ (նկարներով)](https://i.howwhatproduce.com/images/006/image-16540-j.webp)
Մահճակալի MP3 rmարթուցիչ terամացույց. Այս նախագծի համար ես ուզում էի պատրաստել հարմարավետ և լիովին աշխատող մահճակալի զարթուցիչ: Մահճակալի զարթուցիչի իմ անձնական նախադրյալներն են ՝ կարդալ ցանկացած լույսի ներքո, մինչդեռ գիշերը կուրացնող չլինել MP3- ի զարթուցիչը գրավում է
Arduino rmարթուցիչ ՝ ջերմաստիճանի տվիչով ՝ 5 քայլ
![Arduino rmարթուցիչ ՝ ջերմաստիճանի տվիչով ՝ 5 քայլ Arduino rmարթուցիչ ՝ ջերմաստիճանի տվիչով ՝ 5 քայլ](https://i.howwhatproduce.com/images/006/image-16963-j.webp)
Arduino rmարթուցիչ ՝ ջերմաստիճանի տվիչով. Arduino- ն շատ հեշտ և էժան միկրոհսկիչ է: և հեշտ է վերահսկել այն: Այսպիսով, ինչ եք ակնկալում այս նախագծում … մենք կօգտագործենք RTC- ի այնքան ճշգրիտ ժամային պարամետրեր, որոնք բավական բարձր են, որպեսզի արթնացնեն ձեր սենյակի ջերմաստիճանը, եթե ցանկանում եք դիտել տեսանյութի կտտոց