İçindekiler:

Kendin Yap Işıklı Çalar Saat: 7 Adım
Kendin Yap Işıklı Çalar Saat: 7 Adım

Video: Kendin Yap Işıklı Çalar Saat: 7 Adım

Video: Kendin Yap Işıklı Çalar Saat: 7 Adım
Video: Led Işıklı Oda 😫🤤#Shorts 2024, Temmuz
Anonim
DIY Işık Çalar Saat
DIY Işık Çalar Saat
DIY Işık Çalar Saat
DIY Işık Çalar Saat
DIY Işık Çalar Saat
DIY Işık Çalar Saat

Sizi uyandırmak için gün doğumunu taklit eden o süslü çalar saatlerden birini denemek istediniz mi? Odanıza renkli ışıklar eklemek ister misiniz? Her şeyi internet tarayıcısı olan herhangi bir cihazdan kontrol etmek ister misiniz? Ardından, otomatik balık yemliğimi yaparken öğrendiklerimi kullanarak yaptığım bu çalar saate bir göz atın.

Işık Alarmının temel amacı, özellikle kış aylarında, genellikle dışarısı karanlıkken, uyandığımda odamda ışık olduğundan emin olmaktır. Işık, ayarlanan alarm zamanında tam parlaklıkta biten önceden belirlenmiş bir süre boyunca kaybolur. Ama bu sadece ilk mod, oynamak için 7 farklı aydınlatma modu daha var!

Işık Alarmı, ESP-8266-12e kartında barındırılan bir HTML sayfası aracılığıyla kontrol edilir. Ev ağınızdan erişilebilir veya port yönlendirme ile internetin herhangi bir yerinden erişilecek şekilde yapılandırılabilir.

Adım 1: Malzemeler:

  • ESP-8266-12e (NodeMCU) kartı
  • En son Arduino IDE'si
  • Yüklenen kod için gerekli kitaplıklar
  • Notepad++ (isterseniz HTML'yi düzenlemek için)
  • Tarayıcı (Chrome kullandım, ancak herhangi birinin çalışması gerekir, özellikle de html kodunun çalıştığını görmenize izin veriyorsa)
  • En az 150 mm x 150 mm yapı alanına sahip 3D yazıcı
  • Beyaz veya şeffaf plastik filament (gölge için montaj, sahip olduğunuz herhangi bir renk olabilir)
  • TM1637 çipli 4 haneli 7 segment ekran, bunlardan birini kullandım
  • 1 metre adreslenebilir RGBW LED şerit, sk6812. Şeridimde 60 LED/metre var, ancak artık satılmıyor. Arduino kodu RGBW için ayarlanmıştır, bu nedenle bir RGB şeridi kullanmak istiyorsanız yeniden yazmanız gerekir. En az 60LED'li bir şerit tavsiye ederim.
  • Şeridin yapışkan bir desteği yoksa: bant ve süper yapıştırıcı
  • Kartı monte etmek için protoboard
  • 24AWG tel (birden fazla renk öneririm)
  • Güç için en az 6 ft tel. Masa üstü lambalar için yerel donanım mağazanız ne satıyorsa onu kullanmanızı öneririm.
  • 5V güç kaynağı, bunu kullandım
  • Güç kaynağı için adaptörleri unutmayın
  • Havya
  • Kartı programlamak için USB kablosu
  • sıcak tutkal
  • Başlık pimleri (Erkek ve Dişi)
  • Sabır

Adım 2: Kartın Programlanması

Panonun üzerinde iki takım kod bulunur, çalışan normal arduino kodu ve tarayıcınıza gönderdiği HTML kodu. Arduino kodunu diğer kartlarda olduğu gibi yüklersiniz. Ancak HTML, karttaki SPIFF belleğine yüklemek için bir eklenti gerektirir.

SPIFF'lerin nasıl kullanılacağına ilişkin bir eğitim için bkz.

HTML kodunu nasıl yükleyeceğinizi öğrenmek için https://www.esp8266.com/viewtopic.php?f=32&t=10081 adresine bakın, bunu yapabilmek için arduino'ya bir eklenti yüklemeniz gerekecek.

HTML'nin arduino proje klasöründeki basitçe 'veri' olarak adlandırılan bir klasöre kaydedilmesi gerekir.

HTML'yi yüklemek birkaç dakika sürüyor, beklerken Mario Kart 8'de bir veya iki çevrimiçi yarış oynayabildim. Bu nedenle, HTML'de değişiklik yapıyorsanız, dosyayı düzenlemek ve test etmek için chrome gibi bir tarayıcıya bırakmak için notepad++ kullanın.

3. Adım: Kod Nasıl Çalışır?

Kod Nasıl Çalışır?
Kod Nasıl Çalışır?
Kod Nasıl Çalışır?
Kod Nasıl Çalışır?

Bu projedeki kod iki dosyaya ayrılmıştır: Board tarafından çalıştırılan kod ve board'un hafızasında saklanan ve web sayfasına gittiğinizde tarayıcıya gönderdiği HTML.

Kartı güce bağladığınızda, herhangi bir arduino gibi kartın kodu başlar. Evinizin WiFi'sine bağlanır ve ardından dahili saati ayarlamak için geçerli saati almak için bir NIST sunucusuyla bağlantı kurar. Saat ayarlandıktan sonra web sunucusu başlar ve favori tarayıcınız üzerinden bağlanabilirsiniz.

Kartın IP adresi ile bağlanmanız gerekir, bu nedenle yönlendiricinizde statik bir IP ayırdığınızdan emin olun. Lambamdaki bağlantı noktasını da değiştirdim, bu yüzden bağlanmak için 192.168.0.170:301/ adresine gidiyorum. Lambanıza dünyanın herhangi bir yerinden bağlanmak istiyorsanız, yönlendiricinizde bağlantı noktası iletmeyi ayarlamanız gerekecektir. Ardından https://www.whatsmyip.org/'a bağlandığınızda gördüğünüz IP adresine ve lambanın yerel IP'sinin açık olması için kurduğunuz bağlantı noktasına bağlanmanız gerekecektir.

Bağlandığınızda, tahta HTML dosyasını tarayıcınıza gönderir, bu da onu çözer ve sayfayı görüntüler. Butonlardan birine basana kadar yaptığınız değişiklikler tahtayı etkilemez. web sayfasında. Bir düğmeye bastığınızda, tarayıcınız panoya mevcut ayarlarla bir html formu gönderir ve pano bu ayarları benimser ve ekranları ayarlar.

Ayarlar oldukça yalındır. Sayfa, tarayıcınızın genişliğine göre ölçeklenir ve mobilde biraz daha iyi görünür. Ayarlar sayfasının görünümünü değiştirmek için HTML'yi düzenlemeniz gerekecek ve bunun için çevrimiçi olarak birçok başka öğretici var. HTML'yi ilk kez kullandığım için çoğunlukla https://www.w3schools.com/HTML/html_intro. ASP kullanarak öğrendim.

Sayfa yüklendiğinde dört düğme, bir kaydırıcı ve bir açılır menü göreceksiniz. En üstteki düğme, ana "giriş" veya "etkileşim" düğmesidir. Sonraki iki düğme, dijital saat gösterimini ve saati 12 saat mi yoksa 24 saat biçiminde mi görüntülediğini değiştirir. Kaydırıcı, dijital saatin parlaklığını kontrol eder ve bu, görüntüleme modunu değiştirdiğinizde veya saati açtığınızda güncellenir. Son düğmenin tüm ışıkları kapatması gerekiyor, ancak bir nedenden dolayı kodun bu sürümüyle çalışmıyor. Bunun yerine, hiçbir ayar seçilmeden "Engage" düğmesine basmak ışıkları kapatacaktır.

Açılır menü 7 sistem modu içerir, bunlardan birinin seçilmesi aşağıda gerekli ayarları gösterecektir.

  • Mod 1: Alarm. Işığın tam parlaklığa ulaşmasını istediğiniz süreyi ve sönmenin ne kadar süreceğini tamsayı olarak girin. Varsayılan 6:00:00AM ve 15 dakikadır. Işık, otomatik olarak kapanmadan önce söndüğü süre boyunca tam parlaklıkta kalacaktır. Varsayılan, HTML kodunda değiştirilebilir.
  • Mod 2: Analog Saat. Analog bir saatte akrep, yelkovan ve saniye ibrelerini temsil edecek üç renk seçin. Üç renk seçicinin üzerindeki bir kaydırıcı, sırasıyla sola veya sağa ayarlanırsa önceden ayarlanmış soğuk veya sıcak renkleri otomatik olarak koyacaktır. Kaydırıcı sola veya sağa ayarlanır ve ardından merkeze dönerse, renk seçicilerin tümü siyah (0, 0, 0, 0) [R, G, B, W] olarak ayarlanır. Tahtaya tamamen sıfır bir renk gönderildiğinde, rastgele seçilir. *Bu, ışıkların aşırı derecede yanıp sönmesine neden olabilir.* Bir ışığın kapalı kalmasını istiyorsanız, herhangi bir değeri 1 olarak ayarlamak 'siyah' ile sonuçlanır (renk seçiciler açıkken tüm değerler varsayılan olarak 1'dir (01, 01, 01, 01). başlatıldı). Renk seçici ve RGB kaydırıcıları bağlantılıyken, W kaydırıcısı bağımsızdır.
  • Mod 3: Renk. Işıkları ayarlamak için bir renk seçin. Bu, kullanıcı tarafından değiştirilene kadar kalacaktır.
  • Mod 4: Renk Döngüsü. Geçiş yapmak için üç renk seçin ve her rengin tutulacağı süreyi girin. Renkleri seçmek için Mod 2'deki ile aynı yöntemler geçerlidir. Rastgele renkler bu modda en iyi sonucu verir.
  • Mod 5: Renk Silindiri. Üç renk (öncekiyle aynı) ve silindirin RPM'sini seçin. Işıklar, eksen etrafında dönen bir şerit deseni olarak görüntülenecektir. seçtiğiniz RPM'de. Varsayılan RPM 60 veya 1 dev/sn'dir. Rastgele renkler yanıp sönen ışıklara neden olabilir!
  • Mod 6: Renk Girdabı. Üç renk ve RPM ayarlayın. Bu mod mükemmel değil, ancak fikir, ışıkların saat başı dönmesidir. Rastgele yerleşiktir, bu nedenle girdabın sıcak mı yoksa soğuk mu başlayacağını seçmek için yalnızca sıcaklık kaydırıcısını kullanmak en iyisidir.
  • Mod 7: Gökkuşağı. Döngü hızını ayarlayın, RPM burada oldukça işe yaramaz. Bu, panonun kullanıcı girdilerine yanıt vermesine izin vermek için bazı düzenlemelerin yapıldığı Neopixel Library'den önceden hazırlanmış bir örnekti.

Ayarlar seçildikten sonra, herhangi bir düğmeye basmak, ekran ayarlarını değiştirmek için formdaki değerleri kullanan panoya bir HTML formu gönderir. "Engage" düğmesi tüm ayarları gönderirken, iki saat düğmesi yalnızca saat parlaklığını gönderir. "Kapat" düğmesinin yalnızca LED şeridi kapatması gerekiyor, ancak bunun çalışmasını engelleyen bir hata var. Bunun yerine herhangi bir ayarı değiştirmeden "Engage" düğmesine basmak işe yarıyor gibi görünüyor. Pano ayarları ayrıştırdıktan sonra tarayıcınızı ilk HTML sayfasına yönlendirir.

Not: Alarm saatinin ayarlanması, sistem modunu 1 olarak değiştirir; bu, daha önce çalışmakta olan herhangi bir modu durduracak ve tüm ayarları sıfırlayacaktır. Ancak alarm saatini ayarladıktan sonra farklı bir mod başlatmanız, ayarladığınız saati değiştirmez, bu nedenle alarmınızı ayarlayabilir ve ardından yeni bir mod başlatabilirsiniz. Beyaz ışıkta alarm sönmeye başlamadan önce yeni mod kapatılmazsa, bu durum yanıp sönmeye neden olabilir. Bunu önlemek için kart, ayarlanan alarm saatini değiştirmeden tüm ışıkları kapatacak ve sistem modunu sabah 2'de 1 (alarm) olarak ayarlayacak şekilde kodlanmıştır. Bu hard cutoff süresi arduino kodunda değiştirilebilir.

4. Adım: Ağınızı Kurma ve Bağlanma

Ağınızı Kurma ve Bağlanma
Ağınızı Kurma ve Bağlanma

Her yönlendirici farklı olduğundan bu adım biraz belirsizdir. Değiştirmeniz gereken ayarları bulmak için belirli yönlendirici modelinizi Google'da aratın.

Yönlendiricinizde oturum açmanız ve muhtemelen gelişmiş modu açmanız gerekir. Yönlendiricimde bir IP adresi ayırmak için DHCP Sunucusuna gitmem gerekiyor. ESP8266'nızın MAC adresini bulun; ESP'yi her çıkardığınızda kaybolan DHCP istemci listesindeki (veya yönlendiricinizin eşdeğeri) olan olacaktır.

Lambanın IP adresini rezerve etmek için MAC adresini kullanın. Yönlendiricinizde bu ayar varsa, girişin etkinleştirildiğinden emin olun.

Kişisel ağınızın dışından bağlanmak istiyorsanız, bağlantı noktası yönlendirmeyi nasıl kuracağınızı öğrenmek için yönlendiricinizi google'da aramanız gerekir.

Adım 5: 3B Basılı Parçalar

Yazdırılan parçalar çoğu yazıcıya sığmalıdır. İki kısım vardır: Montaj ve gölgelik.

Montaj, LED şeridin sarmal bir düzende etrafına sarıldığı şeydir ve çapı, 60 LED'lik, 1 metrelik bir şeridin 3 kez sarılması ve tüm LED'lerin eksenel olarak hizalanması gerektiği şekildedir. LED'lerin farklı aralıklarla yerleştirildiği ve montaj parçası üzerinde olması gerektiği gibi hizalanmayan bir şerit kullanıyorsanız, verilen modellerle çapı değiştirin. Çap C/pi'dir, burada C çevredir ve şeridin 1/3'üdür. Montajın duvar tarafındaki yarım daire biçimli açıklıklar, güç kablosunun ve hava akışının geçmesine izin verir. Çapraz destekler, sertlik ve montaj için komut şeritleri uygulamak için bir yüzey sağlar.

Gölgelik, montaj parçasına sürtünmeli bir şekilde oturur ve gölgeyi montaj ile hizalamak için bir çentik vardır. Duvara monte edildiğinde çentik saat 12 veya 6 konumunda olmalı ve 7 segmentli saat göstergesi çentik ile aynı hizada olmalıdır. Gölge, ışıklar için bir difüzör görevi görür ve sonuç olarak çok incedir. Bunu 0,5 mm'lik bir püskürtme ucuyla yazdırdım ve çoğu ticari yazıcıda 0,4 mm püskürtme ucu bulunur, bu nedenle birkaç sorun olabilir, ancak gölgenin düzgün yazdırılacağından emin olmak için dilimleyicinizi kontrol ettiğinizden emin olun. Ayrıca gölgelik için beyaz veya yarı saydam bir plastik kullandığınızdan emin olun. Diğer renkler, ışıkların renklerini bozar veya çok fazla ışığı engeller.

Kullanmakta olduğunuz dijital saat göstergesinin gölgeye sığıp sığmadığını kontrol ettiğinizden emin olun. Saatin kabloları için yeterli boşluk bırakarak yerine sürtünmeyle oturacak şekilde tasarlanmıştır. Saat montajını değiştirmek için modelleri kullanın. Gölgenin modelini değiştirirken, ön yüzün kalınlığını 1 mm'nin altında tuttuğunuzdan emin olun, böylece saat çok az yayılma ile görünür.

Adım 6: Kablolama ve Kart Montajı

Kablolama ve Kart Montajı
Kablolama ve Kart Montajı
Kablolama ve Kart Montajı
Kablolama ve Kart Montajı
Kablolama ve Kart Montajı
Kablolama ve Kart Montajı

Tahta ve kablolama, balık yemliğimden çok daha az karmaşık. ESP-8266-12e'nin oturması için bir protokole birkaç sıra dişi başlık piminin yanı sıra güç eklemek için iki sıra erkek başlık pimini lehimleyin. İki saat veri kablosunu ve LED şerit veri kablosunu protoboard üzerindeki ilgili pinlerine lehimledim ve tüm güç ve topraklama kabloları, kartın arkasında yaptığım ilgili güç raylarına lehimlendi.

Bu tellerin diğer tarafı, saat için dişi başlıklar ve LED şerit için LED şerit konektörü olmalıdır. Saate erkek pinleri lehimlemeniz gerekebilir ve bunun için açılı pinleri tavsiye ederim. LED şerit kabloları ve güç kabloları kartın duvar tarafına (ESP olan taraf) ve saat kabloları ön tarafa (tüm lehim bağlantılarının olduğu) yönlendirilmelidir.

Bir güç hattı için 6ft 16-26 telli bakır tel kullandım. Biraz kalındı, bu yüzden güç ve toprak raylarına bağlanmak için her bir kabloyu üç dişi pim arasında ayırdım. Diğer taraf, güç kaynağınız için sahip olduğunuz konektör olmalıdır.

Açıkta kalan tüm lehim bağlantılarını (özellikle güç kablosunda ve ÖZELLİKLE benimki gibi açıkta bakır varsa) her şeyi yanlışlıkla kısa devrelerden yalıtmak için sıcak tutkalla yapıştırın. Saati tahtaya da yapıştırabilirsiniz (saatin arkasını kartın lehim tarafına), ancak bunun zayıf bir bağlantı olduğunu ve her şey monte edildikten sonra o kadar da gerekli olmadığını gördüm.

LED şeridi montajın dışına sarın. Analog saatin doğru yönde gittiğini kontrol etmek için şeridi mod 2'de test ettiğinizden EMİN OLUN. Gölge için ön kenardan ~5 mm boşluk bıraktığınızdan emin olun. Şeridin ilk LED'i (şeritin bir ucunda, her dakikanın başında görünen saniye rengi LED'i) saat 12 konumuna gider. lamba duvara monte edildiğinde. LED şeridi yerinde olduğunda, yapışkan desteğini (varsa) veya montaja yapıştırmak için yapıştırıcıyı kullanın. Şeritte yapışkan bir arkalık yoksa süper yapıştırıcı en iyi sonucu verir. Test ederken ve yapıştırıcı kururken şeridi yerinde tutmak için bant kullanın.

LED kablolarını panoya bağlamak için yarım daire biçimli deliklerden yuvaya geçirin. Güç kablosu da buradan geçirilir, yerçekimi veya kazara çekme nedeniyle kablonun çekmeyeceği bir delik seçtiğinizden emin olun.

Adım 7: Montaj

Duvara monte etmek için 3-4 3M komut şeridi veya istediğiniz kadar kullanın. Düz olduğunu kontrol etmek için montajdaki çentiği kullanın. Montaj monte edildikten sonra, güç kablosunu ve LED kablolarını panoya bağlayın ve saati gölgeye yerleştirin. Ardından, gölgeliği yuvaya yerleştirin ve güç kablosunu güç kaynağına takın!

Önerilen: