Sadržaj:

Bez plave svjetiljke: 4 koraka
Bez plave svjetiljke: 4 koraka

Video: Bez plave svjetiljke: 4 koraka

Video: Bez plave svjetiljke: 4 koraka
Video: 🇧🇷 ДНЕВНЫЕ БОРДЕЛИ РИО // ЗАБРАЛ ЛЬВИЦУ С ПЛЯЖА ДОМОЙ 🇧🇷 БРАЗИЛИЯ РИО ДЕ ЖАНЕЙРО 2024, Studeni
Anonim
Nema plave lampe
Nema plave lampe
Nema plave lampe
Nema plave lampe
Nema plave lampe
Nema plave lampe
Nema plave lampe
Nema plave lampe

Tako je ovaj Lazy Old Geek (L. O. G.) radio na projektu Blue Light:

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

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

Pa, za sljedeći korak želio sam svjetiljku koja će biti svijetla danju i neće imati plavo svjetlo navečer/noću.

Dizajn hardvera:

Odlučio sam upotrijebiti RTC (sat u stvarnom vremenu) za kontrolu vremena za promjenu svjetla.

Odabrao sam DS3231 jer ima bolju točnost zadržavanja vremena od DS1307. DS3231 može biti 5v ili 3.3v.

Za svjetlo ću koristiti LED niz WS2812B. Oni imaju jednostavno trožilno sučelje i kontrolne crvene, zelene i plave LED diode. WS2812B su 5v uređaji.

Za mikrokontroler koristit ću Pro Micro, 5v 16MHz.

Iako će WS2812B vjerojatno raditi s 3.3V, bolje je koristiti 5V Arduino.

Pro Micro je jeftin Arduino koji koristi mikrokontroler Atmega32U4.

Svjetiljka će imati prekidač za uključivanje/isključivanje za uključivanje ili isključivanje lampe.

Postojat će potenciometar za kontrolu svjetline.

Dizajn softver:

DS3231 RTC bi kontrolirao vrijeme, ima rezervnu bateriju pa bi trebao zadržati vrijeme čak i ako je napajanje nestalo.

Tijekom dana, sve bi RGB LED diode bile uključene, a pot se može kontrolirati do punog intenziteta.

Rano navečer plave LED diode će biti isključene, crvena i zelena uključene max.

Kako večer napreduje, crvena i zelena LED dioda će se smanjivati, pri čemu će prednost imati crvena nad zelenom (Moje testiranje u 2. dijelu sugerira da zelene LED diode imaju nešto plave boje).

Nakon oko 22 sata sve LED diode će biti isključene.

PROBLEM:

Nazad na DS3231 RTC modul, ja sam svoj kupio od Aliexpressa kao i ostale komponente.

Oni bi trebali raditi i puniti punjivu bateriju LIR2032. Isprobala sam. Nakon otprilike jednog dana, baterija se ispraznila.

Pa nakon nekog pretraživanja na internetu, pronašao sam ovaj članak.

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

Slažem se s ovom analizom, ali mislio sam da će se LIR2032 puniti adekvatno, ali ne pretjerano. Očigledno sam pogriješio. Moj DS3231 iako je također označen kao ZS-042 kao u članku bio je nešto drugačiji od njegovog, ali gotovo isti. Tako sam raspajkao diodu prikazanu na slici i ugradio bateriju CR2032. Bez diode modul neće pokušati napuniti bateriju. Sada DS3231 drži točno vrijeme čak i s isključenim napajanjem, a baterija bi trebala biti dobra dugi niz godina.

Zahtjevi napajanja:

WS2812B je niz RGB LED dioda koji se ponekad naziva NeoPixels. Svaki NeoPixel zahtijeva najviše 60mA. Koristim 12 Neo piksela pa mi treba 0,72A. Koristim 2A USB adapter pa imajte dovoljno struje.

Korak 1: Plava ploča BlueLamp

Plava ploča BlueLamp
Plava ploča BlueLamp
Plava ploča BlueLamp
Plava ploča BlueLamp

Kao i obično, koristio sam besplatni softver Eagle Cadsoft (sada Autodesk) za postavljanje i izradu svoje PCB -a.

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

Eagle shematske i kartonske datoteke pridružene su zajedno sa shemom na slici.

Jedan komentar o shemi, otpornik od 330 ohma i kondenzator od 10 000 uFd preporuke su Adapruit vodiča za neopiksele:

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

Gumb za uključivanje / isključivanje koji sam koristio "Torch buttonbutton switch" došao je odavde:

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

Potenciometar 10K (B103) odavde:

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

Korak 2: Sastavljanje svjetiljke

Sastavljanje svjetiljke
Sastavljanje svjetiljke
Sastavljanje svjetiljke
Sastavljanje svjetiljke

Slučajno sam imao tešku podlogu od svjetiljke koju sam kupio. Na sebi je imala veliku okruglu iglu. Uzeo sam komad PVC cijevi koji je stajao preko njega. Bio je malo labav pa sam uzeo vijak i nekoliko matica kako bih ga mogao zategnuti. (vidi sliku)

WS2812B se može izrezati na broj NeoPixela koji želite. Traka koju sam kupio ima velike razmake između NeoPixela. Htio sam da bude malo svjetliji pa sam izrezao dvije 6 NeoPixel trake i paralelno ih vodio s pomakom. Trake WS2812B mogu se rezati između NeoPixela. U ovom slučaju trebala mi je promjena za 180 stupnjeva pa sam prerezao traku i provukao kratkospojnike između njih. Ako to ikada učinite, provjerite jesu li signali i strelice smjera ispravni. (Pogledajte sliku)

Ovaj WS2812B također ima žice i konektor (ovaj konektor je 3-pinski konektor JST-SM ako ga želite koristiti drugdje). Budući da je ovaj konektor već bio tamo, samo sam lemio žice na PCB. Za ovaj WS2812B crvena žica je 5V, zelena je signal, a bijela je uzemljena.

Nakon što sam napravio PCB, stavio sam traku na dno i zalijepio je za bazu. Zatim sam priključio Pro Micro i DS3231.

Korak 3: Arduino skica

Arduino skica
Arduino skica

Iako sam svoj Pro Micro kupio na Aliexpress.com, koristio sam sljedeće podatke kako bih Arduino počeo raditi:

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

Za instaliranje knjižnice za DS3231 koristim ovu:

github.com/PaulStoffregen/DS1307RTC

Preuzmite Zip datoteku

Otvorite Arduino, odaberite "Sketch" "Include Library" "Add.zip library"

Instalirajte sljedeće koristeći istu metodu

Knjižnica vremena PaulStoffregen

github.com/PaulStoffregen/Time

Knjižnica vremenske zone

github.com/JChristensen/Timezone

Kada završite, pokrenite Arduino.

U odjeljku Alatne ploče odaberite "Sparkfun Pro Micro"

Ponovno kliknite Alati, bit će odabran procesor

Možda ćete ga morati promijeniti "Atmega32U4 (5V 16Mhz)"

UPOZORENJE: Ako ste nemarni poput mene, greškom sam odabrao "Atmega32U4 (3,3 V 8 Mhz)". Ovo ga je 'zazidalo' pa ga Arduino nije mogao vidjeti. Pa, obično pokušavam pročitati nove stvari prije nego što ih dobijem i sjetim se nečega o tome što se dogodilo:

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

U ovom vodiču postoji odjeljak pod nazivom "Kako oživjeti" zazidani "Pro Micro" Kako se spominje, to je lukav postupak, ali uspjela sam oporaviti svoj.

Napomena: Ako se pitate zašto postoje dvije verzije s različitim naponima i brzinama, Atmega32U4 (isto kao i Atmega328) dobro će raditi na 5V sa taktom od 16 MHz. No, na 3.3V dizajnerske specifikacije kažu da sat od 16MHz neće raditi, zato imaju sat na 8MHz. Općenito govoreći, govoreći o softveru Arduino pobrinut će se za sve probleme s vremenom.

RTC SAVJET: Većina softvera napisanog za DS1307 radit će s DS3231 jer imaju vrlo sličan softver.

Ljetno računanje vremena

Pa, htio sam implementirati DST, pa nisam morao dva puta godišnje reprogramirati svjetiljku. Radio sam na tome nekoliko dana. Nisam mogao pronaći dobra jednostavna objašnjenja o tome kako su radili Time, TimeLib i RTClib.

Zapravo sam napisao neki DST kôd za svoj IPClock:

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

to je radilo za vrijeme interneta, ali nisam ga mogao natjerati da radi za vrijeme RTC -a.

Konačno sam naišao na sljedeće od JChristensena:

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

github.com/JChristensen/Timezone

Da biste to koristili, najprije morate postaviti RTC na UTC (koordinirano univerzalno vrijeme), to je vrijeme u Greenwichu u Engleskoj. Pa, nisam znao kako to učiniti, ali pronašao sam ovaj članak:

www.justavapor.com/archives/2482

Prepisao ga za planinsko vrijeme (u privitku) UTCtoRTC.ino

Zatim sam uključio vremensku zonu u svoju Skicu. Da budem iskren, nisam ga isprobao pa samo pretpostavljam da radi.

Moja skica je priložena MTS_BlueLamp.ino.

Korak 4: Zaključak

Zaključak
Zaključak

Na vrhu sam napravio malu kukicu za svoju CPAP masku za lice. Obješavao sam ga na staru svjetiljku za krevet.

U osnovi vrlo zadovoljan ovom lampom. Potpuno svijetla danju i bez plave boje navečer i noću.

Ono što mi se ne sviđa je to što ga ne mogu koristiti nakon 22 sata. i prije 5 sati ujutro

Također sam otkrio da ne koristim prekidač za uključivanje/isključivanje jer obično koristim samo prekidač za prigušivanje.

U budućnosti ću možda prepisati skicu i promijeniti gumb u zakazani ili neplanirani (potpuno uključeno) prekidač. No, sa lošim vještinama kodiranja mogao bih pričekati neko vrijeme.

Preporučeni: