Mündəricat:

ESP32 ilə MQTT Mood Lights: 4 Addım (Şəkillərlə)
ESP32 ilə MQTT Mood Lights: 4 Addım (Şəkillərlə)

Video: ESP32 ilə MQTT Mood Lights: 4 Addım (Şəkillərlə)

Video: ESP32 ilə MQTT Mood Lights: 4 Addım (Şəkillərlə)
Video: Как использовать DHT11 DHT22 с NodeMCU ESP8266 для считывания температуры через Wi-Fi - IoT 2024, Dekabr
Anonim
ESP32 ilə MQTT əhval işıqları
ESP32 ilə MQTT əhval işıqları

Bir müddətdir ki, LED -lərin üstünə atılmaq istədim, buna görə qaçdım və oyuncaq üçün bir LED şeridi aldım. Bu əhval işıqlarını hazırlamağı bitirdim. MQTT ilə idarə oluna bilər ki, bu da hər cür zəka əlavə etməyə imkan verir.

Başqa heç bir işiniz yoxdursa və əllərinizi çirkləndirmək istəsəniz bu yaxşı bir həftə sonu layihəsidir.

Diqqət yetirin ki, bu Təlimatın məqsədi layihəmi sənədləşdirmək və fikirlərimi başqaları ilə bölüşməkdir. Bununla da oxuyun!

Təchizat

Elektronika:

  • 1x ESP32 inkişaf lövhəsi
  • 1x 0.96 "I2C OLED ekran
  • 1x Buzzer
  • 1 x Barrel jakı
  • 1x 12V enerji təchizatı (cərəyan zolağınızın uzunluğundan asılıdır)
  • 1x LM2596 dollar çevirici
  • 1x Ümumi anodlu RGB LED şeridi
  • 3x IRFZ44N MOSFET
  • 3x BC547 transistorlar
  • 3x 10kΩ rezistorlar
  • 4x 100Ω rezistorlar
  • 1x prototip lövhəsi
  • 4x vintli terminallar
  • Kişi və qadın başlıqları
  • Tel (tək telli istifadə etdim)

Digər avadanlıq və alətlər:

  • Bir korpus üçün istədiyiniz material (MDF istifadə etdim)
  • Toxunma kontaktları üçün düz, keçirici material (nazik alüminium təbəqədən istifadə etdim)
  • Testereler, matkaplar, zımpara kağızı və s.
  • Lehimləmə dəmiri və dostlar
  • İsti yapışqan

Daxili OLED ekranı olan bir ESP32-ə getməməyi şiddətlə tövsiyə edərdim, çünki bunun üçün korpusunuzda yaxşı uyğunlaşdırılmış bir kəsik etmək çox çətin olur.

Addım 1: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Əlavə edilmiş sxem toxunma girişləri istisna olmaqla bütün lazımi əlaqələri göstərir. Sxemanın qeyri -kafi olması halında, bir MOSFET -in necə bağlanacağını göstərən nisbətən qeyri -müəyyən bir çörək taxtası diaqramı da var.

Güc

Bir LM2596 buck çeviricisi, ESP -in VIN -i üçün enerji təchizatından 5V -ə qədər 12V aşağı düşür. Güc mənbəyinizin istifadə etdiyiniz LED şeridin uzunluğu üçün düzgün qiymətləndirildiyinə əmin olun. 2 metr uzunluğundakı zolağım 2 amperdən bir az çox çəkir.

Sancaqlar və ətraf qurğular

Toxunma girişləri üçün dörd toxunma pimi istifadə olunur. Mənim ESP32 lövhəm, I2C sancaqlarının bağlandığı bir OLED ekranı ilə birlikdə gəldi. Bu, hər rəng komponenti (qırmızı, yaşıl və mavi) üçün bir və səs siqnalı üçün dörd PWM pinindən istifadə edir.

MOSFET qarışır

PWM və nisbətən yüksək cərəyan üçün sürətli keçid vaxtlarını idarə etmək üçün MOSFET -lər seçildi. Hər rəng komponenti üçün bir MOSFET var. IRFZ44N-ləri idarə etmək üçün ayrı bir NPN BJT (BC547) çəkmə rezistoru ilə birlikdə istifadə etdim, çünki ESP32-dən 3.3V rəqəmsal siqnallar MOSFET-lərin lazım olduğu qədər cərəyan keçirməsi üçün kifayət etməmiş ola bilər. IRLZ44N kimi məntiq səviyyəli MOSFET-lər mövcuddur, ancaq onlar haqqında hər şeyi lehimləməyi bitirdikdən sonra öyrəndim. Hər halda ~ 2A çəkən zolağım yaxşı işləyir.

Lehimləmə

Vidalı terminallar, LED şeridinə qoşulmaq üçün, qadın başlıqları isə ESP32 -ni bağlamaq üçün istifadə olunur. Lehimləmə təxminən iki saat çəkdi və çox sadə idi. LED şeridimə daha uzun tellər də verdim.

Niyə ESP32 seçdim

Gəmidə WiFi və Bluetooth var (hal -hazırda yalnız WiFi istifadə etsəm də) və istifadə etmək üçün qaşındığım bir yerdə yatdım. Toxunma girişləri, kontakta gedən yalnız bir telə ehtiyac duyduqları üçün nəzarətçi üzərindəki interfeys üçün də lazımlı oldu. İstəsəniz, ESP32 asanlıqla ESP8266 kimi bir mikro nəzarətçi ilə əvəz edilə bilər.

Addım 2: Kod

Bunu proqramlaşdırmaq üçün Arduino alət dəstini (əslində VS Kodu üçün Arduino uzantısı:)) istifadə etdim. ESP32 və Arduino IDE -yə başlamamış olsanız, buna bənzər əla dərslər var.

Dörd fərqli rejim var: statik rəng, təsadüfi rəng, Qırmızı Alert və Mavi Xəbərdarlıq. Yuxarı, aşağı, sonrakı və Red Alert üçün dörd toxunma girişi var. Toxunma fasilələrdən istifadə edir.

WiFi üzərindən idarə edə bilməyim üçün işlərə MQTT də əlavə etdim. Üç böyük veb tətbiqini (HTML, CSS, JS) hiss etməyə çalışıram, buna görə də əhval işıqlarını idarə etmək üçün bir MQTT brokeri ilə ünsiyyət quran Star Trek temalı (lakin olduqca çirkin) bir veb səhifəsi hazırladım.

Bütün kodlarım, fayl adını dəyişdirmək istədiyiniz sürətli bir istinad vərəqi ilə birlikdə əlavə olaraq tapıla bilər. Arduino ilə açmadan əvvəl bütün faylları "ESP32MQTTMoodLighting" adlı bir qovluğa köçürün.

Diqqət yetirin ki, kodum işləyir, amma yəqin ki, ən böyük deyil. Ancaq bunun heç bir əhəmiyyəti olmamalıdır, çünki hər halda öz yazınızı yazacaqsınız, elə deyilmi?:)

Addım 3: Qapaq və Montaj

Qapaq və montaj
Qapaq və montaj
Qapaq və montaj
Qapaq və montaj
Qapaq və montaj
Qapaq və montaj
Qapaq və montaj
Qapaq və montaj

Tıxanma zamanı əlimdən ala biləcəyim yeganə material 5 mm MDF təbəqə idi. Böyük kəsikləri adi bir testere ilə etdim və hər şeyə yaxşı bir qum verdim. İki qat emaye boyası əsas hazırlığı tamamladı.

Arxa Panel

Qutumun asanlıqla açılmasını istəyirdim, buna görə də bütün elektronikalarımı dörd M2 PCB dayanıqlığı ilə arxa panelə bağladım. Mükəmməl taxtamda artıq M2 delikləri qazılmışdı. Qarşılaşmalarımın alt hissəsində MDF -yə yerləşdirilməsini nəzərdə tutan kiçik yivli saplar var idi. Ancaq M2 qazma ucum yox idi. Beləliklə, hər çuxurun yerini qeyd edərək, delikləri əl ilə çıxarmaq üçün kiçik bir düz başlı tornavida istifadə etdim. Kobud amma təsirli. Çuxurların diametrləri, sapmanın yivli hissəsindən bir qədər kiçik idi. Çuxurları bir neçə dəfə bükdüm ki, bu da onları genişləndirdi və az qala yivləndirdi.

Nəhayət, qarşıdurmalar çuxurlarına möhkəm oturdu və perfboardu yerində saxladı. MDF çox qalın olduğu üçün qarşı tərəfə heç nə göstərilmədi.

Güc yuvası üçün delik açdım və LED şerit tellərinin keçməsi üçün bir yuva düzəltdim, vida terminallarımın yerləşdiyi yerin altında.

Ön Panel

OLED Ekran kəsmə

OLED üçün kəsiklərimi bir neçə başlanğıc çuxuru ilə başladım və ölçüsünə görə açdım. Nəticə etibarsız və səhv qurulmuşdur. Bunun iki qat yoxlama ölçmələri də rol oynaya bilər, ancaq quraşdırılmış OLED ilə inkişaf etdirmə lövhəsindən istifadə etməməklə özünüzü bir az problemdən xilas edin. Ekranı çuxurunuza yerləşdirmək daha asandır.

Bağlayıcı

Bəzi kişi və qadın başlıqlarından bir bağlayıcı hazırladım. Bir ucu ön paneldəki toxunma kontaktlarına qoşulmuş tellərə, digər tərəfində isə ESP -in toxunma girişlərinə gedən tellər vardı. Lazım gələrsə, lehim birləşmələrini narahat etmədən ön panelin arxadan tamamilə çıxarılması mümkün idi. Ön panelinizə başqa bir şey bağlasanız, bunun üçün bir bağlayıcı da edə bilərsiniz.

Toxunma yastıqları

Toxunma kontaktları bir az alüminium təbəqədən hazırlanmışdır. Lazım olan dörd yastığı almaq üçün kəsdim və əyri kənarların olmadığını yoxladım. Sonra ön paneldə bir tel üçün kifayət qədər böyük deliklər qazdım. Lehim yastiqciqlərinə yapışması üçün oksidlənmiş təbəqəni çıxarmaq üçün bir tərəfinin kiçik bir hissəsini zımpara ilə ovuşdurdum və sonra hissəcikləri çıxarmaq üçün tez bir şəkildə sildim. Hər bir teli ön paneldəki uyğun çuxurdan keçirərək hər birini yastığına lehimlədim. Lehiminizin arxada çox böyük bir qabarıqlıq yaratmadığından əmin olun, çünki bu, yastığın panellə bərabər oturmasına imkan verməyəcək.

Nəhayət, hər yastığın arxasına bir az isti yapışqan əlavə edin və ön panelə itələyin. Çox əlavə etmək yastıqları paneldən yuxarı qaldırmağa imkan verəcəkdir. Yastıqların altından çıxarıla bilən artıq yapışqanları təmizləyin.

İstirahət

Yan panellər olduqca sadədir. Vidalı terminallara sürətli giriş çuxuru dəyərindən daha çox problem yaratdı. Yan panelləri ön panelə isti şəkildə yapışdırdım.

İki kənarındakı cırtdan, ön hissəni arxa panelə tutur. Boşluqlar səs siqnalının qaçmasına imkan verir. Məndən daha yaxşı bir iş görürsənsə, 5 yaşındakı bir məktəbəqədər uşaq sənətinə bənzəyən bir şeylə bitməməlisən:)

LED şeridimin arxası yapışqan idi (əminəm ki, sizinki də var). İşıq divardan yayılacaq şəkildə mina qurdum.

Addım 4: Qoşun

Qoşun!
Qoşun!

İndi tam bir MQTT nəzarətli əhval işığına sahib olmalısınız. Bəzən monoton işlərə rəng sıçrayışı əlavə edən masamı masamın üstünə qoydum. Gecə insanları heyran etmək üçün ideal vaxtdır.

Ümid edirəm bu Təlimatı oxumaqdan zövq aldınız və öz layihələriniz üçün bir neçə fikir əldə etdiniz. Daha əvvəl də qeyd etdiyim kimi, bir başlanğıcam və bu mənim ilk təlimatımdır. Hər hansı bir məsləhət və şərhdən məmnun olaram.

Tövsiyə: