Mündəricat:

Mavi Lampa yoxdur: 4 addım
Mavi Lampa yoxdur: 4 addım

Video: Mavi Lampa yoxdur: 4 addım

Video: Mavi Lampa yoxdur: 4 addım
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Iyul
Anonim
Mavi Lampa yoxdur
Mavi Lampa yoxdur
Mavi Lampa yoxdur
Mavi Lampa yoxdur
Mavi Lampa yoxdur
Mavi Lampa yoxdur
Mavi Lampa yoxdur
Mavi Lampa yoxdur

Beləliklə, bu Lazy Old Geek (L. O. G.) Mavi İşıq Layihəsi üzərində işləyir:

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

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

Növbəti addım üçün gündüz işıqlı və axşam/gecə mavi işığı olmayan bir lampa istədim.

Dizayn Avadanlığı:

İşıq dəyişikliklərinin vaxtını idarə etmək üçün RTC (Real Time Clock) istifadə etmək qərarına gəldim.

DS1307 ilə müqayisədə dəqiqliyi qorumaq üçün daha yaxşı olduğu üçün DS3231 seçdim. DS3231 5v və ya 3.3v ola bilər.

İşıq üçün WS2812B LED simindən istifadə edəcəyəm. Bunlar sadə üç telli bir interfeysə və idarə oluna bilən Qırmızı, Yaşıl və Mavi LED -lərə malikdir. WS2812B 5v cihazdır.

Mikro nəzarətçi üçün 5V 16MHz olan bir Pro Micro istifadə edəcəyəm.

WS2812B, ehtimal ki, 3.3V ilə işləsə də, 5V Arduino istifadə etmək daha yaxşıdır.

Pro Micro, Atmega32U4 mikro nəzarətçi istifadə edən ucuz bir Arduino.

Lampanı açmaq və ya söndürmək üçün lampanın açma/söndürmə açarı olacaq.

Parlaqlığı idarə etmək üçün potensiometr olacaq.

Dizayn Proqramı:

DS3231 RTC, vaxta nəzarət edəcək, batareyanın ehtiyat nüsxəsi var, buna görə də enerji itirilsə belə vaxtı saxlamalıdır.

Gün ərzində bütün RGB LED -ləri yanacaq, tam intensivliyə qədər qazan tərəfindən idarə oluna bilər.

Axşam saatlarında Mavi LED -lər sönəcək, maksimumda Qırmızı və Yaşıl.

Gecə irəlilədikcə Qırmızı və Yaşıl LEDlər Qırmızının Yaşıldan üstünlüyü ilə sönəcək (2 -ci hissədəki testlərim Yaşıl LED -lərdə bir qədər Mavi olduğunu göstərir).

Saat 10.00 -dan sonra bütün LEDlər sönəcək.

SORUN:

DS3231 RTC moduluna qayıdaraq, Aliexpress -dən digər komponentlər üçün etdiyim kimi satın aldım.

Bunların LIR2032 akkumulyator batareyası ilə işləməsi və şarj etməsi nəzərdə tutulur. Mən sınadım. Təxminən bir gün sonra batareya bitdi.

İnternetdə bir az axtardıqdan sonra bu yazını tapdım.

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

Bu analizlə razıyam, amma LIR2032 -nin adekvat, lakin həddindən artıq yüklənməyəcəyini düşündüm. Görünür səhv etdim. Mənim DS3231, məqalədə olduğu kimi ZS-042 olaraq da qeyd olunsa da, ondan bir qədər fərqli idi, amma demək olar ki, eyni idi. Beləliklə, şəkildə gördüyüm diodun lehimdən çıxarıb CR2032 batareyasını qoydum. Diyot olmadan modul batareyanı doldurmağa çalışmayacaq. İndi DS3231, güc kəsildikdə belə doğru vaxtı saxlayır və batareya uzun illər yaxşı vəziyyətdə olmalıdır.

Güc tələbləri:

WS2812B, bəzən NeoPixels adlanan RGB LED -lərdən ibarətdir. Hər bir NeoPixel maksimum 60mA tələb edir. 12 Neo Piksel istifadə edirəm, buna görə 0.72A lazımdır. 2A USB adapterindən istifadə edirəm, buna görə çoxlu cərəyana sahib olun.

Addım 1: BlueLamp PCB

BlueLamp PCB
BlueLamp PCB
BlueLamp PCB
BlueLamp PCB

Adətən etdiyim kimi, PCB -ni düzəltmək və yaratmaq üçün pulsuz Eagle Cadsoft proqramından (indi Autodesk) istifadə etdim.

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

Eagle sxematik və lövhə sənədləri bir şəkil ilə birlikdə əlavə olunur.

Şematik, 330 ohm rezistor və 10 000 uFd kondansatör haqqında bir şərh Adafruit -in neopixel bələdçisinin tövsiyələridir:

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

"Məşəl düymə açarı" istifadə etdiyim keçid düyməsi buradan idi:

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

Buradan 10K (B103) potensiometr:

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

Addım 2: Lampanın yığılması

Lampanın yığılması
Lampanın yığılması
Lampanın yığılması
Lampanın yığılması

Aldığım bir lampadan ağır bir bazaya sahib oldum. Üzərində böyük bir yuvarlaq sancaq vardı. Üzərinə uyğun olan bir PVC boru götürdüm. Bir az boş idi, buna görə də bir bolt və bir neçə qoz -fındıq götürdüm ki, bərkidin. (şəkilə bax)

WS2812B, istədiyiniz NeoPixel sayına bölünə bilər. Aldığım zolağın NeoPixels arasında geniş yerləri var. Bir az daha parlaq olmasını istədim, buna görə iki 6 NeoPixel zolağını kəsdim və paralel olaraq bir qədər ofsetlə qaçdım. WS2812B şeritləri NeoPixels arasında kəsilə bilər. Bu vəziyyətdə 180 dərəcə bir dəyişikliyə ehtiyacım var idi, buna görə zolağı kəsdim və arasına tullanan tellər qoydum. Əgər bunu etsəniz, siqnalların və istiqamət oxlarının düzgün olduğundan əmin olun. (Şəklə baxın)

Bu WS2812B-də tellər və bir bağlayıcı da var (başqa bir yerdə istifadə etmək istəyirsinizsə bu bağlayıcı JST-SM 3pin bağlayıcıdır). Bu bağlayıcı artıq orada olduğundan, telləri yalnız PCB -yə lehimlədim. Bu WS2812B üçün qırmızı tel 5v, yaşıl siqnal və ağ torpaqdır.

PCB düzəltdikdən sonra dibinə bir az lent qoydum və bazaya yapışdırdım. Sonra Pro Micro və DS3231 -i bağladım.

Addım 3: Arduino Sketch

Arduino eskiz
Arduino eskiz

Aliexpress.com -dan Pro Micro -nu satın alsam da, Arduinonun işləməsi üçün aşağıdakı məlumatlardan istifadə etdim:

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

DS3231 üçün kitabxananı qurmaq üçün bu kitabdan istifadə edirəm:

github.com/PaulStoffregen/DS1307RTC

Zip faylını yükləyin

Arduino'yu açın, 'Sketch' 'Kitabxanaya Daxil Et' '.zip kitabxanası əlavə et' seçin

Eyni metoddan istifadə edərək aşağıdakıları quraşdırın

Zaman Kitabxanası PaulStoffregen

github.com/PaulStoffregen/Time

Saat qurşağı kitabxanası

github.com/JChristensen/Timezone

Tamamlandıqda Arduino'yu işə salın.

Alətlər Paneli altında "Sparkfun Pro Micro" seçin

Alətləri yenidən vurun, prosessor üçün seçim olacaq

"Atmega32U4 (5V 16Mhz)" dəyişdirməyiniz lazım ola bilər.

XƏBƏRDARLIQ: Əgər mənim kimi diqqətsiz olsanız, səhvən "Atmega32U4 (3.3V 8Mhz)" seçmişəm. Bu "kərpic" etdi, buna görə Arduino onu görə bilmədi. Yaxşı, ümumiyyətlə yeni şeyləri əldə etməzdən əvvəl oxumağa çalışıram və baş verənlərlə bağlı bir şey xatırlayıram:

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

Bu təlimatda, "Kərpiclənmiş" Pro Mikroları necə canlandırmaq "adlı bir bölmə var. Qeyd edildiyi kimi, bu çətin bir prosedurdur, amma özümü bərpa edə bildim.

Məlumat: Niyə fərqli gərginlik və sürətə malik iki versiyanın olduğunu düşünürsünüzsə, Atmega32U4 (Atmega328 ilə eyni) 5V -də 16MHz saatla yaxşı işləyəcək. Ancaq 3.3V -də dizayn spesifikasiyası 16MHz saatın işləməyəcəyini söyləyir, buna görə də saat 8MHz -dədir. Ümumiyyətlə, Arduino proqramı hər hansı bir zamanlama problemini həll edəcək.

RTC İPUCU: DS1307 üçün yazılan proqramların çoxu çox oxşar bir proqrama sahib olduğu üçün DS3231 ilə işləyəcək.

Yaz Saatı

Yaxşı, DST tətbiq etmək istədim, buna görə lampamı ildə iki dəfə yenidən proqramlaşdırmaq məcburiyyətində qalmadım. Bir neçə gün bu işlə məşğul oldum. Time, TimeLib və RTClib -in necə işlədiyinə dair heç bir yaxşı açıqlama tapa bilmədim.

IPClock üçün bir az DST kodu yazdım:

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

İnternet vaxtı üçün işlədim, amma RTC vaxtı üçün işləyə bilmədim.

Nəhayət JChristensen tərəfindən aşağıdakılarla qarşılaşdım:

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

github.com/JChristensen/Timezone

Bunu istifadə etmək üçün əvvəlcə RTC -ni UTC (Koordinasiya edilmiş Universal Saat) olaraq təyin etməlisiniz, bu vaxt İngiltərənin Qrinviç şəhərindədir. Yaxşı, bunu necə edəcəyimi bilmirdim, amma bu yazını tapdım:

www.justavapor.com/archives/2482

Dağ vaxtı üçün yenidən yazın (əlavə olunur) UTCtoRTC.ino

Sonra vaxt qurşağını Sketch -ə daxil etdim. Düzünü desəm, işlədiyini düşündüyüm üçün sınamamışam.

Eskizim MTS_BlueLamp.ino -ya əlavə edilmişdir.

Addım 4: Nəticə

Nəticə
Nəticə

CPAP üz maskam üçün yuxarıdan kiçik bir çəngəl düzəltdim. Köhnə yataq lampama asırdım.

Əsasən bu lampadan çox məmnunam. Gündüzlər tamamilə parlaqdır, axşam və gecə mavi yoxdur.

Bəyənmədiyim bir şey saat 10 -dan sonra istifadə edə bilməməyimdir. və səhər 5 -dən əvvəl

Həm də söndürmə düyməsini istifadə etdiyim üçün açma/söndürmə istifadə etmədiyimi də gördüm.

Gələcəkdə eskizi yenidən yaza bilərəm və düyməni planlı və ya planlaşdırılmamış (tam açıq) açarına dəyişə bilərəm. Ancaq zəif kodlaşdırma bacarıqlarımla bir müddət gözləyə bilərəm.

Tövsiyə: