Mündəricat:

WiFi Mesh Sinxron LED Barlar: 3 Adım (Şəkillərlə birlikdə)
WiFi Mesh Sinxron LED Barlar: 3 Adım (Şəkillərlə birlikdə)

Video: WiFi Mesh Sinxron LED Barlar: 3 Adım (Şəkillərlə birlikdə)

Video: WiFi Mesh Sinxron LED Barlar: 3 Adım (Şəkillərlə birlikdə)
Video: Innovation in Polkadot DeFi 2024, Iyul
Anonim
Image
Image
WiFi Mesh Sinxron LED Barlar
WiFi Mesh Sinxron LED Barlar
WiFi Mesh Sinxron LED Barlar
WiFi Mesh Sinxron LED Barlar
WiFi Mesh Sinxron LED Barlar
WiFi Mesh Sinxron LED Barlar

Müəllif tərəfindən CarlSTeleToylandFollow More:

Ev LEDləri üçün Uzaqdan Rəng Seçici
Ev LEDləri üçün Uzaqdan Rəng Seçici
Ev LEDləri üçün Uzaqdan Rəng Seçici
Ev LEDləri üçün Uzaqdan Rəng Seçici
Qonşuluqda Geniş Sinxron LEDlər
Qonşuluqda Geniş Sinxron LEDlər
Qonşuluqda Geniş Sinxron LEDlər
Qonşuluqda Geniş Sinxron LEDlər
Daimi Rəqəmsal LED Ev Tətil İşıqlandırması V2
Daimi Rəqəmsal LED Ev Tətil İşıqlandırması V2
Daimi Rəqəmsal LED Ev Tətil İşıqlandırması V2
Daimi Rəqəmsal LED Ev Tətil İşıqlandırması V2

Haqqında: Uşaqlıqdan bəri bütün klassik simptomları olan bir robot qurucusu və İnternet proqramı CTO/Tech Product Manager. CarlS haqqında daha çox »

Bu layihə, fərdi olaraq idarə olunan rəqəmsal LEDləri olan WS2812b "Neopixels" LED çubuqlar toplusudur. Animasiyaların bir araya gəlmədən onların arasında çəkilməsinə icazə verirlər. Bir -birinə bağlanmaq üçün WiFi Mesh istifadə edirlər və animasiya meshdə az və ya çox çubuğun olmasına uyğunlaşır.

İlham, bir cüt nağara ustasının Milad paradı üçün bəzədilmiş çubuqlar/dəyənəklər olması idi. Aralarındakı LED animasiyası sinxronlaşdırılır. LEDlər də zolaqlar yerinə iplər ola bilər.

Digər bir istifadə, bir otaq ətrafındakı bütün LED -lər arasında məlumat telini çəkmək istəmədiyiniz bir LED incəsənət qurğusudur - etmələri lazım olan şey tək -tək qoşulmaqdır.

Bu layihə üçün İnternetə bağlı deyillər. Şəxsi WiFi giriş nöqtələrini və veb serverlərini qurdular. Beləliklə, bu layihə xarici şəbəkədən asılı deyil və uzaq yerlərdə işləyə bilər. 5v -də işləyirlər, buna görə xarici cib telefonu batareyaları ilə asanlıqla işləyə bilər!

Addım 1: hissələr

Hissələri
Hissələri
Hissələri
Hissələri
Hissələri
Hissələri

Layihədə hər zolaq üçün aşağıdakı hissələr istifadə edilmişdir:

  • Su keçirməyən WS2812b LED şeridi. 30 LED/metr istifadə etdim. Su keçirməyənlər ümumiyyətlə iki tərəfli lentə yapışdırılır, buna görə montaj etmək asandır. Kanallar bir metr uzunluğunda olduğu üçün hər kanal üçün 1 metrə ehtiyacınız olacaq. Metr başına daha çox LED yaxşıdır - yalnız müvafiq olaraq böyük bir enerji təchizatı aldığınızdan əmin olun. Bu zolaqlardakı hər bir (5050) LED tam açıldıqda 60ma qədər istifadə edə bilər.
  • Plastik elektron layihə korpusu 60x36x25mm - bu D1 Mini tutmaq üçün kifayət qədər kiçikdir.
  • Panel montajı 5.5mm x 2.1mm DC giriş
  • 5v enerji təchizatı - 2 amperlik bir LED açıldıqda hər biri 0,06 amp 30 LED ilə yaxşı olmalıdır.
  • Bir USB batareyadan bu layihəni gücləndirmək istəyirsinizsə, USB -dən 5.5mm x 2.1mm -ə qədər kabel
  • D1 Mini ESP8266 lövhəsi - daha az qiymətə də mövcuddur, lakin daha uzun gözləmə ilə.
  • LED şeritler üçün qapaqlı və uc qapaqları olan alüminium kanal. Seçmək üçün bir çox profil var. Bu, WS2812b LED şeritləri (12 mm) və aşağı profil üçün kifayət qədər genişdir.
  • Alüminium çubuq - kanalın eni 17 mm -dir, buna görə 1/2 "genişliyində alüminium çubuq yaxşı ölçüdədir. Hər bir çubuq üçün 1/16" qalınlığında və 6 "uzunluğunda olmalıdır.
  • İki tərəfli köpük lent - 1/2 "enində.
  • 1000 uF kondansatör - gərginlik sıçrayışlarının LED -lərə zərər verməməsinin qarşısını almaq üçün hər zolaq üçün tövsiyə olunur.
  • Bağlama teli. Bu 26 ölçülü silikon tel çox elastikdir və telin LED şeridindən lehimləmə yastıqlarını çəkməməsinə kömək edir. Lehimləmə dəmiri ilə toxunanda da ərimir. Həm də çox çevik olan servo teldən istifadə etdim, amma silikon tel ən çox sevdiyim teldir. Hər rəngdən yalnız 6 düym (qırmızı, qara, sarı) ehtiyacınız olacaq.
  • Jumper telləri - CPU -ya qoşulmaq üçün qadın qırmızı, qara və sarı istifadə olunur. Özünüzdən əminsinizsə, bunları atlaya və bağlama telini birbaşa lövhəyə lehimləyə bilərsiniz.
  • LED şeridi məlumat xəttində səs -küyü azaltmaq üçün 330 ohm rezistor.
  • 3.3v prosessorun 5v LED şeridini etibarlı şəkildə idarə etməsinə imkan verən 1N4448 Siqnal Diyotu və ya bənzəri.
  • 3 mm istilik büzücü borular - təxminən 5 düymlük ehtiyacınız olacaq.

Addım 2: Çubuqları qurun

Barları qurun
Barları qurun
Barları qurun
Barları qurun
Barları qurun
Barları qurun
Barları qurun
Barları qurun

Çubuqların tikintisi əvvəlki təlimatda olduğu kimidir. Buradakı son quruluşdan bənzər addım-addım şəkillər var və müzakirəni digər Təlimatlandırıcıda tapa bilərsiniz.

LED-ləri alüminium kanala yapışdırmaqla bağlı yeni bir ipucu: Bəzən LED şeridlərindəki iki tərəfli lent LED lövhəsindən bir qədər qısadır və LED şeridində yüngül bir toqqa görəcəksiniz. Bantı o yerdə kəssəniz, düz yatacaq.

Elektrik telini və LED şeridinin aşağı qalmayan hissələrini bağlamaq üçün bir neçə damla UV yapışqan istifadə etdim.

Particle Photon nəzarətçiləri əvəzinə, bu layihədə ESP8266 çip dəstinə əsaslanan WeMos D1 Mini lövhələri istifadə edildi. Bir LED layihəsi üçün bunlar gözəl və kiçikdir. Qadın tullananlara yer açmaq üçün kişi başlıqlarından istifadə etdim. Bağlayıcıları geri çevirmək korpusa sığmayacaq. Bu yanaşma da lehimləmək asandır. Dişi bağlayıcılara bükülmüş 20 ölçülü bərk nüvəli tel də istifadə etdim və bu da işləyir, amma daha çox səy göstərir.

Bu çubuqlar ilk LED üçün eyni qurban LED yanaşmasını istifadə edir. Praktikada bu, həqiqətən nəzərə çarpmır. Həm də ilk ikisi arasındakı kiçik uçurum da demək olar ki, nəzərə çarpmır

Alüminium kanalı montaj etmək üçün kliplərdən istifadə etmək niyyətindəsinizsə, kanalı layihə qutusuna bağlayan alüminium çubuq klipləri birbaşa divara quraşdırmaqda çətinlik çəkə bilər, buna görə də yuyucular və ya boş bir qoz qoymaq lazımdır. Orada onları 1/16 ilə dayandırmaq üçün.

Addım 3: Mesh Kodu

Image
Image
Mesh Kodu
Mesh Kodu

LED çubuqlarının hər biri eyni kodla işləyir. Bu layihənin əsası https://gitlab.com/BlackEdder/prainMesh ünvanındakı ağrısız Mesh Kitabxanasıdır. Bu kitabxana, giriş nöqtələri, veb serverləri və s. Qurmaq üçün ən aşağı səviyyəli işlərin çoxunu idarə edir.

Meshin bir nəzarətçisi var və animasiya dəyişikliyi bildirişləri bütün qovşaqlara/LED çubuqlarına yayımlanır. Böyük bir mesh üçün mesajlaşmada gecikmə ola bilərdi, amma işlədiyim miqyasda nəzərə çarpmırdı.

Başlanğıcda, düyün nəzarətçi olduğunu güman edir, lakin sonra dəyişdirilmiş Nodes mesajı qiymətləndirməni tetikler. Meshdakı ən aşağı # çip idarəsi nəzarətçi olur. Bütün qovşaqların yerləşməsi və tək bir nəzarətçi götürməsi üçün ümumiyyətlə bir -iki saniyə çəkir. Daha sürətli (orta animasiya) yenidən sinxronizasiya etmək üçün daha çox səy göstərə bilərsiniz, ancaq bu dəyişiklik mesajları kifayət qədər danışıqdır, buna görə də şəbəkənin hər halda yerləşməsi üçün bir az vaxt lazımdır. Praktikada, yenidən sinxronlaşdıqdan sonra çox möhkəm qalırlar.

Çubuqları kəsən animasiyalar üçün kod qovşaqların siyahısını alır, sıralayır və sonra cari düyünün çəkildiyi nöqtəni çəkir. Çip id sırasına görə sıralayırlar, buna görə də nə vaxt başladıqlarından asılı olmayaraq ardıcıl olacaq animasiyalar edə bilərsiniz. Ayrıca, animasiyalar düşən qovşaqlara uyğunlaşacaq.

Animasiya kodu üç yerdə görünür. Birincisi, barın yeni bir animasiya əmrini aldığı, qəbul edilmiş Callback funksiyasıdır. Bu olduqca sadədir - yalnız animasiya üçün addım ölçüsünü təyin edir və sayğacları sıfırlayır. İkinci yer loop funksiyasındadır. Orada kod cari animasiyanın bitib -bitmədiyini yoxlayır və növbəti addıma keçir. Animasiya kodu üçün son yer, bütün rəsmlərin edildiyi stepAnimation funksiyasıdır.

Sistem, milis taymerini yeniləmək üçün istifadə edir - bəzi kitabxanaları bağladığı üçün gecikmə funksiyasından istifadə etmədən. Millis kodu düzgün yuvarlanmalıdır.

NeoPixel kitabxanası və birdən çox LED ilə ağrısız Mesh ilə bağlı problemlər yaşadığımı nəzərə alaraq FastLED -ə keçdim.

GitHibdəki kod budur və burada da əlavə edilmişdir. Bütün çubuqlara çox yükləyirsiniz və LED animasiya kodlamasına davam etməyə hazırsınız!

Tövsiyə: