Mündəricat:

DIY İşıqlı Zəngli Saat: 7 addım
DIY İşıqlı Zəngli Saat: 7 addım

Video: DIY İşıqlı Zəngli Saat: 7 addım

Video: DIY İşıqlı Zəngli Saat: 7 addım
Video: 7 Rəng Dəyişdirən Həyəcanlı Rəqəmsal Saat 2024, Iyul
Anonim
DIY İşıqlı Zəngli Saat
DIY İşıqlı Zəngli Saat
DIY İşıqlı Zəngli Saat
DIY İşıqlı Zəngli Saat
DIY İşıqlı Zəngli Saat
DIY İşıqlı Zəngli Saat

Səni oyatmaq üçün günəşin doğuşunu təqlid edən bu gözəl zəngli saatlardan birini sınamaq istəmisənmi? Otağınıza rəngli işıqlar əlavə etmək istəyirsiniz? İnternet brauzeri olan hər hansı bir cihazdan hamısını idarə etmək istəyirsiniz? Sonra avtomatik balıq bəsləyicimi qurarkən öyrəndiklərimi istifadə edərək hazırladığım bu zəngli saata baxın.

İşıq Siqnalının əsas məqsədi, oyandığımda, xüsusən də hələ qaranlıq olduqda qış vaxtı otağımda işıq olduğundan əmin olmaqdır. İşıq, əvvəlcədən təyin edilmiş bir müddət ərzində sönür və müəyyən edilmiş həyəcan vaxtı tam parlaqlıqla başa çatır. Ancaq bu yalnız ilk rejimdir, ətrafında oynamaq üçün başqa 7 işıqlandırma rejimi var!

İşıq Alarmı ESP-8266-12e lövhəsində yerləşdirilmiş HTML səhifəsi vasitəsilə idarə olunur. Ev şəbəkənizdən əldə edilə bilər və ya port yönləndirmə ilə İnternetin hər yerindən daxil olmaq üçün konfiqurasiya edilə bilər.

Addım 1: Materiallar:

  • ESP-8266-12e (NodeMCU) lövhəsi
  • Ən son Arduino IDE
  • Yüklənmiş kod üçün lazım olan kitabxanalar
  • Notepad ++ (istəsən HTML redaktə etmək üçün)
  • Brauzer (xromdan istifadə etdim, amma hər hansı biri işləməlidir, xüsusən də html kodunun işlədiyini görməyə imkan verirsə)
  • Ən azı 150 mm x 150 mm ölçülü tikinti sahəsi olan 3D printer
  • Ağ və ya şəffaf plastik filament (kölgə üçün, montaj istənilən rəngdə ola bilər)
  • TM1637 çipli 4 rəqəmli 7 seqmentli ekran, bunlardan birini istifadə etdim
  • 1 metr ünvanlı RGBW LED şeridi, sk6812. Şeridimdə 60 LED/metr var, amma artıq satılmır. Arduino kodu RGBW üçün qurulmuşdur, buna görə bir RGB şeridi istifadə etmək istəyirsinizsə onu yenidən yazmalı olacaqsınız. Ən azı 60 LED olan bir zolaq məsləhət görürəm.
  • Şeridin yapışqan dəstəyi yoxdursa: skotç və super yapışqan
  • Lövhəni quraşdırmaq üçün protoboard
  • 24AWG tel (birdən çox rəng tövsiyə edirəm)
  • Güc üçün ən azı 6ft tel. Yerli hardware mağazanızın masa üstü lampalar üçün satdıqlarını istifadə etməyi məsləhət görürəm.
  • 5V enerji təchizatı, bunu istifadə etdim
  • Enerji təchizatı üçün adapterləri unutma
  • Lehimleme dəmir
  • Kartı proqramlaşdırmaq üçün USB kabeli
  • isti yapışqan
  • Başlıq pinləri (Kişi və Dişi)
  • Səbir

Addım 2: Şuranın proqramlaşdırılması

İdarə Heyətinin üzərində iki kod dəsti olacaq: işləyən adi arduino kodu və brauzerinizə göndərdiyi HTML kodu. Başqa bir lövhədə olduğu kimi arduino kodunu da yükləyirsiniz. Bununla birlikdə HTML, lövhədəki SPIFF yaddaşına yükləmək üçün bir plug-in tələb edir.

SPIFF-lərin necə istifadə olunacağına dair bir dərs üçün

HTML kodunu necə yükləmək üçün https://www.esp8266.com/viewtopic.php?f=32&t=10081 saytına baxın, bunu etmək üçün arduino üçün bir plugin quraşdırmalısınız.

HTML, sadəcə 'data' adlanan arduino layihə qovluğundakı bir qovluğa qeyd edilməlidir.

HTML yükləmək bir neçə dəqiqə çəkir, gözləyərkən Mario Kart 8 -də bir -iki onlayn yarış oynaya bildim. Buna görə, HTML -də dəyişikliklər edirsinizsə, onu yoxlamaq üçün notepad ++ istifadə edərək faylı xrom kimi bir brauzerə qoyun.

Addım 3: Kod necə işləyir

Kod necə işləyir
Kod necə işləyir
Kod necə işləyir
Kod necə işləyir

Bu layihədəki kod iki fayla bölünür: lövhənin işlədiyi kod və veb səhifəsinə keçdiyiniz zaman brauzerə göndərdiyi lövhənin yaddaşında saxlanılan HTML.

Lövhəni gücə bağladığınızda, hər hansı bir arduino kimi lövhənin kodu başlayır. Ev WiFi -yə qoşulur və sonra daxili saatı təyin etmək üçün cari vaxtı əldə etmək üçün NIST serveri ilə əlaqə saxlayır. Saat təyin edildikdən sonra veb server işə başlayır və sevdiyiniz brauzer vasitəsilə əlaqə qura bilərsiniz.

Lövhənin IP ünvanı ilə əlaqə qurmalısınız, buna görə marşrutlaşdırıcınızda statik bir IP ayırdığınızdan əmin olun. Lampamdakı portu da dəyişdirdim, buna görə də qoşulmaq üçün 192.168.0.170:301/ ünvanına gedirəm. Dünyanın hər yerindən lampanıza qoşulmaq istəyirsinizsə, marşrutlaşdırıcınızda port yönləndirməsini qurmalısınız. Daha sonra, https://www.whatsmyip.org/ saytına və lampanın lokal IP -ni açmaq üçün qurduğunuz porta qoşulduğunuzda gördüyünüz IP ünvanına qoşulmalısınız.

Bağlandıqdan sonra lövhə HTML faylını brauzerinizə göndərir, bu da onun kodunu açır və səhifəni göstərir. Etdiyiniz dəyişikliklər düymələrdən birini vurana qədər lövhəyə təsir etmir. veb səhifəsində. Bir düyməni basdığınız zaman, brauzeriniz cari parametrləri olan lövhəyə bir html forması göndərir və lövhə bu parametrləri qəbul edir və ekranları təyin edir.

Ayarlar olduqca düzdür. Səhifə brauzerinizin genişliyi ilə ölçülür və mobil cihazlarda bir az daha yaxşı görünür. Ayarlar səhifəsinin görünüşünü dəyişdirmək üçün HTML -ni redaktə etməli olacaqsınız və bunun üçün İnternetdə bir çox başqa dərsliklər var. İlk dəfə HTML istifadə etdiyim üçün daha çox https://www.w3schools.com/HTML/html_intro. ASP istifadə edərək öyrəndim.

Səhifə yükləndikdə dörd düymə, bir kaydırıcı və açılan bir menyu görəcəksiniz. Üst düymə əsas "gir" və ya "məşğul ol" düyməsidir. Növbəti iki düymə rəqəmsal vaxt ekranını dəyişir və vaxtı 12 saat və ya 24 saat formatında göstərir. Sürgü rəqəmsal saatın parlaqlığını idarə edir və bu, ekran rejimini dəyişəndə və ya saatı açanda yenilənir. Son düymə bütün işıqları söndürməlidir, amma nədənsə kodun bu versiyası ilə işləmir. Bunun əvəzinə heç bir parametr seçilmədən "Nişan" düyməsinə basmaq işıqları söndürəcək.

Açılan menyuda 7 sistem rejimi var, birini seçərək aşağıda lazımi parametrlər göstəriləcək.

  • Mod 1: Siqnal. İşığın tam parlaqlığa çatmasını və solğunluğunun tamsaylı dəqiqələrdə olmasını istədiyiniz vaxtı daxil edin. Varsayılan saat 6:00:00 və 15 dəqiqədir. İşıq avtomatik olaraq sönməzdən əvvəl söndüyü müddət ərzində tam parlaqlıqda qalacaq. HTML kodu standart olaraq dəyişdirilə bilər.
  • Mod 2: Analog Saat. Analoq saatda saatı, dəqiqəni və saniyəni göstərmək üçün üç rəng seçin. Üç rəng seçicinin üstündəki bir kaydırıcı, sırasıyla sola və ya sağa təyin edildikdə avtomatik olaraq əvvəlcədən təyin edilmiş soyuq və ya isti rənglər qoyacaq. Sürgü sola və ya sağa qurulub, sonra mərkəzə qayıdırsa, rəng seçicilərin hamısı qara (0, 0, 0, 0) [R, G, B, W] olaraq təyin olunur. Lövhəyə tamamilə sıfır rəng göndərildikdə, təsadüfi seçilir. * Bu, işıqların həddindən artıq yanıb sönməsinə səbəb ola bilər.* Bir işığın sönməsini istəsəniz, hər hansı bir dəyəri 1 olaraq təyin etmək 'qara' ilə nəticələnəcək (rəng seçiciləri olduqda bütün dəyərlər standart olaraq 1 (01, 01, 01, 01)). başlanğıc). Rəng seçici və RGB sürgüləri bir -birinə bağlıdır, W kaydırıcısı isə müstəqildir.
  • Mod 3: Rəng. İşıqları təyin etmək üçün bir rəng seçin. Bu istifadəçi tərəfindən dəyişdirilənə qədər qalacaq.
  • Mod 4: Rəng Dövrü. Keçid etmək üçün üç rəng seçin və hər bir rəngin tutulması üçün vaxt daxil edin. Eyni üsullar Mod 2 -də olduğu kimi rənglərin seçilməsinə də aiddir. Təsadüfi rənglər bu rejimlə daha yaxşı işləyir.
  • Mod 5: Rəngli Silindr. Üç rəng (əvvəlki ilə eyni) və silindirin RPM seçin. İşıqlar ox ətrafında fırlanan zolaqlar nümunəsi kimi göstəriləcək. seçdiyiniz RPM -də. Varsayılan RPM 60 və ya 1 devir/saniyədir. Təsadüfi rənglər yanıb -sönən işıqlarla nəticələnə bilər!
  • Mod 6: Rəng burulğanı. Üç rəng və RPM seçin. Bu rejim mükəmməl deyil, amma fikir odur ki, işıqlar gecə -gündüz fırlanır. Təsadüfi bir şəkildə qurulmuşdur, buna görə burulğanın isti və ya sərin başlamasını seçmək üçün temperatur kaydırıcısını istifadə etmək daha yaxşıdır.
  • Mod 7: Göy qurşağı. Dövr sürətini təyin edin, RPM burada olduqca yararsızdır. Bu, lövhənin istifadəçi girişlərinə hələ də cavab verməsinə icazə vermək üçün Neopixel Kitabxanasından əvvəlcədən hazırlanmış bir nümunə idi.

Ayarlar seçildikdən sonra, hər hansı bir düyməyə basmaq, ekran parametrlərini dəyişdirmək üçün formdakı dəyərlərdən istifadə edən bir HTML formu lövhəyə göndərəcəkdir. "Engage" düyməsi bütün parametrləri göndərir, iki saat düyməsi yalnız saat parlaqlığını göndərir. "Söndürmə" düyməsinin yalnız LED şeridini söndürməsi nəzərdə tutulur, lakin bunun işləməsinə mane olan bir səhv var. Heç bir ayarı dəyişdirmədən "Nişan" düyməsinə basmaq yerinə iş kimi görünür. Lövhə parametrləri təhlil etdikdən sonra brauzerinizi ilkin HTML səhifəsinə yönləndirir.

Qeyd: Zəngli saatın təyin edilməsi sistem rejimini 1 -ə dəyişir, bu da əvvəllər işləyən hər hansı bir rejimi dayandıracaq və bütün parametrləri sıfırlayacaq. Ancaq həyəcan vaxtını təyin etdikdən sonra fərqli bir rejimə başlamaq, təyin etdiyiniz vaxtı dəyişdirmir, buna görə də həyəcan siqnalınızı qura və sonra yeni bir rejimə başlaya bilərsiniz. Siqnalın ağ işıqda sönməsinə başlamazdan əvvəl yeni rejim söndürülməsə, bu yanıp sönməyə səbəb ola bilər. Bunun qarşısını almaq üçün, bütün işıqları söndürmək və təyin olunmuş həyəcan vaxtını dəyişdirmədən sistem rejimini saat 2-də 1 (həyəcan) olaraq təyin etmək üçün lövhə kodlaşdırılmışdır. Bu çətin kəsilmə vaxtı arduino kodunda dəyişdirilə bilər.

Addım 4: Şəbəkənizi qurun və qoşulun

Şəbəkənizi Qurmaq və Bağlanmaq
Şəbəkənizi Qurmaq və Bağlanmaq

Hər bir yönlendiricinin fərqli olduğu üçün bu addım bir qədər qeyri -müəyyəndir. Dəyişdirməyiniz lazım olan parametrləri tapmaq üçün xüsusi router modelinizi Google -a daxil edin.

Routerinizə daxil olmalısınız və ehtimal ki, inkişaf etmiş rejimi aktiv etməlisiniz. Routerimdə bir IP ünvanı sifariş etmək üçün DHCP Serverə getməliyəm. ESP8266 -nın MAC ünvanını tapın; DHCP müştəri siyahısındakı (və ya yönlendiricinizin ekvivalenti) ESP -ni ayırdığınız zaman yox olan biri olacaq.

Lampanın IP ünvanını rezerv etmək üçün MAC ünvanından istifadə edin. Routerinizdə bu parametr varsa girişin aktiv olduğundan əmin olun.

Şəxsi şəbəkənizin xaricindən əlaqə qurmaq istəyirsinizsə, liman yönləndirməsini necə quracağınızı öyrənmək üçün marşrutlaşdırıcınızı google -a göndərməlisiniz.

Addım 5: 3D çaplı hissələr

Çap olunan hissələr əksər printerlərə uyğun olmalıdır. İki hissədən ibarətdir: montaj və kölgə.

Dəstək, LED şeridinin spiral bir naxışa büküldüyü şeydir və diametri belədir ki, 60 LED, 1 metrlik zolaq 3 dəfə bükülməlidir və bütün LEDlər eksenel olaraq hizalanmalıdır. LED -lərin fərqli bir şəkildə yerləşdiyi və montajda olduğu kimi hizalanmadığı bir zolaqdan istifadə edirsinizsə, diametri təqdim olunan modellərlə dəyişdirin. Çap C/pi -dir, burada C dairədir və şeridin uzunluğunun 1/3 hissəsidir. Montajın divar tərəfindəki yarımdairəvi deliklər elektrik kabelinin və hava axınının keçməsinə imkan verir. Çapraz bağlayıcılar möhkəmlik və montaj üçün komanda zolaqları tətbiq etmək üçün bir səth təmin edir.

Kölgənin montaj ilə sürtünmə uyğunluğu var və kölgəni montajla uyğunlaşdırmaq üçün bir çentik var. Duvara monte edildikdə çentik 12 və ya 6 saat mövqedə olmalıdır və 7 seqmentli saat ekranı çentiklə hizalanmalıdır. Kölgə işıqlar üçün diffuzor rolunu oynayır və nəticədə çox incədir. Mən onu.5mm nozzle ilə çap etdim və əksər kommersiya printerləri.4 mm nozzle ilə gəlir, buna görə də problem az olmalıdır, ancaq kölgənin düzgün çap olunacağından əmin olmaq üçün dilimləyicinizi yoxlayın. Kölgə üçün ağ və ya başqa bir şəkildə şəffaf bir plastik istifadə etdiyinizə əmin olun. Digər rənglər işıqların rəngini təhrif edər və ya çox işığı maneə törədir.

İstifadə etdiyiniz rəqəmsal saat ekranının kölgəyə uyğun olub olmadığını yoxladığınızdan əmin olun. Saatın telləri üçün kifayət qədər boşluq olan yerə sürtünmə üçün uyğunlaşdırılmışdır. Saat qurğusunu dəyişdirmək üçün modellərdən istifadə edin. Kölgənin modelini dəyişdirərkən, ön üzün qalınlığını 1 mm -dən aşağı tutduğunuzdan əmin olun ki, saat az yayılsın.

Addım 6: Kablolama və lövhə montajı

Kabel və lövhə montajı
Kabel və lövhə montajı
Kabel və lövhə montajı
Kabel və lövhə montajı
Kabel və lövhə montajı
Kabel və lövhə montajı

Lövhə və naqillər mənim balıq bəsləyicimdən daha az mürəkkəbdir. ESP-8266-12e oturmaq üçün bir protoboya lövhəyə bir neçə dişi başlıq sancağı, həmçinin güc bağlamaq üçün iki sıra kişi baş sancaqlarını lehimləyin. İki saat məlumat telini və LED şerit məlumat telini protoborddakı müvafiq pinlərinə lehimlədim və bütün güc və torpaq telləri lövhənin arxasında hazırladığım müvafiq elektrik raylarına lehim edildi.

Bu tellərin digər tərəfi saat üçün qadın başlıqları və LED şeridi üçün LED şerit konnektoru olmalıdır. Kişi sancaqlarını saata lehimləməyiniz lazım ola bilər və bunun üçün açılı sancaqlar tövsiyə edirəm. LED şerit telləri və elektrik naqilləri lövhənin divar tərəfinə (ESP ilə tərəf) və saat telləri ön tərəfə (bütün lehim birləşmələrinin olduğu yerə) yönəldilməlidir.

Bir elektrik xətti üçün 6ft 16-26 telli mis tel istifadə etdim. Bir az qalın idi, buna görə hər teli gücə və yer relslərinə bağlamaq üçün üç dişi sancaq arasında ayırdım. Digər tərəf, enerji təchizatı üçün əldə etdiyiniz hər hansı bir bağlayıcı olmalıdır.

Hər şeyi təsadüfən şortdan izolyasiya etmək üçün bütün açıq olan lehim birləşmələrini (xüsusən elektrik kabelində və xüsusən də mənim kimi açıq mis varsa) yapışdırın. Saatı taxtaya isti yapışdıra bilərsiniz (lövhənin yan tərəfinə saatın arxası), amma gördüm ki, bu zəif bir birləşmədir və hər şey quraşdırıldıqdan sonra lazım deyildi.

LED şeridini montajın kənarına sarın. Analog saatın düzgün istiqamətdə getdiyini yoxlamaq üçün 2 rejimində zolağı sınamağa əmin olun. Kölgə üçün ön kənarından ~ 5 mm boşluq buraxdığınızdan əmin olun. Şeridin ilk LED -i (saniyənin rəngi hər dəqiqənin yuxarısında, şeridin bir ucunda görünür) saat 12 -də dayanır. lampa divara quraşdırıldıqda. LED şeridi yerinizdə olduqda, yapışqan dəstəyi (əgər varsa) və ya yapışdırıcıdan istifadə edərək montaja yapışdırın. Şeridin yapışqan dəstəyi yoxdursa, super yapışqan daha yaxşı işləyəcək. Test zamanı və yapışqan quruyarkən zolağı yerində saxlamaq üçün skotç lentdən istifadə edin.

Lövhəyə qoşulmaq üçün LED tellərini yarımdairəvi deliklərdən keçirin. Elektrik kabeli də buradan keçir, cazibə qüvvəsi və ya təsadüfən çəkmə səbəbiylə kabelin çəkməyəcəyi bir çuxur seçdiyinizə əmin olun.

Addım 7: Montaj

Duvara asmaq üçün 3-4 ədəd 3M və ya istədiyiniz qədər istifadə edin. Düzlüyünü yoxlamaq üçün montajdakı çentikdən istifadə edin. Montajdan sonra elektrik kabelini və LED tellərini lövhəyə qoşun və saatı kölgəyə daxil edin. Sonra, kölgəni dağın üzərinə atın və elektrik kabelini elektrik təchizatına qoşun!

Tövsiyə: