Kazalo:

Brez modre svetilke: 4 koraki
Brez modre svetilke: 4 koraki

Video: Brez modre svetilke: 4 koraki

Video: Brez modre svetilke: 4 koraki
Video: Step Four of Meditation: Make Energy into Light with Pranayama 2024, November
Anonim
Brez modre svetilke
Brez modre svetilke
Brez modre svetilke
Brez modre svetilke
Brez modre svetilke
Brez modre svetilke
Brez modre svetilke
Brez modre svetilke

Torej je ta Lazy Old Geek (L. O. G.) delal na projektu Blue Light:

www.instructables.com/id/Blue-Light-Projec…

www.instructables.com/id/Blue-Light-Projec…

No, za naslednji korak sem si želel svetilko, ki bi bila svetle podnevi in ne bi imela modre svetlobe zvečer/ponoči.

Oblikovalska strojna oprema:

Odločil sem se, da bom uporabil RTC (Real Time Clock) za nadzor časa za spremembe svetlobe.

Izbral sem DS3231, saj ima boljši čas ohranjanja natančnosti kot DS1307. DS3231 je lahko 5v ali 3.3v.

Za svetlobo bom uporabil LED vrvico WS2812B. Ti imajo preprost trižični vmesnik in krmiljene rdeče, zelene in modre LED diode. WS2812B so 5 -voltne naprave.

Za mikrokrmilnik bom uporabil Pro Micro, 5v 16MHz.

Čeprav bo WS2812B verjetno deloval s 3.3V, je bolje uporabiti 5V Arduino.

Pro Micro je poceni Arduino, ki uporablja mikrokrmilnik Atmega32U4.

Svetilka bo imela stikalo za vklop/izklop za vklop ali izklop svetilke.

Za nadzor svetlosti bo na voljo potenciometer.

Oblikovalska programska oprema:

DS3231 RTC bi nadzoroval čas, ima rezervno baterijo, zato bi moral ohraniti čas, tudi če je napajanje izpadlo.

Čez dan bi bile prižgane vse LED diode RGB, ki jih je mogoče nadzorovati z loncem do polne jakosti.

Zgodaj zvečer bodo modre LED diode ugasnjene, rdeča in zelena svetijo največ.

Z večernim napredovanjem bosta rdeča in zelena LED svetlela, prednost bo imela rdeča nad zeleno (Moje testiranje v 2. delu kaže, da imajo zelene LED nekaj modre barve).

Po približno 22.00 uri svetleče diode ugasnejo.

PROBLEM:

Nazaj k modulu DS3231 RTC, sem svojega kupil pri Aliexpressu, tako kot pri drugih komponentah.

Ti naj bi delovali in polnili baterijo LIR2032 za ponovno polnjenje. Poskusil sem. Po približno enem dnevu se je baterija izpraznila.

No, potem ko sem po internetu iskal, sem našel ta članek.

www.onetransistor.eu/2019/07/zs042-ds3231-…

Strinjam se s to analizo, vendar sem mislil, da se bo LIR2032 polnil ustrezno, vendar ne pretirano. Očitno sem se motil. Moj DS3231, čeprav tudi označen kot ZS-042, je bil v članku nekoliko drugačen od njegovega, vendar skoraj enak. Zato sem odpakiral diodo, prikazano na sliki, in namestil baterijo CR2032. Brez diode modul ne bo poskušal napolniti baterije. Zdaj DS3231 drži pravi čas tudi pri izklopljenem napajanju, baterija pa bi morala biti dobra več let.

Zahteve po moči:

WS2812B je niz RGB LED, ki se včasih imenujejo NeoPixels. Vsak NeoPixel potrebuje največ 60 mA. Uporabljam 12 Neo pikslov, zato potrebujem 0,72A. Uporabljam adapter 2A USB, tako da imam dovolj toka.

1. korak: PCB BlueLamp

PCB BlueLamp
PCB BlueLamp
PCB BlueLamp
PCB BlueLamp

Kot ponavadi sem za postavitev in ustvarjanje tiskanega vezja uporabil brezplačno programsko opremo Eagle Cadsoft (zdaj Autodesk).

www.autodesk.com/products/eagle/free-downl…

Shema in datoteke plošče Eagle so priložene skupaj s shemo na sliki.

Eden od komentarjev o shemi, 330 ohmski upor in kondenzator 10 000 uFd, sta priporočila Adafrutovega vodila za neopiksele:

learn.adafruit.com/adafruit-neopixel-uberg…

Preklopni gumb, ki sem ga uporabil »Stikalo z gumbom gorilnika«, je bil od tu:

www.aliexpress.com/item/32904942704.html?s…

Potenciometer 10K (B103) od tukaj:

www.aliexpress.com/item/32672253655.html?s…

2. korak: Sestavljanje svetilke

Sestavljanje svetilke
Sestavljanje svetilke
Sestavljanje svetilke
Sestavljanje svetilke

Imel sem težko podlago pri kupljeni svetilki. Na njem je bil velik okrogel zatič. Vzel sem kos PVC cevi, ki se je prilegal čeznjo. Bil je nekoliko ohlapen, zato sem vzel vijak in nekaj matic, da sem ga lahko privil. (glej sliko)

WS2812B lahko razrežete na želeno število neopikslov. Trak, ki sem ga kupil, ima velike razdalje med NeoPixels. Želel sem, da je nekoliko svetlejše, zato sem izrezal dva 6 trakov NeoPixel in jih vzporedno vodil rahlo zamaknjeno. Trakove WS2812B lahko razrežete med NeoPixels. V tem primeru sem potreboval spremembo za 180 stopinj, zato sem prerezal trak in med njimi položil mostičke. Če to kdaj storite, se prepričajte, da so signali in smerne puščice pravilni. (Glej sliko)

Ta WS2812B ima tudi žice in priključek (ta priključek je 3-pinski konektor JST-SM, če ga želite uporabiti drugje). Ker je bil ta konektor že tam, sem samo spajkal žice na tiskano vezje. Za ta WS2812B je rdeča žica 5V, zelena je signal in bela je ozemljena.

Ko sem naredil tiskano vezje, sem na dno položil trak in ga prilepil na podlago. Nato sem priključil Pro Micro in DS3231.

3. korak: Arduino skica

Arduino skica
Arduino skica

Čeprav sem svoj Pro Micro kupil na Aliexpress.com, sem uporabil naslednje podatke za zagon delovanja Arduina:

learn.sparkfun.com/tutorials/pro-micro--fi…

Za namestitev knjižnice za DS3231 uporabljam tole:

github.com/PaulStoffregen/DS1307RTC

Prenesite datoteko Zip

Odprite Arduino, izberite "Sketch" "Include Library" "Add.zip library"

Na enak način namestite naslednje

Knjižnica časa PaulStoffregen

github.com/PaulStoffregen/Time

Knjižnica časovnega pasu

github.com/JChristensen/Timezone

Ko končate, zaženite Arduino.

Pod Orodne plošče izberite »Sparkfun Pro Micro«

Znova kliknite Orodja, tam bo izbira za procesor

Morda ga boste morali spremeniti »Atmega32U4 (5V 16Mhz)«

OPOZORILO: Če ste neprevidni, kot sem jaz, sem pomotoma izbral »Atmega32U4 (3.3V 8Mhz)«. To ga je "zazidalo", tako da ga Arduino ni videl. No, ponavadi poskušam prebrati nove stvari, preden jih dobim, in se spomnim nekaj o tem, kar se je zgodilo:

learn.sparkfun.com/tutorials/pro-micro--fi…

V tem priročniku je razdelek z naslovom "Kako oživiti" zidane "Pro Micro" Kot omenja, je to zapleten postopek, vendar sem svojega uspel obnoviti.

Opomba: Če se sprašujete, zakaj obstajata dve različici z različnimi napetostmi in hitrostmi, bo Atmega32U4 (enako kot Atmega328) dobro deloval pri 5V s taktom 16MHz. Toda pri 3.3V oblikovne specifikacije pravijo, da ura 16MHz ne bo delovala, zato imajo uro pri 8MHz. Na splošno bo programska oprema Arduino rešila vsa vprašanja glede časa.

NASVET RTC: Večina programske opreme, napisane za DS1307, bo delovala z DS3231, saj imajo zelo podobno programsko opremo.

Poletni čas

No, želel sem uvesti DST, zato mi ni bilo treba dvakrat letno reprogramirati svetilke. Na tem sem delal nekaj dni. Nisem našel dobrih preprostih razlag o tem, kako delujejo Time, TimeLib in RTClib.

Pravzaprav sem napisal nekaj kode DST za svoj IPClock:

www.instructables.com/id/NO-MORE-SPRING-FO…

to je delovalo za internetni čas, vendar za čas RTC nisem mogel delovati.

Končno sem JChristensen naletel na naslednje:

forum.arduino.cc/index.php?topic=96891.0

github.com/JChristensen/Timezone

Če želite to uporabiti, morate najprej nastaviti RTC na UTC (usklajen univerzalni čas), to je čas v Greenwichu v Angliji. No, nisem vedel, kako to storiti, vendar sem našel ta članek:

www.justavapor.com/archives/2482

Prepisali smo ga za čas v gorah (priloženo) UTCtoRTC.ino

Nato sem časovni pas vključil v svojo skico. Če sem iskren, ga nisem preizkusil, zato samo domnevam, da deluje.

Moja skica je priložena MTS_BlueLamp.ino.

4. korak: Zaključek

Zaključek
Zaključek

Na vrhu sem naredil majhen kavelj za obrazno masko CPAP. Včasih sem ga obesil na staro posteljno svetilko.

V bistvu sem zelo zadovoljen s to svetilko. Popolnoma svetlo podnevi in brez modrosti zvečer in ponoči.

Ena stvar, ki mi ni všeč, je, da je ne morem uporabiti po 22. uri zjutraj. in pred 5. uro zjutraj

Ugotovil sem tudi, da ne uporabljam stikala za vklop/izklop, saj običajno uporabljam samo stikalo za zatemnitev.

V prihodnosti lahko skico prepišem in gumb spremenim v načrtovano ali nenačrtovano (polno vklopljeno) stikalo. Toda s svojimi slabimi veščinami kodiranja bi lahko počakal nekaj časa.

Priporočena: