
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

Մեր նախագիծը ստեղծում է զարթուցիչ `օգտագործելով Basys 3 FPGA տախտակը, Arduino- ն և բարձրախոսների վարորդական տախտակը: Օգտագործողը կարող է ընթացիկ ժամանակը մուտքագրել տախտակին ՝ օգտագործելով Basys 3 -ի 11 մուտքային անջատիչ և արժեքը կողպել ՝ օգտագործելով տախտակի միջին կոճակը: Այնուհետև օգտվողը կարող է մուտքագրել ահազանգի ժամանակը `օգտագործելով նույն անջատիչները, բայց սեղմել ձախ կոճակը` կողպելու համար ահազանգի ժամանակը: Եթե սխալ ժամանակ է մուտքագրվում, կարող է սեղմվել վերակայման կոճակը (վերևի կոճակը) և ընթացիկ ժամացույցի ժամը և ահազանգի ժամը կդառնա 00:00: Այնուհետև օգտվողը կարող է ժամացույցը միացնել ձախ ձախ անջատիչով և միացնել զարթուցիչը ՝ օգտագործելով հաջորդ անջատիչը: Երբ զարթուցիչը միացված է, զարթուցիչը կհնչի, երբ ժամացույցի ժամը և զարթուցիչի ժամը համընկնում են:
Քայլ 1: Սև արկղի դիագրամ


Մենք սկսեցինք մեր նախագիծը `նկարելով սև արկղի դիագրամ` մեր ծրագրում անհրաժեշտ մուտքերն ու ելքերը պատկերացնելու համար: Հետևյալ մուտքերը մեր ծրագրի համար, ինչպիսիք են 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: Դանդաղ ժամացույց

Դանդաղ ժամացույցը կամ clock_div2 ֆայլը ստեղծում է ժամացույց, որի հաճախականությունը 2 հց է: Եթե մենք այս ժամացույցը սնուցենք մեր վայրկյանների հաշվիչին, վայրկյանների արժեքը կաճի մեկ վայրկյան մեկով: Դանդաղ ժամացույցը օգտագործվում է ժամացույցի հուսալի ազդանշան ստեղծելու համար, որը վայրկյանում մեկ անգամ ցածրից բարձր է փոխվում:
Քայլ 3: Հակահարված


Բաղադրիչների հաշվիչ (րոպե և վայրկյան):
Րոպեների և վայրկյանների հիմնական գործառույթն այն է, որ դրանք հաշվիչներ են: Րոպեների հաշվիչը ընդունում է մուտքը (Vin), որը ազդանշան է մուտքերից (Min_in), այնուհետև հաշվում է մինչև հասնի մուտքագրված ցանկալի մուտքին: Վայրկյանները տևում են միայն անջատիչի մուտքը (e_Sec), քանի որ այն չի կարող ցուցադրվել յոթ հատվածում, և հաշվում է հետին պլանում, երբ անջատիչը բարձր է «1»: Նրանք երկուսն էլ այնտեղ թողարկում են (Qout) արժեքը, այնուհետև այն պահվում է (տվյալների) մեջ, որն այն ուղարկում է SSEG, ինչը կատարվում է կապող ֆայլում: Բացի այդ, երբ րոպեներն ու վայրկյանները հասնում են 59 -ի արժեքներին, այն վերակայվում է, և դրանց ելքը «1» է ՝ րոպե/ժամ ավելացնելու համար: Այն նաև կարող է քարտեզագրվել վերաբեռնումով (rst_b) նրանց մուտքերի հետ:
Քայլ 4: Counter Hour


Բաղադրիչի հաշվիչ ժամ
Նմանապես, րոպեների և վայրկյանների բաղադրիչի հաշվիչին, ժամի բաղադրիչն ընդունում է մուտքագրումներ, ինչպիսիք են (Vin), որը ազդանշան է ֆայլերի մուտքը կապելու համար (Hour_in) և ունի ելքեր, որոնք միևնույն կերպ կապված են րոպեների և վայրկյանների հետ: Երբ ժամի հաշվարկային արժեքը հասնում է 24 00 -ի, այն վերակայվում է 00 00 -ի:
Քայլ 5: Ահազանգ




Տագնապի.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



Ունիվերսալ յոթ հատվածի ցուցադրման վարորդն ընդունում է ժամացույցի և ժամացույցի հավաքածուի մուտքերը և կարողանում է դրանք դուրս բերել տախտակի յոթ հատվածի ցուցադրման վրա: Վարորդը կարողանում է գրատախտակին միաժամանակ թողնել երկու առանձին հաշվարկ: Այս գործառույթը մենք օգտագործում էինք ինչպես ժամի, այնպես էլ րոպեի ժամանակը առանձին ցուցադրելու համար: Յոթ հատվածի ցուցադրումը կարող է միաժամանակ ակտիվացնել միայն մեկ թիվ, ուստի sseg ֆայլը պետք է մուլտիպլեքսավորի `ժամանակի բոլոր թվերը միաժամանակ ցուցադրելու համար: Տախտակների ժամացույցի ազդանշանը մտնում է sseg ՝ բազմապատկման ճիշտ ժամանակը պահելու համար: Երկուականից մինչև երկուական կոդավորված տասնորդական կոդավորիչ անհրաժեշտ է ֆայլում մուտքագրումները ձևի վերածելու համար, որը կարող է թողարկվել յոթ հատվածի ցուցադրման վրա: Sseg ֆայլի վերջնական ելքը քարտեզագրվում է յոթ հատվածի ցուցադրման վրա և ճիշտ ժամանակը ցուցադրվում է էկրանին:
Քայլ 7: Կապի ֆայլ



Հղման ֆայլը կապում է ծրագրի բոլոր մյուս ասպեկտները և ազդանշանները քարտեզագրում դրանց ճիշտ տեղադրության հետ: Յուրաքանչյուր բաղադրիչ բերվում և ակնթարթորեն ներկայացվում է ֆայլում: Ազդանշանները օգտագործվում են տվյալները մեկ բաղադրիչից մյուսը փոխանցելու համար: Նավահանգստի քարտեզագրումը կհետեւի վերը թվարկված սեւ արկղերի գծապատկերին: Հղման ֆայլը պարունակում է նաև այն տրամաբանությունը, որը կառավարում է, երբ ազդանշանն ակտիվանում է: Նախագծի մեծ մասն արդեն կավարտվի այս կետով: Մնացած աշխատանքը յուրաքանչյուր ազդանշան ուղղորդում է համապատասխան վայր:
Քայլ 8: Arduino


Արդուինոն օգտագործվում է խոսնակը ակտիվացնելու, ինչպես նաև խոսողի միջոցով նվագարկվող նոտայի տոնայնությունն ու տևողությունը վերահսկելու համար: Արդուինոն թվային ազդանշան է կարդում Basys 3 տախտակից: Երբ այս ազդանշանը բարձր է, arduino- ն կարտադրի PWM ազդանշան, որը վերահսկում է ահազանգի ձայնը և տևողությունը: Արդուինոյից ելքային ազդանշանը միանում է բարձրախոսի վարորդի տախտակի մուտքային ազդանշանին, ինչը մեծացնում է բարձրախոսի ձայնը: Արդուինոն այս գործընթացը շատ արագ է կրկնում վայրկյանում բազմիցս:
Քայլ 9: Մալուխի երթուղի

Արդուինոյի և 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արթուցիչ. The Groundhog Day rmարթուցիչը բաղկացած է Panasonic RC-6025 ժամացույցից, որը փոփոխված է, որպեսզի ձայնը հնչի Groundhog Day ֆիլմի ձայնագրության ժամանակ: Երբ ես ստեղծում եմ այս սարքը, դա Groundhog Day- ն է (երկուսն էլ օրը և կինոնկար) անցկացվեց տեխնիկական
Rmարթուցիչ `10 քայլ

Rmարթուցիչ. Այս ուղեցույցում ես ձեզ կասեմ, թե ինչպես կառուցել Alarmostat- ը, իմ դպրոցական նախագիծը 1MCT- ի համար Howest- ում: Հայեցակարգը սարքի պատրաստում է, որը մեկում ներառում է և՛ կողոպտիչ ահազանգ, և՛ թերմոստատ: Իմ դիզայնը, անշուշտ, կարող է բարելավվել, այնպես որ դա
Upcycled rmարթուցիչ Smart Light: 8 քայլ (նկարներով)

Upcycled rmարթուցիչ Smart Light. Այս նախագծում ես բարձրացնում եմ ամբողջովին կոտրված քամու զարթուցիչը: Clockամացույցի երեսը փոխարինվում է 12 LED- ով, լուսավորված ժամացույցի եզրով լուսավորված LED շերտով: 12 LED- ները ցույց են տալիս ժամանակը, և LED շերտը ծրագրված է ազդանշանի դեր կատարել ՝ միացնելով
Մահճակալի MP3 rmարթուցիչ terամացույց ՝ 6 քայլ (նկարներով)

Մահճակալի MP3 rmարթուցիչ terամացույց. Այս նախագծի համար ես ուզում էի պատրաստել հարմարավետ և լիովին աշխատող մահճակալի զարթուցիչ: Մահճակալի զարթուցիչի իմ անձնական նախադրյալներն են ՝ կարդալ ցանկացած լույսի ներքո, մինչդեռ գիշերը կուրացնող չլինել MP3- ի զարթուցիչը գրավում է
Arduino rmարթուցիչ ՝ ջերմաստիճանի տվիչով ՝ 5 քայլ

Arduino rmարթուցիչ ՝ ջերմաստիճանի տվիչով. Arduino- ն շատ հեշտ և էժան միկրոհսկիչ է: և հեշտ է վերահսկել այն: Այսպիսով, ինչ եք ակնկալում այս նախագծում … մենք կօգտագործենք RTC- ի այնքան ճշգրիտ ժամային պարամետրեր, որոնք բավական բարձր են, որպեսզի արթնացնեն ձեր սենյակի ջերմաստիճանը, եթե ցանկանում եք դիտել տեսանյութի կտտոց