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

Արթնացման լույս. 7 քայլ (նկարներով)
Արթնացման լույս. 7 քայլ (նկարներով)

Video: Արթնացման լույս. 7 քայլ (նկարներով)

Video: Արթնացման լույս. 7 քայլ (նկարներով)
Video: Ցավի 7 տեսակ, որոնց պատճառը սթրեսն է 2024, Նոյեմբեր
Anonim
Արթնացման լույս
Արթնացման լույս

Երբ գրում եմ այս հրահանգավորումը, հյուսիսային կիսագնդում ձմեռվա կեսն է, և դա նշանակում է կարճ օրեր և երկար գիշերներ: Ես սովոր եմ վեր կենալ 06: 00 -ին, և ամռանը արևը արդեն փայլելու է: Չնայած ձմռանը, այն լուսավորվում է ժամը 09: 00 -ին, եթե մեզ բախտ վիճակվի ունենալ մի օր, որը ամպամած չէ (ինչը… հաճախ չէ):

Որոշ ժամանակ առաջ ես կարդացի Ֆիլիպսի պատրաստած «արթնացման լույսի» մասին, որն օգտագործվում էր Նորվեգիայում ՝ արևոտ առավոտը նմանակելու համար: Ես երբեք չեմ գնել մեկը, բայց անընդհատ մտածում էի այն պատրաստելու մասին, քանի որ ինքներդ պատրաստելը ավելի հաճելի է, քան պարզապես այն գնելը:

Պարագաներ:

Նկարի շրջանակ «Ribba» 50 x 40 սմ IKEA- ից

ծակոտկեն կարծր տախտակ `շինարարական խանութից

STM8S103 զարգացման տախտակ Ebay- ի կամ այլոց միջոցով

DS1307 Իրական ժամանակի ժամացույց (Մաուզեր, Ֆարնել, Կոնրադ և այլն)

32768 Հց ժամացույցի բյուրեղյա (Մաուզեր, Ֆարնել, Կոնրադ և այլն)

3V լիթիումի համընկնում + համընկնումի կրող

BUZ11 կամ IRLZ34N N-channel MOSFET- ներ (3x)

BC549 (կամ որևէ այլ NPN տրանզիստոր)

որքան շատ եք ուզում սպիտակ, կարմիր, կապույտ, կանաչ և այլն

որոշ ռեզիստորներ և կոնդենսատորներ (տես սխեմատիկ)

Powerbrick, 12V- ից 20V, 3A կամ ավելի (օրինակ, հին նոութբուքի սնուցում)

Քայլ 1. Արթնանալը (մի փոքր) դյուրին դարձնելը

Դարձնելը (մի փոքր) ավելի հեշտ է վեր կենալը
Դարձնելը (մի փոքր) ավելի հեշտ է վեր կենալը

Գաղափարն այն է, որ դժվար է առավոտյան վեր կենալ անկողնուց, երբ դեռ մութ է: Եվ եթե դուք ապրում եք արկտիկական շրջանից մոտ կամ նույնիսկ վերևում, ապա շատ երկար մութ կլինի: Նորվեգիայի Տրոմսյո վայրերում ընդհանրապես լույս չի լինի, քանի որ այնտեղ արևը մայր է մտնում նոյեմբերի կեսից, որպեսզի նորից հայտնվի uarանուարիի կեսին:

Այսպիսով, այն, ինչ արեց Ֆիլիպսը, նմանեցրեց արևածագի ծագումը:

Philips- ը դանդաղորեն մեծացնում է լամպի պայծառությունը, որը, հավանաբար, պատրաստված է մի քանի լուսարձակների միջոցով, բայց թաքնված է մեկ դիֆուզորի հետևում: Նրանց անջատումից մինչև լիարժեք պայծառություն տևում է 30 րոպե:

Philips- ի արթնացման լույսերն այնքան էլ թանկ չեն, բայց այն ունի միայն մեկ գույն և մի փոքր փոքր տեսք ունի: Կարծում եմ, որ կարող եմ ավելի լավ անել:

Քայլ 2: Ավելի շատ գույն

Ավելի Գույն
Ավելի Գույն

Իմ արթնացման լույսը օգտագործում է չորս գույն ՝ սպիտակ, կարմիր, կապույտ և կանաչ: Սկզբում եկեք սպիտակ լուսամփոփներ, այնուհետև եկեք կարմիրները և վերջ ՝ մի քանի կապույտ և կանաչ լուսամփոփներ: Իմ գաղափարն այն էր, որ ես կարող եմ մոդելավորել ոչ միայն պայծառության բարձրացումը, այլև առավոտյան բաց գույնի փոփոխությունը ՝ սկսելով մի փոքր սպիտակից, մի փոքր ուշ ավելացնելով կարմիրը և վերջում խառնելով կապույտի և կանաչի: Ես վստահ չեմ, որ այն իրականում նման է իրական առավոտյան լույսին, բայց ինձ դուր է գալիս գունագեղ էկրանը, ինչպես հիմա է:

Իմը նույնպես ավելի արագ է, քան Philips- ի արթնացման լույսը, Philips- ի լույսի 30 րոպեի փոխարեն, իմը 5% -ից պակասում 0% -ից հասնում է 100% պայծառության: Այսպիսով, իմ արևը ծագում է շատ ավելի արագ:

ՆՇՈՒՄ:

ՇԱՏ դժվար է արթնանալու լույսի նկարներ նկարելը, ես փորձել եմ մի քանի տեսախցիկներով և սմարթֆոններով, բայց իմ արած բոլոր նկարները իրական արդարադատություն չեն իրականացնում:

Քայլ 3. Սիգմոիդ կոր, թարթում և «լուծում»

Սիգմոիդ կոր, թարթում և
Սիգմոիդ կոր, թարթում և

Իհարկե, ես ուզում էի պայծառությունը հնարավորինս հարթ դարձնել: Մարդու աչքերը լոգարիթմական են զգայունության մեջ, ինչը նշանակում է, որ լիակատար մթության մեջ նրանք ավելի զգայուն են, քան ցերեկը: Պայծառության շատ փոքր աճը, երբ մակարդակները ցածր են, «զգում է» նույնը, ինչ շատ ավելի մեծ քայլը, երբ լույսը, ասենք, 40% պայծառություն է: Դրան հասնելու համար ես օգտագործել եմ հատուկ կոր, որը կոչվում է Sigmoid (կամ S- կոր): Այս կորը սկսվում է որպես էքսպոնենցիալ կոր, որը կիսով չափ նորից հարթվում է: Ես գտա, որ դա ինտենսիվության բարձրացման (և նվազման) շատ գեղեցիկ միջոց է:

Միկրոկոնտրոլերի ժամացույցի հաճախականությունը (և ժամաչափերը) 16 ՄՀց է, և ես օգտագործում եմ TIMER2 (65536) առավելագույն թույլատրելիությունը `իմպուլսի լայնության երեք ազդանշան (PWM) ստեղծելու համար: Հետեւաբար իմպուլսները գալիս են 16000000 /65536 = 244 անգամ վայրկյանում: Դա շատ ավելի բարձր է, քան ցանկացած թարթում տեսնելու աչքերի սահմանը:

Այսպիսով, լուսադիոդները սնվում են PWM ազդանշանով, որը պատրաստված է STM8S103 միկրոկոնտրոլերի այս 16 բիթիմետրով: Առնվազն այս PWM ազդանշանը կարող է միացված լինել ՝ 1 զարկերակի երկարությամբ, իսկ մնացած 65535 զարկերակի երկարությամբ անջատված:

Այսպիսով, այդ PM ազդանշանին միացված լուսարձակները միացված կլինեն ժամանակի 1/65536-րդին ՝ 0.0015%

Առավելագույնը դրանք ժամանակի 65536/65536-րդն են `100%:

Քայլ 4: Էլեկտրոնիկա

Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա

Միկրոկոնտրոլեր

Արթնացման լույսի ուղեղը STMicroelectronics- ի STM8S103 միկրոկոնտրոլեր է: Ես սիրում եմ օգտագործել այնպիսի մասեր, որոնք աշխատանքի համար բավականաչափ հնարավորություններ ունեն: Այս պարզ աշխատանքի համար անհրաժեշտ չէ օգտագործել STM32 միկրոկոնտրոլերներ (իմ մյուս նախընտրածները), բայց Arduino UNO- ն բավարար չէր, քանի որ ես ցանկանում էի երեք PWM ազդանշան 16 բիթ թույլատրությամբ և ՄԱԿ -ում երեք ելքային ալիքով ժամաչափ չկա:.

Իրական ժամանակի ժամացույց

Isամանակը կարդացվում է իրական ժամանակի DS1307 ժամացույցից, որն աշխատում է 32768 Հց բյուրեղով և ունի 3V պահուստային մարտկոց:

Ընթացիկ ժամի, օրվա և արթնացման ժամի կարգավորումը կատարվում է երկու կոճակով և ցուցադրվում է 16 x 2 LCD բնույթի էկրանով: Որպեսզի գիշերային ժամերին իմ ննջասենյակը իսկապես մութ լինի, LCD էկրանին լուսավորվում է միայն այն դեպքում, երբ լուսարձակները լուսավոր են, քան լուսային լուսավորությունը, և երբ դուք սահմանում եք ժամանակը, օրը և արթնացման ժամը:

Ուժ

Էլեկտրաէներգիան գալիս է նոութբուքի հին սնուցման աղբյուրից, իմը արտադրում է 12 Վ, իսկ կարող է մատակարարել 3 Ա: Երբ ունեք մեկ այլ էլեկտրամատակարարում, գուցե անհրաժեշտ լինի ռեզիստորները մի շարք կարգավորել լարերով: (Տես ներքեւում)

Լեդս

Էլեկտրական լամպերը միացված են 12 Վ լարման, մնացած էլեկտրամոնտաժային աշխատանքները ՝ 5 Վ լարման վրա, պատրաստված են 7805 գծային կարգավորիչով: Սխեմատիկայում ասվում է, որ ես օգտագործում եմ TO220 կարգավորիչ, որն անհրաժեշտ չէ, քանի որ միկրոկոնտրոլերը, էկրանը և իրական ժամանակի ժամացույցը օգտագործում են ընդամենը մի քանի միլիամպ: Clockամացույցս օգտագործում է 7805 -ի ավելի փոքր TO92 տարբերակ, որը կարող է ապահովել 150 մԱ:

Առաջատար լարերի փոխարկումը կատարվում է N-MOSFET- երով: Կրկին, սխեմատիկայում այն ցույց է տալիս այլ սարքեր, քան ես օգտագործել եմ: Ես պատահաբար ունեցա երեք շատ հին BUZ11 ՄՈՍՖԵՏ `ավելի նոր IRLZ34N ՄՈՍՖԵՏ -երի փոխարեն: Նրանք լավ են աշխատում

Իհարկե, կարող եք տեղադրել այնքան շատ լուսարձակներ, որքան ցանկանում եք, քանի դեռ MOSFET- երը և սնուցման աղբյուրը կարող են կարգավորել հոսանքը: Սխեմատիկորեն ես նկարել եմ ցանկացած գույնի միայն մեկ տող, իրականում կան յուրաքանչյուր գույնի մի քանի գույն, որոնք զուգահեռ են այդ գույնի մյուս տողերին:

Քայլ 5: Ռեզիստորներ (Leds- ի համար)

Ռեզիստորներ (Leds- ի համար)
Ռեզիստորներ (Leds- ի համար)

Theեկավարվող լարերի դիմադրիչների մասին: Սպիտակ և կապույտ լուսարձակները սովորաբար ունենում են 2.8 Վ լարման վրա, երբ դրանք գտնվում են լիարժեք պայծառության մեջ:

Կարմիր լապտերներն ունեն ընդամենը 1.8 Վ, իմ կանաչ ճառագայթներն ունեն 2 Վ ավելի բարձր պայծառությամբ:

Մեկ այլ բան այն է, որ նրանց ամբողջ պայծառությունը նույնը չէ: Այսպիսով, որոշակի փորձեր կատարվեցին, որպեսզի դրանք հավասարապես լուսավորվեն (իմ աչքերով): Sառագայթները հավասար պայծառ դարձնելով լիարժեք պայծառությամբ, նրանք նաև հավասարապես պայծառ տեսք կունենան ցածր մակարդակներում, զարկերակի լայնության ազդանշանը միշտ դրանք միացնում է լիարժեք ուժգնությամբ, բայց ավելի ու ավելի կարճ ժամանակներում ձեր աչքերը հոգ են տանում միջինացվածության մասին:

Սկսեք այսպիսի հաշվարկով. Էներգամատակարարումը մատակարարում է (իմ դեպքում) 12 Վ:

Սերիայի չորս սպիտակ լուսարձակների համար անհրաժեշտ է 4 x 2.8V = 11.2V, ինչը թողնում է 0.8V դիմադրության համար:

Ես գտել էի, որ դրանք բավականաչափ պայծառ էին 30 մԱ -ով, ուստի դիմադրությունը պետք է լինի.

0.8 / 0.03 = 26.6 օմ: Սխեմատիկայում տեսնում եք, որ ես տեղադրել եմ 22 օմ դիմադրություն ՝ լուսարձակները մի փոքր ավելի պայծառ դարձնելով:

Կապույտ լուսարձակները չափազանց պայծառ էին 30 մԱ -ով, բայց գեղեցիկ էին համեմատած 15 մԱ -ի սպիտակ լապտերների հետ, դրանք նույնպես ունեին մոտ 2.8 Վ ավելի քան 15 մԱ, ուստի հաշվարկը 4 x 2.8V = 11.2V էր ՝ կրկին թողնելով 0.8V

0.8 / 0.015 = 53.3 օմ, այնպես որ ես ընտրեցի 47 օմ դիմադրություն:

Իմ կարմիր լուսարձակները նույնպես պետք է ունենան մոտ 15 մԱ հզորություն, ինչպես մյուսները, բայց դրանք այդ հոսանքի վրա ունեն ընդամենը 1.8 Վ լարման վրա: Այսպիսով, ես կարող էի ավելի շատ շարադրել և դեռ ինչ -որ «տեղ» ունենալ դիմադրության համար:

Կարմիր վեց լուսարձակներ ինձ տվեցին 6 x 1.8 = 10.8V, ուստի դիմադրության վրա 12 - 10.8 = 1.2V էր

1.2 / 0.015 = 80 օմ, ես այն դարձրեցի 68 օմ: Ինչպես մյուսները, մի փոքր ավելի պայծառ:

Իմ օգտագործած կանաչ լուսարձակները նույնքան պայծառ են, որքան մյուսները `մոտ 20 մԱ: Ինձ ընդամենը մի քանիսն էին պետք (ճիշտ ինչպես կապույտները) և ես ընտրեցի չորսը շարքը շարել: 20mA- ում նրանք ունեն 2, 1V իրենց վրա, տալով 3 x 2.1 = 8.4V

12 - 8.4 = 3.6 Վ ռեզիստորի համար: Եվ 3.6 / 0.02 = 180 օմ:

Եթե դուք կառուցում եք արթնացման այս լույսը, ապա դժվար թե դուք ունենաք նույն էներգիայի աղբյուրը, դուք ստիպված կլինեք կարգավորել շարքերում լուսադիոդների քանակը և անհրաժեշտ ռեզիստորները:

Մի փոքր օրինակ. Ասացեք, որ դուք ունեք սնուցման աղբյուր, որը տալիս է 20 Վ լարման: Ես կընտրեի շարք սահմանել 6 կապույտ (և սպիտակ) լուսարձակներ, 6 x 3V = 18V, այնպես որ 2V ռեզիստորի համար: Եվ եկեք ասենք, որ ձեզ դուր է գալիս պայծառությունը 40 մԱ -ով: Դրանից հետո ռեզիստորը պետք է լինի 2V / 0.04 = 50 օմ, 47 օմ դիմադրությունը լավ կլինի:

Խորհուրդ եմ տալիս սովորական (5 մմ) լապտերներով չանցնել 50 մԱ -ից բարձր: Ոմանք կարող են ավելի շատ գլուխ հանել, բայց ես սիրում եմ լինել անվտանգ կողմում:

Քայլ 6: Softwareրագրակազմ

Ամբողջ ծածկագիրը կարելի է ներբեռնել ՝

gitlab.com/WilkoL/wakeup_light_stm8s103

բաց աղբյուրը պահեք այս հրահանգի մնացած մասի կողքին, եթե ցանկանում եք հետևել բացատրությանը:

Հիմնական.գ

Main.c- ն նախ կարգավորում է ժամացույցը, ժամաչափերը և այլ ծայրամասային սարքերը: «Վարորդների» մեծ մասը, որոնք ես գրել եմ STMicroelectronics- ի Ստանդարտ գրադարանի միջոցով, և եթե դրանց վերաբերյալ որևէ հարց ունեք, գրեք այն հրահանգի տակ գտնվող մեկնաբանության մեջ:

Եփրոմ

Ես թողեցի «տեքստը ցուցադրելու համար» ծածկագիրը, որը ես օգտագործում էի տեքստեր STM8S103- ի eeprom- ում որպես մեկնաբանություններ տեղադրելու համար: Ես վստահ չէի, որ իմ ամբողջ ծածկագրի համար բավականաչափ ֆլեշ հիշողություն ունեի, ուստի ես փորձեցի հնարավորինս շատ տեղադրել eeprom- ում, որպեսզի ծրագրի համար ամբողջ ֆլեշը լինի: Վերջում դա անհրաժեշտ չեղավ, և ես տեքստը տեղափոխեցի ֆլեշ: Բայց ես այն թողեցի որպես մեկնաբանված տեքստ main.c ֆայլում: Հաճելի է ունենալ այն, երբ պետք է հետագայում նման բան անել (մեկ այլ նախագծում)

Eeprom- ը դեռ օգտագործվում է, բայց միայն արթնության ժամանակը պահելու համար:

Վայրկյան մեկ անգամ

Ipայրամասային սարքերի տեղադրումից հետո կոդը ստուգում է, թե արդյոք մեկ վայրկյան է անցել (կատարվել է ժամաչափով):

Մենյու

Եթե դա այդպես է, նա ստուգում է, արդյոք կոճակը սեղմվե՞լ է, եթե այո, այն մտնում է ընտրացանկ, որտեղ կարող եք սահմանել ընթացիկ ժամը, շաբաթվա օրը և արթնացման ժամը: Հիշեք, որ անջատումից մինչև լրիվ պայծառություն անցնելը տևում է մոտ 5 րոպե, ուստի արթնացման ժամանակը մի փոքր ավելի վաղ սահմանեք:

Արթնացման ժամանակը պահվում է eeprom- ում, որպեսզի նույնիսկ հոսանքի անջատումից հետո նա «իմանա», թե երբ է ձեզ արթնացնելու: Ընթացիկ ժամանակը, իհարկե, պահվում է իրական ժամանակի ժամացույցի մեջ:

Համեմատեք ընթացիկ և արթնացման ժամանակը

Երբ ոչ մի կոճակ չի սեղմվել, այն ստուգում է ընթացիկ ժամը և համեմատում այն արթնացման ժամի և աշխատանքային օրվա հետ: Չեմ ուզում, որ այն ինձ արթնացնի հանգստյան օրերին:-)

Mostամանակի մեծ մասում ոչինչ պետք չէ անել, այնպես որ այն «led» փոփոխականները անջատում է այլ, միացնում է: Այս փոփոխականը ստուգվում է «change_intensity» ազդանշանի հետ միասին, որը նույնպես գալիս է ժամանակաչափից և ակտիվ է վայրկյանում 244 անգամ: Այսպիսով, երբ «leds» փոփոխականը միացված է, ինտենսիվությունը մեծանում է 244 անգամ վայրկյանում, և երբ այն անջատված է, նվազում է 244 անգամ մեկ վայրկյանում: Բայց աճն ընթանում է միայնակ քայլերով, որտեղ նվազումը 16 -ով է, ինչը նշանակում է, որ երբ արթնացման լույսը, հուսով ենք, որ կատարել է իր աշխատանքը, այն 16 անգամ ավելի արագ է անջատվում, բայց դեռ սահուն:

Հարթություն և հիշողությունից դուրս

Հարթությունը գալիս է Սիգմոիդ կորի հաշվարկից: Հաշվարկը բավականին պարզ է, բայց դա պետք է կատարվի լողացող կետի փոփոխականներով (կրկնապատկվում է) exp () գործառույթի պատճառով, տե՛ս sigmoid.c ֆայլը:

Ստանդարտ իրավիճակում Cosmic compiler / linker չունի աջակցություն լողացող կետի փոփոխականների համար: Միացնելը հեշտ է (երբ գտնեք այն), բայց գալիս է կոդի չափի մեծացմամբ: Այս աճը չափազանց շատ էր, որպեսզի ծածկագիրը տեղավորվի ֆլեշ հիշողության մեջ, երբ զուգորդվում է sprintf () ֆունկցիայի հետ: Եվ այդ գործառույթը անհրաժեշտ է թվերը ցուցադրման համար տեքստ փոխակերպելու համար:

Իտոա ()

Այս խնդիրը լուծելու համար ես ստեղծեցի itoa () գործառույթը: Սա Integer To Ascii գործառույթ է, որը բավականին տարածված է, բայց ներառված չէ STMicroelectronics ստանդարտ գրադարանում, ոչ էլ Cosmic գրադարաններում:

Քայլ 7: IKEA (ինչ կանեինք առանց նրանց)

IKEA (ինչ կանեինք առանց նրանց)
IKEA (ինչ կանեինք առանց նրանց)
IKEA (ինչ կանեինք առանց նրանց)
IKEA (ինչ կանեինք առանց նրանց)
IKEA (ինչ կանեինք առանց նրանց)
IKEA (ինչ կանեինք առանց նրանց)

Նկարը գնվել է IKEA- ից: Այն Ribba- ի շրջանակն է ՝ 50 x 40 սմ: Այս շրջանակը բավականին հաստ է, և դա հիանալի է դարձնում դրա հետևում էլեկտրոնիկան թաքցնելու համար: Պաստառի կամ նկարի փոխարեն ես դնում եմ ծակոտկեն կոճղի կտոր: Դուք կարող եք այն գնել սարքավորումների խանութից, որտեղ այն երբեմն անվանում են «մահճակալի տախտակ»: Այն իր մեջ ունի փոքր անցքեր, որոնք այն իդեալական են դարձրել լուսարձակներ դնելու համար: Unfortunatelyավոք, իմ տախտակի անցքերը մի փոքր ավելի մեծ էին, քան 5 մմ, այնպես որ ես ստիպված էի օգտագործել տաք սոսինձ ՝ լուսարձակները «ամրացնելու» համար:

Ես 16x2 էկրանին կարծր տախտակի կենտրոնում ուղղանկյուն անցք արեցի և սեղմեցի այն: PCB- ն ամբողջ էլեկտրոնիկայի հետ կախված է այս էկրանին, այն տեղադրված չէ որևէ այլ բանի վրա:

Պերֆորացված կարծր տախտակը ներկված էր սև գույնով, բայց գորգի հետևում: Ես շրջանակի մեջ երկու անցք եմ բացել, որպեսզի կոճակները ժամանակն ու ամսաթիվը սահմանեն, քանի որ շրջանակը բավականին հաստ է: Ես ստիպված եղա շրջանակի ներսում եղած անցքերը լայնացնել, որպեսզի կոճակները բավականաչափ կպչեն:

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