İçindekiler:

Mavi Lamba Yok: 4 Adım
Mavi Lamba Yok: 4 Adım

Video: Mavi Lamba Yok: 4 Adım

Video: Mavi Lamba Yok: 4 Adım
Video: Mavi Gri X Uzi X Taladro - Ölümle yaşam arasında (Mix) 2024, Temmuz
Anonim
Mavi Lamba Yok
Mavi Lamba Yok
Mavi Lamba Yok
Mavi Lamba Yok
Mavi Lamba Yok
Mavi Lamba Yok
Mavi Lamba Yok
Mavi Lamba Yok

Yani bu Tembel Yaşlı Geek (L. O. G.) bir Mavi Işık Projesi üzerinde çalışıyor:

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

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

Pekala, bir sonraki adım için gündüzleri parlak olan ve akşamları/geceleri mavi ışığı olmayan bir lamba istedim.

Tasarım Donanımı:

Işık değişim zamanlarını kontrol etmek için bir RTC (Gerçek Zamanlı Saat) kullanmaya karar verdim.

DS3231'i, DS1307'den daha iyi zaman tutma doğruluğuna sahip olduğu için seçtim. DS3231, 5v veya 3.3v olabilir.

Işık için bir WS2812B LED dizisi kullanacağım. Bunlar basit bir üç kablolu arayüze ve kontrol edilebilir Kırmızı, Yeşil ve Mavi LED'lere sahiptir. WS2812B 5v cihazlardır.

Mikrodenetleyici için Pro Micro, 5v 16MHz kullanacağım.

WS2812B muhtemelen 3.3V ile çalışacak olsa da, 5V Arduino kullanmak daha iyidir.

Pro Micro, Atmega32U4 mikro denetleyici kullanan ucuz bir Arduino'dur.

Lambayı açmak veya kapatmak için lambanın bir açma/kapama düğmesi olacaktır.

Parlaklığı kontrol etmek için bir potansiyometre olacaktır.

Tasarım Yazılımı:

DS3231 RTC zamanlamayı kontrol eder, pil yedeği vardır, bu nedenle güç kesilse bile zamanı tutmalıdır.

Gün boyunca, tüm RGB LED'ler, pot tarafından tam yoğunluğa kadar kontrol edilebilir şekilde açık olacaktır.

Akşamın erken saatlerinde Mavi LED'ler kapalı, Kırmızı ve Yeşil maks.

Akşam ilerledikçe, Kırmızı ve Yeşil LED'ler, Yeşil yerine Kırmızı tercih edilerek kararacaktır (Bölüm 2'deki testlerim, Yeşil LED'lerin içlerinde biraz Mavi olduğunu göstermektedir).

Akşam 10 civarı. tüm LED'ler kapalı olacaktır.

SORUN:

DS3231 RTC modülüne geri dönersek, diğer bileşenler için yaptığım gibi benimkini Aliexpress'den satın aldım.

Bunların bir LIR2032 şarj edilebilir pille çalışması ve şarj etmesi gerekiyor. denedim. Yaklaşık bir gün sonra pil bitti.

İnternette biraz araştırdıktan sonra bu yazıyı buldum.

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

Bu analize katılıyorum, ancak LIR2032'nin yeterince şarj olacağını, ancak aşırıya kaçmayacağını düşündüm. Görünüşe göre yanılmışım. DS3231'im, makaledeki gibi ZS-042 olarak da işaretlenmiş olmasına rağmen, onunkinden biraz farklıydı ama neredeyse aynıydı. Bu yüzden resimde görülen diyotu lehimden çözdüm ve CR2032 pil taktım. Diyot olmadan modül pili şarj etmeye çalışmayacaktır. Artık DS3231, güç bağlantısı kesildiğinde bile doğru zamanı tutar ve pil uzun yıllar boyunca iyi durumda olmalıdır.

Güç Gereksinimleri:

WS2812B, bazen NeoPixels olarak adlandırılan bir RGB LED dizisidir. Her NeoPixel maksimum 60mA gerektirir. 12 Neo Piksel kullanıyorum, bu yüzden 0.72A'ya ihtiyacım var. 2A USB adaptörü kullanıyorum, bu yüzden bol miktarda akım var.

Adım 1: BlueLamp PCB

BlueLamp PCB
BlueLamp PCB
BlueLamp PCB
BlueLamp PCB

Genelde yaptığım gibi, PCB'mi düzenlemek ve oluşturmak için ücretsiz Eagle Cadsoft yazılımını (şimdi Autodesk) kullandım.

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

Eagle şematik ve pano dosyaları şematik ile birlikte bir resimde eklenmiştir.

Şematik hakkında bir yorum, 330 ohm direnç ve 10.000 uFd kapasitör Adafruit'in neopiksel kılavuzunun önerileridir:

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

Kullandığım açma/kapama düğmesi "Torch buton anahtarı" buradandı:

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

10K (B103) potansiyometresi buradan:

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

Adım 2: Lambanın Montajı

Lambanın Montajı
Lambanın Montajı
Lambanın Montajı
Lambanın Montajı

Satın aldığım bir lambadan ağır bir tabanım oldu. Üzerinde büyük bir yuvarlak iğne vardı. Üzerine oturan bir parça PVC boru aldım. Biraz gevşekti, bu yüzden sıkmak için bir cıvata ve birkaç somun aldım. (resmi görmek)

WS2812B, istediğiniz NeoPiksel sayısına bölünebilir. Satın aldığım şerit NeoPixels arasında geniş boşluklara sahip. Biraz daha parlak olmasını istedim, bu yüzden iki adet 6 NeoPixel şeridi kestim ve paralel olarak hafifçe kaydırdım. WS2812B şeritleri NeoPixels arasında kesilebilir. Bu durumda 180 derecelik bir değişime ihtiyacım vardı, bu yüzden şeridi kestim ve aralarına jumper kabloları geçirdim. Bunu yaparsanız, sinyallerin ve yön oklarının doğru olduğundan emin olun.(resme bakın)

Bu WS2812B ayrıca kablolara ve bir konektöre sahiptir (başka bir yerde kullanmak istiyorsanız bu konektör bir JST-SM 3 pinli konektördür). Bu konektör zaten orada olduğundan, kabloları PCB'me lehimledim. Bu WS2812B için kırmızı kablo 5v, yeşil sinyal ve beyaz topraktır.

PCB'yi yaptıktan sonra altına biraz bant yapıştırdım ve tabana yapıştırdım. Sonra Pro Micro ve DS3231'i taktım.

Adım 3: Arduino Kroki

Arduino Kroki
Arduino Kroki

Pro Micro'mu Aliexpress.com'dan satın almama rağmen, Arduino'nun çalışması için aşağıdaki bilgileri kullandım:

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

DS3231 kitaplığını kurmak için şunu kullanıyorum:

github.com/PaulStoffregen/DS1307RTC

Zip dosyasını indirin

Arduino'yu açın, 'Sketch' 'Include Library' 'Add.zip library' seçeneğini seçin

Aşağıdakileri yükleyin aynı yöntemi kullanın

Zaman Kütüphanesi PaulStoffregen

github.com/PaulStoffregen/Time

Saat Dilimi Kitaplığı

github.com/JChristensen/Timezone

Tamamlandığında, Arduino'yu başlatın.

Araçlar Panoları altında “Sparkfun Pro Micro”yu seçin

Araçlar'a tekrar tıklayın, işlemci için bir seçim olacak

“Atmega32U4 (5V 16Mhz)” olarak değiştirmeniz gerekebilir.

UYARI: Eğer benim gibi dikkatsiz iseniz yanlışlıkla “Atmega32U4 (3.3V 8Mhz)” seçeneğini seçmişimdir. Bu, Arduino'nun görememesi için onu 'tuğlaladı'. Eh, genellikle onu almadan önce yeni şeyler okumaya çalışırım ve bununla ilgili bir şey hatırladım:

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

Bu kılavuzda “Bricked” Pro Micro Nasıl Canlandırılır” adlı bir bölüm var. Bahsedildiği gibi, bu zor bir işlem ama benimkini kurtarmayı başardım.

Bilginize: Neden farklı voltaj ve hızlara sahip iki versiyonun olduğunu merak ediyorsanız, Atmega32U4 (Atmega328 ile aynı) 16MHz saat ile 5V'de iyi çalışacaktır. Ancak 3.3V'de tasarım özelliği 16MHz saatin çalışmayacağını söylüyor, bu yüzden saat 8MHz'de. Genel olarak, Arduino yazılımını konuşmak, herhangi bir zamanlama sorununu halledecektir.

RTC İPUCU: DS1307 için yazılan yazılımların çoğu, çok benzer yazılımlara sahip oldukları için DS3231 ile çalışacaktır.

Günışıgından yararlanma süresi

DST'yi uygulamak istedim, bu yüzden lambamı yılda iki kez yeniden programlamak zorunda kalmadım. Birkaç gün bunun üzerinde çalıştım. Time, TimeLib ve RTClib'in nasıl çalıştığına dair iyi ve basit açıklamalar bulamadım.

Aslında IPClock'um için bazı DST kodları yazdım:

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

bu İnternet zamanı için çalıştı ama RTC zamanı için çalışmasını sağlayamadım.

Sonunda JChristensen tarafından aşağıdakilerle karşılaştım:

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

github.com/JChristensen/Timezone

Bunu kullanmak için önce RTC'yi UTC'ye (Koordineli Evrensel Saat) ayarlamanız gerekir, bu zaman Greenwich, İngiltere'de. Bunu nasıl yapacağımı bilmiyordum ama bu makaleyi buldum:

www.justavapor.com/archives/2482

Dağ zamanı için yeniden yazdı (ekli) UTCtoRTC.ino

Sonra saat dilimini Sketch'ime dahil ettim. Dürüst olmak gerekirse, test etmedim, sadece işe yaradığını varsaydım.

Çizimim ekte MTS_BlueLamp.ino.

4. Adım: Sonuç

Çözüm
Çözüm

CPAP yüz maskem için tepeye küçük bir kanca yaptım. Eski yatak lambama asardım.

Temelde bu lamba ile çok mutlu. Gündüz tamamen aydınlık, akşam ve gece mavi değil.

Sevmediğim bir şey, akşam 10'dan sonra kullanamam. ve sabah 5'ten önce

Ayrıca, genellikle sadece kısma anahtarını kullandığım için açma/kapama düğmesini kullanmadığımı da öğrendim.

Gelecekte, taslağı yeniden yazabilir ve düğmeyi programlanmış veya programlanmamış (tam açık) anahtar olarak değiştirebilirim. Ancak zayıf kodlama becerilerimle bir süre bekleyebilirim.

Önerilen: