Përmbajtje:

Drita e zgjimit: 7 hapa (me fotografi)
Drita e zgjimit: 7 hapa (me fotografi)

Video: Drita e zgjimit: 7 hapa (me fotografi)

Video: Drita e zgjimit: 7 hapa (me fotografi)
Video: Hekurani ft. Agimi & Fisniket - Ajo me mbyti (Official Video HD) 2024, Korrik
Anonim
Drita e zgjimit
Drita e zgjimit

Ndërsa shkruaj këtë udhëzues është mesi i dimrit në hemisferën Veriore dhe kjo do të thotë ditë të shkurtra dhe netë të gjata. Unë jam mësuar të ngrihem në orën 06:00 dhe në verë dielli do të shkëlqejë deri atëherë. Sidoqoftë, në Dimër, ndriçon në orën 09:00 nëse jemi me fat që kemi një ditë që nuk është me re (që është … jo shpesh).

Disa kohë më parë lexova për një "dritë zgjimi" të bërë nga Philips që u përdor në Norvegji për të simuluar një mëngjes me diell. Unë kurrë nuk kam blerë një, por kam vazhduar të mendoj për ta bërë një, sepse ta bësh vetë është më shumë kënaqësi sesa ta blesh atë.

Furnizimet:

Korniza e fotografisë "Ribba" 50 x 40 cm nga IKEA

hardboard të shpuar nga dyqani i pajisjeve

Bordi i zhvillimit STM8S103 përmes Ebay ose të tjerëve

DS1307 Ora në kohë reale (Mouser, Farnell, Conrad, etj)

Kristal i orës 32768 Hz (Mouser, Farnell, Conrad, etj)

3V litium bashkëkohës + mbajtës koincell

MOSFET N-kanale BUZ11 ose IRLZ34N (3x)

BC549 (ose ndonjë transistor tjetër NPN)

sa më shumë led, të bardha, të kuqe, blu, jeshile, etj

disa rezistorë dhe kondensatorë (shiko skemën)

Powerbrick, 12V në 20V, 3A ose më shumë (p.sh. furnizimi me energji i vjetër i laptopit)

Hapi 1: Duke e bërë (pak) më të lehtë të ngriheni

Duke e bërë (pak) më të lehtë të ngrihesh
Duke e bërë (pak) më të lehtë të ngrihesh

Ideja është se është e vështirë të dalësh nga shtrati në mëngjes kur është ende errësirë. Dhe nëse jetoni afër apo edhe mbi rrethin arktik do të jetë errësirë shumë e gjatë. Në vendet si Tromsö në Norvegji nuk do të marrë fare dritë pasi atje dielli perëndon gjysmën e nëntorit vetëm për t'u rishfaqur në gjysmë të rrugës Januari.

Pra, ajo që bëri Philips ishte simulimi i lindjes së diellit.

Philips ngadalë rrit shkëlqimin e një llambë, e cila ndoshta është bërë me disa llamba, por e fshehur pas një difuzori të vetëm. Koha e tyre nga fikja në shkëlqimin e plotë zgjat 30 minuta.

Dritat e zgjimit Philips nuk janë aq të shtrenjta, por ka vetëm një ngjyrë të vetme dhe duket pak e vogël. Unë mendoj se mund të bëj më mirë.

Hapi 2: Më shumë ngjyra

Më shumë Ngjyra
Më shumë Ngjyra

Drita ime e zgjimit përdor katër ngjyra, të bardha, të kuqe, blu dhe jeshile. Fillimisht vini ledet e bardha, pastaj vijnë ato të kuqe dhe në fund disa ledet blu dhe jeshile. Ideja ime ishte që unë mund të simuloja jo vetëm rritjen e shkëlqimit, por edhe zhvendosjen e ngjyrës së dritës së mëngjesit, duke filluar me pak të bardhë, duke shtuar në të kuqe pak më vonë dhe duke u përzier me blu dhe jeshile në fund. Nuk jam i sigurt se në të vërtetë ngjan me dritën aktuale të mëngjesit, por më pëlqen ekrani shumëngjyrësh siç është tani.

E imja është gjithashtu më e shpejtë se drita e zgjimit Philips, në vend të 30 minutave të dritës Philips, imja shkon nga 0% në 100% shkëlqim në më pak se 5 minuta. Kështu që dielli im lind shumë më shpejt.

SHËNIM:

Vshtë SHUM e vështirë të bëj fotografi të dritës sime të zgjimit, provova me disa kamera dhe smartphone, por të gjitha fotografitë e bëra nuk e bëjnë gjënë e vërtetë.

Hapi 3: Kurba Sigmoid, Tërheqja dhe "zgjidhja"

Lakorja Sigmoid, Flickering dhe
Lakorja Sigmoid, Flickering dhe

Sigurisht që doja ta bëja ndriçimin sa më të qetë. Sytë e njeriut janë logaritmikë në ndjeshmëri, që do të thotë se në errësirën totale ata janë më të ndjeshëm sesa në dritën e plotë të ditës. Një rritje shumë e vogël e shkëlqimit kur nivelet janë të ulëta "ndihet" njësoj si një hap shumë më i madh kur drita është në të paktën 40% shkëlqim. Për ta arritur këtë, unë përdor një kurbë të veçantë të quajtur Sigmoid (ose kurba S), kjo kurbë fillon si një kurbë eksponenciale që nivelet përsëri në gjysmë të rrugës. Kam gjetur se është një mënyrë shumë e bukur për të rritur (dhe ulur) intensitetin.

Frekuenca e orës së mikrokontrolluesit (dhe kohëmatësit) është 16 MHz dhe unë përdor rezolucionin maksimal të TIMER2 (65536) për të krijuar tre sinjale të gjerësisë së pulsit (PWM). Prandaj pulset vijnë 16000000 /65536 = 244 herë në sekondë. Kjo është shumë mbi kufirin e syve për të parë ndonjë ndezje.

Kështu leds ushqehen me një sinjal PWM që është bërë me këtë 16 bitimer të mikrokontrolluesit STM8S103. Së paku ky sinjal PWM mund të jetë ON është 1 gjatësi pulsi dhe 65535 pulsi i mbetur jashtë.

Pra, dritat e lidhura me atë sinjal PM do të jenë më pas ON/65536-të kohës: 0.0015%

Në maksimum ato janë ON 65536/65536-të kohës: 100%.

Hapi 4: Elektronikë

Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë
Elektronikë

Mikrokontrollues

Truri i dritës së zgjimit është një mikrokontrollues STM8S103 nga STMicroelectronics. Më pëlqen të përdor pjesë që kanë aftësi të mjaftueshme për një punë. Për një detyrë të thjeshtë pasi kjo nuk është e nevojshme të përdoren mikrokontrolluesit STM32 (të preferuarit e mi të tjerë) por një Arduino UNO nuk ishte e mjaftueshme pasi doja tre sinjale PWM me rezolucion 16 bit dhe nuk ka një kohëmatës me tre kanale dalëse në një UNO Me

Ora në kohë reale

Koha lexohet nga një orë DS1307 në kohë reale që punon me një kristal 32768 Hz dhe ka një bateri rezervë 3V.

Vendosja e kohës, ditës dhe kohës së zgjimit bëhet me dy butona dhe shfaqet me një ekran karaktere LCD 16 x 2. Për ta mbajtur dhomën time të gjumit vërtet të errët gjatë natës, drita e prapme e ekranit LCD ndizet vetëm kur dritat e ndriçimit janë më të ndritshme se drita e prapme dhe kur jeni duke vendosur kohën, ditën dhe kohën e zgjimit.

Fuqia

Fuqia vjen nga një furnizim i vjetër i laptopit, energjia ime prodhon 12V dhe mund të japë 3A. Kur keni një furnizim tjetër me energji, mund të jetë e nevojshme të rregulloni rezistorët në seri me telat e udhëhequr. (Shikoni më poshtë)

Leds

Ledet janë të lidhura me furnizimin me 12V, pjesa tjetër e elektronikës punon në 5V e bërë me një rregullator linear 7805. Në skemë thuhet se unë përdor një rregullator TO220, që nuk është i nevojshëm pasi mikrokontrolluesi, ekrani dhe ora në kohë reale përdorin vetëm disa miliamps. Ora ime përdor një version më të vogël TO92 të 7805 të aftë për të furnizuar 150mA.

Ndërrimi i vargjeve led bëhet me MOSFET të kanalit N. Përsëri, në skemë ajo tregon pajisje të tjera nga ato që kam përdorur. Më ndodhi që kisha saktësisht tre MOSFET BUZ11 shumë të vjetër në vend të MOSFET -ve më të rinj IRLZ34N. Ata punojnë mirë

Sigurisht që mund të vendosni sa më shumë led që dëshironi, përderisa MOSFET -et dhe furnizuesi i fuqisë mund të trajtojnë rrymën. Në skemën kam vizatuar vetëm një varg të çdo ngjyre, në realitet ka disa secila ngjyrë paralelisht me vargjet e tjera të asaj ngjyre.

Hapi 5: Rezistentët (për Leds)

Rezistentët (për Leds)
Rezistentët (për Leds)

Rreth rezistencave në telat e udhëhequr. Llambat e bardhë dhe blu zakonisht kanë një tension prej 2.8V mbi to kur janë në shkëlqim të plotë.

Llambat e kuq kanë vetëm 1.8V, dritat e mia të gjelbra kanë 2V mbi to në shkëlqimin e plotë.

Një gjë tjetër është se shkëlqimi i tyre i plotë nuk është i njëjtë. Kështu që u deshën disa eksperimente për t'i bërë ato njësoj të ndritshme (për sytë e mi). Duke i bërë llambat njësoj të ndritshme në shkëlqimin e plotë, ato gjithashtu do të duken njësoj të ndritshme në nivele më të ulëta, sinjali i gjerësisë së pulsit i ndez gjithmonë ato me forcë të plotë, por gjatë kohëve më të gjata dhe më të shkurtra, sytë tuaj kujdesen për mesataren.

Filloni me një llogaritje si kjo. Furnizimi me energji jep (në rastin tim) 12V.

Katër led të bardhë në seri kanë nevojë për 4 x 2.8V = 11.2V, kjo lë 0.8V për rezistencën.

Kisha gjetur se ato ishin mjaft të ndritshme në 30mA, kështu që rezistenca duhet të jetë:

0.8 / 0.03 = 26.6 ohm Në skemën që shihni është se kam vënë një rezistencë 22 ohm, duke i bërë llambat pak më të ndritshme.

Llambat blu ishin shumë të ndritshëm në 30mA, por në krahasim me ato të bardha në 15 mA, ata gjithashtu kishin rreth 2.8V mbi to në 15mA kështu që llogaritja ishte 4 x 2.8V = 11.2V përsëri duke lënë 0.8V

0.8 / 0.015 = 53.3 ohm kështu që unë zgjodha një rezistencë 47 ohm.

Llambat e mi të kuq gjithashtu kanë nevojë për rreth 15 mA që të jenë po aq të ndritshme sa të tjerat, por ato kanë vetëm 1.8V mbi to në atë rrymë. Kështu që unë mund të vendos më shumë në seri dhe të kem ende një "dhomë" për rezistencën.

Gjashtë priza të kuqe më dhanë 6 x 1.8 = 10.8V, kështu që mbi rezistencën ishte 12 - 10.8 = 1.2V

1.2 / 0.015 = 80 Ohm, e bëra në 68 Ohm. Ashtu si të tjerët, pak më e ndritshme.

Llambat e gjelbër që kam përdorur janë po aq të ndritshëm sa të tjerët në rreth 20mA. Më duheshin vetëm disa (ashtu si ato blu) dhe zgjodha të vendosja katër në seri. Në 20mA ata kanë 2, 1V mbi to, duke dhënë 3 x 2.1 = 8.4V

12 - 8.4 = 3.6V për rezistencën. Dhe 3.6 / 0.02 = 180 ohm

Nëse ndërtoni këtë dritë zgjimi nuk ka gjasa që të keni të njëjtën furnizim me energji, do të duhet të rregulloni numrin e llambave në seri dhe rezistorët e nevojshëm.

Një shembull i vogël. Thuaj që ke një furnizues energjie që jep 20V. Unë do të zgjidhja për të vendosur 6 led blu (dhe të bardhë) në seri, 6 x 3V = 18V pra 2V për rezistencën. Dhe le të themi që ju pëlqen shkëlqimi në 40mA. Rezistenca atëherë duhet të jetë 2V / 0.04 = 50 ohm, një rezistencë 47 ohm do të jetë mirë.

Unë ju këshilloj të mos shkoni më shumë se 50mA me led të zakonshëm (5mm). Disa mund të përballojnë më shumë, por më pëlqen të jem në anën e sigurt.

Hapi 6: Softuer

I gjithë kodi mund të shkarkohet nga:

gitlab.com/WilkoL/wakeup_light_stm8s103

mbajeni kodin burimor të hapur, pranë pjesës tjetër të këtij udhëzuesi nëse doni të ndiqni shpjegimin.

Kryesore.c

Main.c së pari vendos orën, kohëmatësit dhe pajisjet e tjera periferike. Shumica e "drejtuesve" që shkrova duke përdorur Bibliotekën Standarde nga STMicroelectronics dhe nëse keni ndonjë pyetje në lidhje me to, shkruajeni në një koment më poshtë të udhëzueshëm.

Eeprom

Unë lashë kodin "tekst për t'u shfaqur" që kam përdorur për të vënë tekste në eeprom të STM8S103 si komente. Nuk isha i sigurt se kisha flash memorie të mjaftueshme për të gjithë kodin tim, kështu që u përpoqa të vendosja sa më shumë që të ishte eeprom për të pasur të gjithë blicin për programin. Në fund kjo nuk u tregua e nevojshme dhe e transferova tekstin në flash. Por e lashë si tekst të komentuar në skedarin main.c. Niceshtë bukur ta kesh, kur më duhet të bëj diçka të ngjashme më vonë (në një projekt tjetër)

Eeprom përdoret akoma, por vetëm për ruajtjen e kohës së zgjimit.

Një herë në sekondë

Pas vendosjes së pajisjeve periferike, kodi kontrollon nëse ka kaluar një sekondë (e bërë me një kohëmatës).

Menu

Nëse është kështu, kontrollon nëse është shtypur një buton, nëse po, hyn në menunë ku mund të caktoni kohën aktuale, ditën e javës dhe kohën e zgjimit. Mos harroni se duhen rreth 5 minuta për të kaluar nga ndezja në shkëlqimin e plotë, kështu që caktoni kohën e zgjimit pak më herët.

Koha e zgjimit ruhet në eeprom në mënyrë që edhe pas një ndërprerje të energjisë të "dijë" kur t'ju zgjojë. Koha aktuale ruhet natyrisht në orën në kohë reale.

Krahasimi i kohës aktuale dhe zgjimit

Kur nuk është shtypur asnjë buton, ai kontrollon kohën aktuale dhe e krahason atë me kohën e zgjimit dhe ditën e javës. Nuk dua të më zgjojë në fundjavë:-)

Shumicën e kohës asgjë nuk duhet bërë, kështu që vendos variablat "led" në OFF tjetër në ON. Ky variabël kontrollohet së bashku me sinjalin "ndryshimi_indensiteti", i cili gjithashtu vjen nga një kohëmatës dhe është aktiv 244 herë në sekondë. Pra, kur ndryshorja "leds" është ON intensiteti rritet 244 herë në sekondë dhe kur është OFF zvogëlohet 244 herë në sekondë. Por rritja shkon në hapa të vetëm ku ulja është në hapat e 16 që do të thotë se kur drita e zgjimit me shpresë ka bërë punën e saj, fiket 16 herë më shpejt, por ende pa probleme.

Zbutja dhe JASHT P MR KUJTIMIN

Zbutja vjen nga llogaritja e kurbës Sigmoid. Llogaritja është mjaft e thjeshtë, por duhet të bëhet në variablat e pikës lundruese (dyshe) për shkak të funksionit exp (), shihni skedarin sigmoid.c.

Në situatën standarde, përpiluesi / lidhësi Kozmik nuk ka mbështetje për ndryshoret e pikës lundruese. Ndezja e tij është e lehtë (pasi ta keni gjetur), por vjen me një rritje në madhësinë e kodit. Kjo rritje ishte shumë për ta bërë kodin të përshtatshëm në flash memorie kur kombinohet me funksionin sprintf (). Dhe ky funksion është i nevojshëm për shndërrimin e numrave në tekst për ekranin.

Itoa ()

Për të korrigjuar këtë problem krijova funksionin itoa (). Ky është një funksion Integer To Ascii që është mjaft i zakonshëm, por nuk përfshihet në bibliotekën standarde STMicroelectronics, as në bibliotekat Kozmike.

Hapi 7: IKEA (çfarë do të bënim pa to)

IKEA (çfarë do të bënim pa to)
IKEA (çfarë do të bënim pa to)
IKEA (çfarë do të bënim pa to)
IKEA (çfarë do të bënim pa to)
IKEA (çfarë do të bënim pa to)
IKEA (çfarë do të bënim pa to)

Fotografia është blerë nga IKEA. Shtë një kornizë Ribba prej 50 x 40cm. Ky kornizë është mjaft i trashë dhe kjo e bën atë të shkëlqyeshëm për të fshehur pajisjet elektronike pas tij. Në vend të një posteri ose fotografie vendosa një copë dërrasë të fortë të shpuar. Mund ta blini në dyqanin e pajisjeve ku ndonjëherë quhet "dërrasë krevati". Ka vrima të vogla në të që e kanë bërë atë ideale për vendosjen e llambave. Fatkeqësisht vrimat në tabelën time ishin pak më të mëdha se 5 mm, kështu që më duhej të përdor ngjitës të nxehtë për të "montuar" llambat.

Kam bërë një vrimë drejtkëndëshe në qendër të tabelës së fortë për ekranin 16x2 dhe e kam shtypur. PCB me të gjitha pajisjet elektronike varet në këtë ekran, nuk është montuar në asgjë tjetër.

Dërrasa e fortë e shpuar ishte lyer me bojë të zezë dhe por pas dyshekut. Kam shpuar dy vrima në kornizë për butonat për të vendosur kohën dhe datën, pasi korniza është mjaft e trashë më është dashur të zgjeroj vrimat në pjesën e brendshme të kornizës për t'i bërë butonat të dalin sa duhet.

Recommended: