Talaan ng mga Nilalaman:

Walang Blue Lamp: 4 Hakbang
Walang Blue Lamp: 4 Hakbang

Video: Walang Blue Lamp: 4 Hakbang

Video: Walang Blue Lamp: 4 Hakbang
Video: PAANO MAG- APPLY NG MATIBAY //NAIL POLISH GEL // TUTORIAL 2024, Hulyo
Anonim
Walang Blue Lamp
Walang Blue Lamp
Walang Blue Lamp
Walang Blue Lamp
Walang Blue Lamp
Walang Blue Lamp
Walang Blue Lamp
Walang Blue Lamp

Kaya't ang Lazy Old Geek (L. O. G.) na ito ay nagtatrabaho sa isang Blue Light Project:

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

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

Sa gayon, para sa susunod na hakbang ay ginusto ko ang isang ilawan na magiging maliwanag sa araw at walang asul na ilaw sa gabi / gabi.

Disenyo ng Hardware:

Nagpasya akong gumamit ng isang RTC (Real Time Clock) upang makontrol ang mga oras para sa mga pagbabago sa ilaw.

Pinili ko ang DS3231 dahil mayroon itong mas mahusay na pagpapanatili ng oras kaysa sa DS1307. Ang DS3231 ay maaaring 5v o 3.3v.

Para sa ilaw, gagamit ako ng isang WS2812B LED string. Ang mga ito ay may isang simpleng tatlong interface ng kawad at makokontrol na Red, Green at Blue LEDs. Ang WS2812B ay mga 5v na aparato.

Para sa microcontroller gagamit ako ng isang Pro Micro, 5v 16MHz.

Habang ang WS2812B ay malamang na gagana sa 3.3V, mas mahusay na gumamit ng isang 5V Arduino.

Ang Pro Micro ay isang murang Arduino na gumagamit ng isang Atmega32U4 microcontroller.

Ang lampara ay magkakaroon ng on / off switch upang i-on o i-off ang lampara.

Magkakaroon ng potensyomiter upang makontrol ang ningning.

Disenyo ng Software:

Ang DS3231 RTC ay makokontrol ang tiyempo, mayroon itong backup ng baterya kaya dapat panatilihin ang oras kahit na nawala ang lakas.

Sa araw, ang lahat ng RGB LEDs ay nasa, makokontrol ng palayok hanggang sa buong lakas.

Maagang gabi, ang mga Blue LEDs ay papatay, Pula at berde sa max.

Tulad ng pag-usad sa gabi, ang Red at Green LEDs ay malabo, na may kagustuhan ng Red kaysa Green (Ang aking pagsubok sa Bahagi 2 ay nagmumungkahi na ang mga Green LEDs ay may ilang mga Blue sa kanila).

After around 10p.m. ang lahat ng mga LED ay papatayin.

PROBLEMA:

Bumalik sa module ng DS3231 RTC, bumili ako ng minahan mula sa Aliexpress tulad ng ginawa ko para sa iba pang mga bahagi.

Ang mga ito ay dapat na gumana at sisingilin ng isang LIR2032 rechargeable na baterya. Sinubukan ko ito. Matapos ang halos isang araw, patay na ang baterya.

Kaya pagkatapos ng ilang paghahanap sa Internet, nahanap ko ang artikulong ito.

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

Sumasang-ayon ako sa pagtatasa na ito ngunit naisip na ang LIR2032 ay sisingilin ng sapat ngunit hindi labis. Mali yata ako. Ang aking DS3231 bagaman minarkahan din bilang ZS-042 tulad ng sa artikulo ay bahagyang naiiba pagkatapos niya ngunit halos magkapareho. Kaya't inalis ko ang diode na nakikita sa larawan at nag-install ng baterya ng CR2032. Nang walang diode ang module ay hindi susubukan na singilin ang baterya. Ngayon ang DS3231 ay nagtataglay ng tamang oras kahit na may kuryente na naka-disconnect at ang baterya ay dapat na mabuti sa loob ng maraming taon.

Mga kinakailangan sa lakas:

Ang WS2812B ay isang string ng RGB LEDs na tinatawag na minsan na tinatawag na NeoPixels. Ang bawat NeoPixel ay nangangailangan ng maximum na 60mA. Gumagamit ako ng 12 Neo Pixel kaya kailangan ng 0.72A. Gumagamit ako ng isang 2A USB adapter kaya't mayroong maraming kasalukuyang.

Hakbang 1: BlueLamp PCB

BlueLamp PCB
BlueLamp PCB
BlueLamp PCB
BlueLamp PCB

Kaya't tulad ng karaniwang ginagawa ko, ginamit ko ang libreng Eagle Cadsoft software (ngayon Autodesk) upang mag-layout at lumikha ng aking PCB.

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

Ang Eagle eskematiko at board file ay nakakabit kasama ang eskematiko sa isang larawan.

Ang isang puna tungkol sa eskematiko, ang 330 ohm resistor at 10, 000uFd capacitor ay mga rekomendasyon ng gabay ng neopixel ng Adafruit:

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

Ang pindutan ng toggle na ginamit ko na Torch pushbutton switch 'ay nagmula rito:

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

Ang 10K (B103) potentiometer mula dito:

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

Hakbang 2: Pag-iipon ng Lampara

Pag-iipon ng lampara
Pag-iipon ng lampara
Pag-iipon ng lampara
Pag-iipon ng lampara

Nagkaroon ako ng mabibigat na base mula sa isang nabiling lampara. Ito ay may isang malaking bilog na pin dito. Kumuha ako ng isang piraso ng pipa ng PVC na akma rito. Medyo maluwag ito kaya kumuha ako ng isang bolt at isang pares ng mga nut upang mahigpit ko ito. (tingnan ang larawan)

Ang WS2812B ay maaaring i-cut sa bilang ng mga NeoPixels na nais mo. Ang strip na binili ko ay may malawak na puwang sa pagitan ng NeoPixels. Nais kong maging mas maliwanag ito kaya pinutol ko ang dalawang 6 na NeoPixel strips at pinatakbo ang mga ito sa kahanay na bahagyang offset. Ang mga piraso ng WS2812B ay maaaring i-cut sa pagitan ng NeoPixels. Sa kasong ito kailangan ko ng pagbabago ng 180 degree kaya't pinutol ko ang strip at pinatakbo ang mga jumper wires sa pagitan. Kung gagawin mo ito siguraduhing tama ang mga signal at direksyon ng mga arrow. (Tingnan ang larawan)

Ang WS2812B na ito ay mayroon ding mga wires at isang konektor (ang konektor na ito ay isang JST-SM 3pin konektor kung nais mong gamitin ito sa ibang lugar). Dahil ang konektor na ito ay naroon na, hinangad ko lang ang mga wires sa aking PCB. Para sa WS2812B na ito ang pulang kawad ay 5v, berde ang signal at puti ang lupa.

Sa sandaling ginawa ko ang PCB, naglagay ako ng ilang tape sa ilalim at idinikit ito sa base. Pagkatapos ay naka-plug ako sa Pro Micro at sa DS3231.

Hakbang 3: Arduino Sketch

Arduino Sketch
Arduino Sketch

Bagaman binili ko ang aking Pro Micro mula sa Aliexpress.com, ginamit ko ang sumusunod na impormasyon upang magamit ang Arduino:

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

Upang mai-install ang library para sa DS3231, ginagamit ko ang isang ito:

github.com/PaulStoffregen/DS1307RTC

I-download ang Zip file

Buksan ang Arduino, piliin ang 'Sketch' 'Isama ang Library' 'Magdagdag ng.zip library'

I-install ang sumusunod na gamitin ang parehong pamamaraan

Time Library PaulStoffregen

github.com/PaulStoffregen/Time

Library ng Timezone

github.com/JChristensen/Timezone

Kapag nakumpleto, simulan ang Arduino.

Piliin sa ilalim ng Mga Board Board ang "Sparkfun Pro Micro"

Mag-click muli sa Mga Tool, magkakaroon ng pagpipilian para sa processor

Maaaring kailanganin mong baguhin ito "Atmega32U4 (5V 16Mhz)"

BABALA: Kung hindi ka pabaya tulad ko, napili ko ang "Atmega32U4 (3.3V 8Mhz)" nang hindi sinasadya. Ang 'bricked' nito kaya't hindi ito nakita ng Arduino. Sa gayon, madalas kong subukang basahin ang mga bagong bagay bago ko ito makuha at naalala ang isang bagay tungkol sa nangyayari:

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

Sa patnubay na ito, mayroong isang seksyon na tinatawag na "Paano Muling Buhayin ang isang 'Bricked' Pro Micro" Tulad ng binabanggit nito, ito ay isang nakakalito na pamamaraan ngunit pinamahalaan kong mabawi ang minahan.

FYI: Kung nagtataka ka kung bakit mayroong dalawang mga bersyon na may iba't ibang mga voltages at bilis, ang Atmega32U4 (kapareho ng Atmega328) ay gagana nang maayos sa 5V na may isang 16MHz na orasan. Ngunit sa 3.3V sinabi ng disenyo ng disenyo na ang 16MHz na orasan ay hindi gagana, iyon ang dahilan kung bakit mayroon silang relo sa 8MHz. Pangkalahatan, ang pagsasalita ng Arduino software ay mag-aalaga ng anumang mga isyu sa tiyempo.

TIP RTC: Karamihan sa software na nakasulat para sa DS1307 ay gagana sa DS3231 dahil mayroon silang katulad na software.

Oras ng Pag-save ng Daylight

Sa gayon, nais kong ipatupad ang DST, kaya hindi ko kailangang muling pagprogram ng aking lampara dalawang beses sa isang taon. Nagtrabaho ako rito nang maraming araw. Wala akong nakitang anumang magagandang simpleng paliwanag kung paano gumana ang Oras, TimeLib at RTClib.

Sinulat ko talaga ang ilang DST code para sa aking IPClock:

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

na gumana para sa oras ng Internet ngunit hindi ko ito magawang gumana para sa oras ng RTC.

Sa wakas ay natakbo ko ang sumusunod sa pamamagitan ng JChristensen:

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

github.com/JChristensen/Timezone

Upang magamit ito, kailangan mo munang itakda ang RTC sa UTC (Coordinated Universal Time), oras na ito sa Greenwich, England. Sa gayon, hindi alam kung paano gawin iyon ngunit natagpuan ang artikulong ito:

www.justavapor.com/archives/2482

I-Rewrote ito para sa oras ng Mountain (naka-attach) UTCtoRTC.ino

Pagkatapos ay isinama ko ang timezone sa aking Sketch. Sa totoo lang, hindi ko ito nasubok kaya't sa pag-aakala ko lamang na gumagana ito.

Nakalakip ang aking sketch na MTS_BlueLamp.ino.

Hakbang 4: Konklusyon

Konklusyon
Konklusyon

Gumawa ako ng isang maliit na kawit sa itaas para sa aking maskara sa mukha ng CPAP. Isinabit ko ito sa dati kong lampara sa kama.

Talaga napakasaya sa lampara na ito. Ganap na maliwanag sa araw at walang asul sa gabi at gabi.

Ang isang bagay na hindi ko gusto ay hindi ko ito magagamit pagkatapos ng 10p.m. at bago mag 5a.m.

Nalaman ko rin na hindi ako gumagamit ng toggle on / off tulad ng karaniwang ginagamit ko lang na dimmer switch.

Sa hinaharap, maaari kong muling isulat ang sketch at baguhin ang pindutan sa nakaiskedyul o hindi nakaiskedyul (full on) switch. Ngunit sa aking mahinang kasanayan sa pag-cod ay maaaring maghintay ako sandali.

Inirerekumendang: