Mündəricat:
- Addım 1: Parçalar və Alətlər
- Addım 2: Plan
- Addım 3: Dövrə
- Addım 4: Lehim LEDləri
- Addım 5: Lehimləmə İdarə Heyəti
- Addım 6: WiFi qurulması
- Addım 7: Mikro nəzarətçi kodu
- Addım 8: Mesaj Protokolunu açın
- Addım 9: Uzaqdan İdarəetmə
- Addım 10: 3D çap
- Addım 11: Hamısını bir araya gətirin
- Addım 12: Lampanı asmaq
- Addım 13: Bitdi
Video: Ev Avtomatlaşdırılması üçün DIY IoT Lampası -- ESP8266 Dərsliyi: 13 Adım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu dərsdə İnternetə bağlı bir ağıllı lampa hazırlayacağıq. Bu, əşyaların internetinə dərindən girəcək və ev avtomatlaşdırma dünyasını açacaq!
Lampa WiFi -yə qoşulub və açıq mesaj protokolu üçün qurulub. Bu o deməkdir ki, istədiyiniz idarəetmə rejimini seçə bilərsiniz! Bir veb brauzer, ev avtomatlaşdırma tətbiqləri, Alexa və ya Google köməkçisi kimi ağıllı köməkçilər və daha çox vasitəsi ilə idarə oluna bilər!
Bonus olaraq bu lampa layihəni idarə etmək üçün bir tətbiqlə birlikdə gedir. Burada fərqli rəng rejimi seçə, RGB rəngləri arasında sola bilər və taymerləri təyin edə bilərsiniz.
Lampa bir LED lövhə və bir idarəetmə lövhəsindən ibarətdir. LED lövhədə cəmi beş LED kanalı üçün üç fərqli LED istifadə olunur! Bu həm isti, həm də soyuq ağ ilə birlikdə RGB -dir. Bu kanalların hamısı ayrı -ayrılıqda qurula biləcəyi üçün cəmi 112.3 peta kombinasiyanız var!
Gəlin başlayaq!
[Videonu oynat]
Addım 1: Parçalar və Alətlər
Hissələri
- Wemos D1 Mini
- 15 x İsti ağ 5050 LED
- 15 x Soyuq ağ 5050 LED
- 18 x RGB 5050 LED
- 6 x 300 ohm 1206 müqavimət
- 42 x 150 ohm 1206 müqavimət
- 5 x 1k ohm rezistorlar
-
5 x NTR4501NT1G
MOSFET -lər
- Xətti gərginlik tənzimləyicisi, 5V
-
PCB
Öz PCB -lərinizi hazırlamaq üçün gerber fayllarını dövrə addımında yükləyin
- PSU 12V 2A
Alətlər
-
Lehimleme dəmir
- Lehimləmə qalay
- Maye lehimləmə axını
- Maska lenti
- İki tərəfli lent
- 3D printer
- Tel çıxarıcılar
Addım 2: Plan
Tam layihə dörd əsas hissədən ibarətdir:
-
Dövrə
Dövrə bir PCB üzərində aparılır. Tamamlanmış dövrə 100 -dən çox fərdi komponentdən ibarət olacaq. Bütün bunları bir əl taxtasına əl ilə bağlamamaq böyük bir rahatlıqdır
-
Arduino kodu
ESP8266 -ı WiFi ilə əlaqəli bir mikro nəzarətçi kimi istifadə edən Wemos D1 Mini -dən istifadə edirəm. Kod D1 -də bir server başlayacaq. Bu serverin ünvanını ziyarət edərkən D1 bunu fərqli əmrlər kimi şərh edəcək. Mikro nəzarətçi daha sonra işıqları buna uyğun olaraq təyin etmək üçün bu əmri yerinə yetirir
-
Uzaqdan nəzarət
- Lampanı zövqünüzə görə idarə etməyi mümkün qədər asanlaşdırmaq üçün yalnız bu layihə üçün bir tətbiq etdim
- Ağıllı lampa həqiqətən http GET sorğusu göndərə bilən hər şey tərəfindən idarə oluna bilər. Bu o deməkdir ki, lampa demək olar ki, sonsuz sayda cihazdan əmr qəbul edir
-
3D çap
Bu ağıllı lampa sərin görünüşlü bir çantaya layiqdir. Və bir çox layihə kimi sərin bir qutuya ehtiyacınız olduğu kimi, 3D çap da xilasetməyə gəlir
Addım 3: Dövrə
PCB -lərimi jlcpcb.com saytından sifariş etdim. Tam açıqlama vaxtı: onlar da bu layihəyə sponsorluq etdilər.
PCB iki hissədən ibarətdir. LED lövhəsi və idarəetmə lövhəsi var. Bu iki hissəni daha sonra çevik tellə birləşdirmək üçün PCB ayrıla bilər. Bu, həm 3D çaplı lampanı incə saxlamaq, həm də işığı çuxur otağından bərabər şəkildə yaymaq üçün LED lövhəni açı etmək üçün lazımdır.
İdarəetmə lövhəsində D1 mikrokontrolörü, LED -lərin söndürülməsi üçün beş MOSFET və mikro nəzarətçiyə hamar 5V vermək üçün bir gərginlik tənzimləyicisi var.
LED lövhədə üç fərqli LED tipində beş LED kanalı var. 12V güc mənbəyindən istifadə etdiyimiz üçün LEDlər bir rezistorla birlikdə üç LED olaraq konfiqurasiya edilir və sonra paralel olaraq 16 dəfə təkrarlanır.
Normal bir ağ LED, ümumiyyətlə 3.3 V çəkir. Lövhənin bir seqmentində bu LED -lərdən üçü seriyadadır ki, bu da gərginlik düşməsinin dövrə daxil olması deməkdir. Hər biri 3.3 V çəkən üç LED, bir LED seqmentinin 9.9 V çəkdiyini bildirir. Dövrə 12 V ilə işləyir, beləliklə 2.1 V buraxır.
Segment yalnız üç LEDdən ibarət olsaydı, dağıldıqlarından daha çox gərginlik alardılar. Bu LEDlər üçün yaxşı deyil və tez bir zamanda zədələnə bilər. Bu səbəbdən hər seqmentdə hər üç LED ilə birlikdə bir rezistor var. Bu rezistor, qalan 2.1 V -ni seriya qovşağına buraxmaq üçün var.
Beləliklə, hər bir seqment 12 V -ə bərabərdirsə, bu, hər bir seqmentin bir -birinə paralel olaraq bağlanması deməkdir. Dövrlər paralel olaraq bağlandıqda hamısı eyni gərginliyi alır və cərəyan toplanır. Bir sıra əlaqədəki cərəyan həmişə eynidir.
Adi LED 20 mA cərəyan çəkir. Bu, üç LED və bir rezistorun bir seqmentin hələ də 20 mA çəkəcəyi deməkdir. Bir neçə seqmenti paralel bağladıqda cərəyanı əlavə edirik. Şeriddən altı LED kəssəniz, paralel olaraq bu seqmentlərdən ikisi var. Bu o deməkdir ki, ümumi dövrəniz hələ də 12 V çəkir, ancaq cərəyanda 40 mA çəkirlər.
Addım 4: Lehim LEDləri
Bir neçə şeyi sınamaqdan, sadə maska lentinin PCB -nin hərəkət etməməsi üçün ən təsirli və çevik olduğunu gördüm.
5050 LED-də 6-pin kimi birdən çox sancağı olan hissələr üçün, PCB yastıqlarından birinə lehim qoyaraq başlayım. Daha sonra, bu lehimi lehimləmə dəmiri ilə əridilmiş vəziyyətdə saxlamaq, komponenti bir cüt cımbızla yerinə qoyur.
İndi digər yastiqciqlar bir lehimlə asanlıqla yapışdırıla bilər. Ancaq bu işi sürətləndirmək üçün bir az maye lehim axını almağı təklif edirəm. Həqiqətən bu şeyi kifayət qədər tövsiyə edə bilmirəm.
Bir az lehim yastiqciqlarına tətbiq edin, sonra lehimləmə dəmirinizin ucunda bir az lehim əridin. İndi yalnız əridilmiş lehimi yastiqcığa gətirmək qalır və hər şey öz yerini tutur. Gözəl və sadə.
Rezistorlar və digər iki yastıqlı komponentlərə gəldikdə, heç bir lehim axına ehtiyac yoxdur. Yastiqlərdən birinə lehim tətbiq edin və rezistoru yerinə gətirin. İndi yalnız iki nömrəli yastığa bir az lehim əridin. Asan peasy.
Bu addımdakı beşinci şəklə baxın. LEDlərin istiqamətinə diqqət yetirin. İsti və soyuq ağ LED -lərin kəsikləri sağ üst küncdədir. RGB LED -lərin sol alt küncündə çentikləri var. Bu, mənim tərəfimdən bir dizayn səhvidir, çünki bu layihədə istifadə olunan RGB LED -lərinin məlumat cədvəlini tapa bilmədim. Yaxşı, yaşa və öyrənin və bunların hamısı!
Addım 5: Lehimləmə İdarə Heyəti
LED lövhəsinin marafonunu bitirdikdən sonra, idarəetmə paneli lehimləmək üçün bir mehdir. Gərginlik tənzimləyicisinə keçməzdən əvvəl beş MOSFET və uyğun qapı mənbəyi rezistorlarını qoydum.
Gərginlik tənzimləyicisinin kondansatörləri hamarlaşdırmaq üçün əlavə yerləri var. Onları bu fotoşəkildə lehimləyərkən, həqiqətən lazım olmadıqları üçün silməyə başladım.
İncə bir idarəetmə lövhəsi əldə etməyin hiyləsi, başlıqları aşağıdan aşağıya doğru itələməkdir. Sancaqlar yerində olduqdan sonra istifadə edilməmiş uzunluq qara plastiklə birlikdə arxadan kəsilə bilər. Bu, alt tərəfi tamamilə hamar edir.
Bütün komponentlər yerində olduqda, iki lövhəni bir araya gətirməyin vaxtı gəldi. Sadəcə 6 düymlük 2,5 düymlük (7 sm) teli kəsib iki PCB -ni bağladım.
Addım 6: WiFi qurulması
Kodda dəyişdirməyiniz lazım olan altı sadə sətir var.
-
ssid, xətt 3
Routerinizin adı. Bunu yazarkən hərflərin düzgün yazıldığından əmin olun
-
wifiPass, xətt 4
Router parolunuz. Yenə də korpusa diqqət yetirin
-
ip, xətt 8
Ağıllı lampanızın statik ip ünvanı. Şəbəkəmdə təsadüfi bir ip ünvanı seçdim və əmr pəncərəsində ping etməyə çalışdım. Ünvandan heç bir cavab yoxdursa, onun mövcud olduğunu güman edə bilərsiniz
-
keçid, xətt 9
Bu, yönlendiricinizin giriş qapısı olacaq. Komanda pəncərəsini açın və "ipconfig" yazın. Şəkildə ağ geçidi və alt şəbəkə qırmızı ilə çevrilmişdir
-
alt şəbəkə, xətt 10
Şlüzdə olduğu kimi, bu məlumatlar da bu addım üçün şəkildəki dairədədir
-
vaxt zonası, xətt 15
Daxil olduğunuz vaxt zonası. Müəyyən vaxtlarda işıqları yandırmaq və söndürmək üçün quraşdırılmış timer funksiyalarından istifadə etmək istəyirsinizsə, bunu dəyişdirin. Dəyişən sadə bir artı və ya mənfi GMT -dir
Addım 7: Mikro nəzarətçi kodu
Əvvəlki addımdakı bütün müvafiq parametrləri dəyişdirdikdən sonra nəhayət kodu Wemos D1 Mini -yə yükləməyin vaxtı gəldi!
Arduino kodu bir neçə kitabxana və asılılıq tələb edir. Arduino IDE -dən ESP8266 -ya heç vaxt kod yükləməmisinizsə, əvvəlcə bu təlimatı sparkfun -dan edin.
İndi Time kitabxanasını və TimeAlarms kitabxanasını yükləyin. Bunları açın və kompüterinizdəki arduino kitabxana qovluğuna kopyalayın. Hər hansı digər arduino kitabxanasını qurmaq kimi.
Bu addımdakı şəkildəki yükləmə parametrlərinə diqqət yetirin. Com portu istisna olmaqla eyni konfiqurasiyanı seçin. Bu, mikrokontrolörünüzün kompüterinizə qoşulduğu hər hansı bir liman olacaq.
Kod yükləndikdə, seriyalı terminalı uğurlu bir əlaqə mesajı ilə açın! İndi brauzerinizi aça və mikro nəzarətçiyə saxladığınız statik ip ünvanını ziyarət edə bilərsiniz. Tebrik edirik, yalnız öz serverinizi qurmusunuz və bir web səhifəsinə ev sahibliyi edirsiniz!
Addım 8: Mesaj Protokolunu açın
Tətbiqlə ağıllı lampanı idarə etdiyiniz zaman bütün mesajlar avtomatik olaraq sizin üçün idarə olunacaq. İşdə öz uzaqdan idarə etmənizi qurmaq istəyirsinizsə lampanın qəbul etdiyi mesajların siyahısı. Əmrlərin necə istifadə olunacağını göstərmək üçün bir nümunə ip ünvanı istifadə etdim.
-
192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500
- Qırmızı işıqları maksimum dəyərə, yaşıl işıqları yarıya, mavi işıqları 34 -ə qoyur. Soyuq və isti ağ çətinliklə yanır
- Dəyərlər daxil edərkən, 0 ilə 1023 arasında seçim edə bilərsiniz. İşıq dəyərlərini həmişə URL -də dörd rəqəm olaraq yazın
-
192.168.0.200/&&B=0800
Mavi işıqları 800 dəyərinə qoyur, eyni zamanda bütün digər işıqları söndürür
-
192.168.0.200/LED=OFF
Bütün işıqları tamamilə söndürür
-
192.168.0.200/LED=FADE
Bütün mümkün RGB rəngləri arasında yavaş -yavaş sönməyə başlayır. Atmosfer üçün mükəmməldir
-
192.168.0.200/NOTIFYR=1023-G=0512-B=0000
Gələn bildirişi göstərmək üçün verilən rəngi iki dəfə yandırır. Yeni bir e -poçt alanda kompüterinizdə lampanı qırmızı rəngdə yandıran bir proqram yaratmaq istəsəniz mükəmməldir
-
192.168.0.200/DST=1
- Saatı gündüz işığına uyğunlaşdırır. Saata bir saat əlavə edir
- /DST = 0, DST -dən geri dönmək üçün bunu istifadə edir, DST aktivdirsə, saatdan bir saat uzaqlaşdırır
-
192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000
Taymeri 1 üçün vəziyyəti saxlayır. Bu zamanlayıcı səhər saat 06: 30 -da verilən RGB dəyərlərini açacaq
-
192.168.0.200/TIMER1H=99
Taymeri söndürmək üçün taymer saatını 99 olaraq təyin edin. RGB dəyərləri hələ də saxlanılır, ancaq saat 99 -a təyin edildikdə taymer işıqları yandırmayacaq
- Lampada dörd fərdi taymer var. "TIMER2", "TIMER3" və ya "TIMER4" üçün "TIMER1" i dəyişdirərək digər daxili taymerlərdən birini tənzimləyin.
Bunlar hazırda inşa edilmiş əmrlərdir. Arduino kodunda və ya uzaq tətbiqdə qurmaq üçün yeni əmrlər haqqında hər hansı bir fikiriniz varsa şərh yazın!
Addım 9: Uzaqdan İdarəetmə
Tətbiqi yükləmək üçün bura vurun. Quraşdırma çox asanlaşdırılmışdır, sadəcə ağıllı lampanızın ip ünvanını daxil edin və yalnız RGB LED -ləri yoxsa RGB + isti və soyuq ağ LED -ləri idarə etmək istədiyinizi seçin.
Əvvəlki addımda izah edildiyi kimi, indi tətbiqin hansı mesaj protokolundan istifadə etdiyini bilirsiniz. URL ilə bir http GET sorğusu göndərir. Bu o deməkdir ki, siz də öz mikrokontroller dövrənizi yarada və hələ də bu proqramı öz inkişaf etdirdiyiniz funksiyaları idarə etmək üçün istifadə edə bilərsiniz.
Mesaj protokolunu dərindən araşdırdığımız üçün ağıllı lampanı http GET sorğusu göndərə bilən hər hansı bir şeylə idarə edə bilərsiniz. Bu, telefonda və ya kompüterdəki hər hansı bir brauzer və ya Alexa və ya Google köməkçisi kimi ağıllı ev cihazları və ya köməkçiləri deməkdir.
Tasker, hər şeyə yaxın bir şəkildə nəzarət etmək üçün şərait yaratmağa imkan verən bir tətbiqdir. Bunu telefonuma aldığımda ağıllı lampanı bildiriş rəngində yandırmaq üçün istifadə etdim. Həm də iş günü saat 16: 00 -dan sonra telefon evimə WiFi bağlandıqda işığı tam ağ rəngdə yandırmaq üçün tapşırıqçı qurdum. Yəni məktəbdən evə qayıdanda işıqlar avtomatik olaraq yanır. İşıqların avtomatik yanması ilə evə gəlmək həqiqətən də xoşdur!
Addım 10: 3D çap
Lampa qutusunun özü demək olar ki, dayaqlar olmadan çap edilə bilər. Həqiqətən dəstəyə ehtiyacı olan yeganə hissə, PCB ilə cütləşmək üçün nəzərdə tutulmuş dirəklərdir. Buna görə stl -ni həm bu dirəklər üçün kiçik bir dəstək quruluşu ilə həm də olmadan hazır vəziyyətə gətirdim. Bu xüsusi dəstəyi istifadə etməyin üstünlüyü, çapın daha sürətli olmasıdır! Və yalnız həqiqətən ehtiyacı olan hissələrdə çap dəstəyi alırıq.
. Stl fayllarını buradan yükləyə bilərsiniz
Addım 11: Hamısını bir araya gətirin
3D çapdan sonra çap dəstəyini çıxarmaqla başlayın. Elektrik kabelləri ayrı kanallara daxil olur və bir -birinə bağlanır. Bu düyün, kabellərin PCB -dən qoparılmasının qarşısını alan gərginlik aradan qaldıracaq. PCB -nin arxasına elektrik kabellərini lehimləyin və polariteyi düzgün aldığınızdan əmin olun!
İdarəetmə PCB, daha sonra korpusun içərisinə yuyulmaması üçün bir parça bantla bərkidilir. LED PCB -ni korpusa tək başına düz qoyduğu yerə qoymaq olar.
Addım 12: Lampanı asmaq
Bu lampanı divara asmaq üçün bir çox variant var. Lampanı təkmilləşdirmək üçün kodu mütəmadi olaraq yeniləyə bildiyim üçün lampanı zaman zaman aşağı salmaq istədim. İsti yapışqan istifadə edə bilərsiniz, amma bir neçə tərəfli lent tövsiyə edirəm. Qalın və köpüklü iki tərəfli lentdən istifadə etmək yaxşıdır, çünki lampanı toxumalı divara ən yaxşı tutur.
Addım 13: Bitdi
Lampanı divara qaldırıb əmrləri qəbul etməyə hazırsınız ki, işiniz bitdi!
LED paneli, işığı otaqda bərabər paylayacaq şəkildə açılıdır. Hər hansı bir iş sahəsinə gözəl bir əlavədir və ev avtomatlaşdırılması ilə inteqrasiya qabiliyyəti böyük bir artıdır. RGB rənglərini təyin etmək, soyuq və isti işıq arasındakı ağ balansını tənzimləmək qabiliyyətini çox sevirəm. Qəşəng görünür və bu anda ehtiyacım olan işıqlandırma ehtiyaclarına uyğun olaraq ətraf və ya iş işıqları qurmaq üçün böyük bir köməkdir.
Tebrik edirik, indi IoT və ev avtomatlaşdırılması dünyasına böyük bir sıçrayış etdiniz!