Mündəricat:

Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels): 6 addım (şəkillərlə)
Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels): 6 addım (şəkillərlə)

Video: Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels): 6 addım (şəkillərlə)

Video: Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels): 6 addım (şəkillərlə)
Video: Moes ZLD-RCW - RGB+CCT LED zolaqları üçün Tuya Smart Zigbee nəzarətçisi, Home Assistant ilə işləyir 2024, Iyul
Anonim
Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels)
Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels)
Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels)
Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels)
Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels)
Hər hansı bir layihə üçün ən yaxşı RGB LEDləri (WS2812, Aka NeoPixels)

LED -lərlə işləyərkən tez -tez onların vəziyyətini (açma/söndürmə), parlaqlığını və rəngini idarə etməyi sevirik. Bunun bir çox fərqli yolu var, amma heç biri WS2812 RGB LED qədər kompakt bir həll deyil. Kiçik 5mm x 5mm paketində WS2812, 3 LED -in vəziyyətini, parlaqlığını və rəngini idarə etmək üçün yalnız bir məlumat girişi tələb edən 3 super parlaq LED (Qırmızı, Yaşıl və Mavi) və kompakt sürücü dövrəsini (WS2811) ehtiva edir.. 3 LED -i idarə etmək üçün yalnız bir məlumat xəttinə ehtiyac olduğu üçün, WS2811 ilə ünsiyyətdə yüksək dəqiqlikdə vaxt tələb olunur. Bu səbəbdən, real vaxt rejimində bir mikro nəzarətçi (məsələn, AVR, Arduino, PIC) tələb olunur. Təəssüf ki, Linux əsaslı bir mikrobilgisayar və ya Netduino və ya Basic Stamp kimi şərh olunan bir mikro nəzarətçi lazım olan vaxt dəqiqliyini təmin edə bilmir. Və beləliklə, bu Təlimatlandırmada Arduino Uno ilə bu LED -lərdən birinin qurulması və idarə edilməsi prosesindən keçdim. Zəhmli bir işıqlandırma ekranı üçün bir neçəsini birləşdirməyin nə qədər asan olduğunu göstərirəm!

Addım 1: Materialların siyahısı

Materialların siyahısı
Materialların siyahısı

Bu gözəl RGB LED, qırılma taxtasına lehim etmək olduqca asan olan 6 yastıqlı 5050 (5mm x 5mm) paketdə gəlir. Lazım olan yeganə əlavə komponent bağlayıcı bir kondansatör olduğundan, WS2812 vicdanla RGB LED-in rəngini və parlaqlığını idarə etmək üçün ən yaxşı həll yolunu təklif edir. Daxili sabit cərəyan LED sürücüsü (WS2811) iki səbəbdən olduqca faydalıdır: - Gərginlik dəyişsə belə ~ 18mA sabit bir cərəyan hər LED -i idarə edəcək. - Enerji təchizatı ilə LED-lər arasında cərəyan məhdudlaşdıran rezistorların əlavə edilməsinə ehtiyac yoxdur. Ehtiyacımız olan tək, lakin bir sıra RGB LED -lərdən ibarət möhtəşəm bir işıqlandırma ekranı yaratmaq üçün Güc, Zəmin və 1 Nəzarət Girişini təmin etmək üçün çox sadə bir dizayndır. Düzdür! Bu LED -lərdən birinin Məlumat Çıxış pinini, digərinin Məlumat Giriş pininə qoşaraq, hər ikisini eyni İdarəetmə Girişi ilə müstəqil şəkildə idarə edə bilərik! Bunu necə edəcəyiniz bəlli deyilsə, narahat olmayın, bu Təlimatlandırmanın sonunda istədiyiniz hər hansı bir layihəyə WS2812 əlavə etmək yolunda yaxşı olacaqsınız! Bu Təlimat üçün burada istifadə edəcəyik: Materiallar: 3 x WS2812 RGB LED (kiçik bir qırılma lövhəsinə əvvəlcədən lehimlənmiş) 1 x Lehimsiz Breadboard Qatı Nüvəli Tel (müxtəlif rənglər; 28 AWG) 1 x Arduino Uno R3 1 x Qırılan Pin Konnektörü, 0,1 "Pitch, 8 Pinli Kişi (Sağ Açı) 1 x Pin Konnektoru, 0,1" Pitch, 8 Pinli Dişi (Sağ Açı) 1 x Ayrılan Pin Konnektoru, 0,1 "Pitch, 8 Pinli MaleTools: PC USB A/B Kabel Tel Stripper Lehimləmə Dəmiri Qeydlər: Layihənizdən asılı olaraq, WS2812 RGB LED-ləri hər biri təxminən 0,40 dollarlıq bir kəsmə lövhəsi olmadan da mövcuddur, lakin əvvəlcədən lehimlənmiş seçimin rahatlığı sadə tətbiqlər üçün cəlbedicidir.

Addım 2: Pin başlıqlarını birləşdirin

Pin başlıqlarının birləşdirilməsi
Pin başlıqlarının birləşdirilməsi
Pin başlıqlarının birləşdirilməsi
Pin başlıqlarının birləşdirilməsi
Pin başlıqlarının birləşdirilməsi
Pin başlıqlarının birləşdirilməsi

Əvvəlki addımda sadalanan bütün materiallar ilə WS2812 RGB LEDini yandırmaq olduqca düzdür. Birincisi, WS2812 Breakout Lövhələrini lehimsiz çörək taxtasına yerləşdirmək üçün hazırlamaq istəyirik. Bunu etmək üçün hər 8 pinli şeridi 2 x 3 pinli hissələrə ayırmaq üçün bir tel kəsici istifadə edirik (ən çox istifadə olunan alətlər də eyni şəkildə işləyəcək). Unutmayın ki, kəsik etmək bir qədər çətindir; tez -tez iki kişi başlığı arasındakı yivi kəsmə üçün bələdçi olaraq istifadə etməyə çalışdım və saxlamaq istədiyim başlıqdan çox plastik kəsdirdim. Kəsmək istədiyimiz yerə "qurban" verərək problemdən tamamilə qaçırıq. Bir cüt kəlbətin istifadə edərək, kəsmək istədiyimiz pimi çıxarırıq (bu halda 4 -cü və 8 -ci pin). Sancaqlar çıxarıldıqdan sonra artıq boş olan başlıqların ortasını asanlıqla kəsə bilərik. Bu texnika qadın başlığı ilə eyni dərəcədə yaxşı işləyir. Maraqlandıqdan və kəsdikdən sonra 6 x 3 pinli başlıqlara sahib olmalıyıq, yəni 2 x standart və 4 x dik açılı (2 x kişi, 2 x dişi). Bir lehimləmə dəmirinin köməyi ilə sancaqları üç qırılma lövhəsinin hər birinə aşağıdakı şəkildə bağlaya bilərik. Bir lövhədə 2 x standart başlıq olmalıdır, digər iki lövhədə hər biri 1 x dik açılı başlıq olmalıdır. Standart pin başlıqlarına malik lövhədə, pinləri lövhənin alt səthinə yerləşdiririk (LED -in olduğu tərəfin əks tərəfi). Digər ikisində, sağ açılı başlıqlar (hər bir cinsdən biri) ya yuxarı, ya da alt səthə yerləşdirilə bilər. Qeyd edək ki, kişi və qadın başlıqlarının yerləşdirilməsində bir lövhədən digərinə ardıcıl olmaq vacibdir. Lövhələri istiqamətləndirmək üçün səthə montaj kondansatöründən istifadə etmək faydalıdır; Bunu istinad olaraq istifadə edərək, kişi başlığı kondansatöre ən yaxın olan yerə lehimlənməlidir. Sancaqlar lehimləndikdən sonra onlardan birini Arduinoya bağlamağa hazırıq!

Addım 3: WS2812 Breakout Board -un Arduino -ya qoşulması

WS2812 Breakout Board -un Arduino -ya qoşulması
WS2812 Breakout Board -un Arduino -ya qoşulması
WS2812 Breakout Board -un Arduino -ya qoşulması
WS2812 Breakout Board -un Arduino -ya qoşulması
WS2812 Breakout Board -un Arduino -ya qoşulması
WS2812 Breakout Board -un Arduino -ya qoşulması

Bu addımda bir Arduino ilə WS2812 Breakout lövhələrimizdən biri arasında lazımi əlaqələri quracağıq. Bunun üçün lehimsiz çörək taxtası və 3 x tullanan tel istifadə edəcəyik. Bir tel bobini istifadə edirsinizsə, indi hər biri təxminən 4 uzunluğunda 3 ədəd kəsmə vaxtıdır. İndi WS2812 Breakout Boardunu (standart başlıqları olan) çörək taxtamızın bölücüsünə yerləşdirə bilərik. Arduinonun həm enerji mənbəyindən, həm də USB -dən ayrıldığı üçün əlaqələri bağlamağa davam edəcəyik WS2812 Breakout Board -un alt tərəfində hər bir pinin adını tapa bilərik: VCC, DI (DO), GND. bir bələdçi olaraq, Arduinodan 5V və GND sancaqlarını sırasıyla WS2812 lövhəsinin VCC və GND pinlərinə bağlamağa davam edirik. Sonra Arduinonun rəqəmsal tərəfindəki 8 pinini WS2812 lövhəsinin DI pininə bağlayırıq. Kondansatöre ən yaxın olan tərəfin mərkəzi pinidir. İndi proqramımızı Arduinoya yükləməyə və WS2812 -ni yanıb -sönməyə hazırıq!

Addım 4: Arduino IDE ilə yanıb -sönmək

Arduino IDE ilə yanıb -sönmək
Arduino IDE ilə yanıb -sönmək
Arduino IDE ilə yanıb -sönmək
Arduino IDE ilə yanıb -sönmək

Arduino IDE-ni artıq kompüterinizə quraşdırdığınızı güman edirəm-İnternetdə çoxlu təlimatlar prosesi çox yaxşı izah edir. Arduino -ya yükləməyimiz lazım olan proqramı buradan yükləyə bilərsiniz. Arduino IDE-yə yükləmək üçün firmware> nümunələr> primer qovluğundakı primer.ino faylını iki dəfə vura bildikdən sonra (1.0.5 versiyası üçün wirtten). Paketə kodun tərtib edilməsi üçün lazım olan kitabxanalar daxildir, belə ki, heç bir səhv olmamalıdır, tərtib edərkən hər hansı bir problemlə qarşılaşırsınızsa, şərh yazın. Alətlər menyu seçimindən istifadə edərək Arduino lövhə növünü və USB portunu seçdikdən sonra kodu yükləyin və WS2812 Qırmızı, Yaşıl və Mavi arasında dəyişərək yanıb -sönməyə başlamalıdır. Bu WS2812 RGB LED-lərin ən səliqəli xüsusiyyəti, bu LED-lərin çoxunu ehtiva edən uzun zolaqlar və massivlər yaratmaq üçün olduqca asanlıqla 'papatya zəncirlə bağlana bilmələridir. Növbəti addımda bunu hazırladığımız 3 lövhə ilə edirik.

Addım 5: RGB LED -lərin yaradılması

RGB LED şeridinin hazırlanması
RGB LED şeridinin hazırlanması
RGB LED -lərdən bir zolaq düzəltmək
RGB LED -lərdən bir zolaq düzəltmək

Daxili LED sürücü dövrəsi (WS2811), yalnız 1 məlumat xəttindən (!) İstifadə edərək bir LED-in digərinə 'papatya bağlamasına' imkan verir. Bir WS2812 -nin Məlumat Çıxışını digərinin Məlumat Girişinə qoşaraq Arduino -da 500 -ə qədər LED -lərin hamısının parlaqlığını və rəngini idarə edə bilərik! Əlbəttə ki, bir çox LED -i idarə etmək üçün bəzi mülahizələr var: - Hər piksel 60mA -a qədər çəkir (tam parlaqlıqda ağ rəngdə bütün LED -lərin yanması tələb olunur, hər bir rəsm ~ 20mA). - Bir Arduino, 30 Hz yeniləmə sürətində 500 LED idarə edən RAM -ı maksimum dərəcədə artıracaq. - İki lövhəni bir-birinə bağlamaq üçün, gücün kəsilməməsi və məlumatların korlanmaması üçün tövsiyə olunan maksimum ayrılma 6 "-dir. Bu fikirləri nəzərə alaraq, bütün LED-ləri 24 bit rəng qətnaməsindən istifadə edərək parlaqlıq səviyyələrində ardıcıl, və (kiçik) batareya gücü dəyişikliklərindəki dəyişikliklərə olduqca davamlıdır. Bu Təlimat üçün hazırladığımız lövhələri 'papatya zəncirinə' başlamaq üçün, qadın ucunu iki lövhənin digər ucunun kişi ucuna sağa bağlamaqla başlayırıq. Bucaq başlıqları. Arduino lövhəmiz Power və USB-dən ayrıldıqda, iki uclu zəncirin erkək ucunu lehimsiz çörək taxtasına yerləşdiririk. Pimlərin çörək taxtasına qoşulmuş WS2812 Breakout Board-da olanlarla hizalanmasını təmin edirik. Bu cür hizalanmada həm düz başlıq lövhəsindən, həm də çörək taxtasının eyni sırasındakı zəncirdən VCC və GND pinləri olacaq. İki lövhəli zənciri kondansatörün əksinə olan üçüncü Breakout Board-un ucuna yaxın yerləşdiririk. A Hər şey bağlı olduqda Arduino IDE -ni işə sala bilərik və "#define NUM_LEDS 1" tərifini "#NUM_LEDS 3 təyin edin" olaraq dəyişdirmək üçün Mətn Redaktorundan istifadə edə bilərik. Lövhəni yenidən Gücə və/və ya USB -yə bağladıqdan sonra yeni proqramı yükləyə bilərik … və… BAM! Hər üç LED eyni şəkildə yanıb -sönməlidir!

Addım 6: Qaranlığa, İşıq olsun

Qaranlığa, Qoy İşıq olsun!
Qaranlığa, Qoy İşıq olsun!
Qaranlığa, Qoy İşıq olsun!
Qaranlığa, Qoy İşıq olsun!

Bu Təlimat, kiçik qırılma lövhələrinə əvvəlcədən lehimlənmiş WS2812 RGB LED-in necə istifadə olunacağını göstərdi. LEDlərin parlaqlığını və rəngini idarə etmək üçün bir Arduino istifadə etdik. Bir az xəyal qırıqlığı yaradan bir şey, istifadə etdiyimiz kodun LED -lərin eyni intensivlik və rəngdə bir anda yanıb -sönməsinə səbəb olmasıdır. Bu iş rejimi, bu paketə daxil edilmiş 'ağıllı' LED sürücüsünün (WS2811) tam potensialını nümayiş etdirmir. Beləliklə, orijinal kodda aşağıdakı dəyişiklikləri sınayaq. Əvvəlki kimi, faylı yükləyəcək və açacaqsınız, sonra Arduinoya yüklənəcək firmware proqramını açacaqsınız (firmware> effektlər> effects.ino). Bu demo üçün lazım olan bütün fayllar daxil edilir, buna görə də üçüncü tərəf libaries əlavə etməyə ehtiyac yoxdur; kod heç bir dəyişiklik etmədən tərtib edilməlidir --- artıq 3 LED-i idarə etmək üçün qurulmuşdur. İndi bu çox faydalı, yığcam, RGB LED -lərin işıqlarını yandıra biləcəyi növbəti layihəni hazırlamaq xəyalınızdadır. Şərhlər bölməsində WS2812 -dən istifadə edərək öz yaradıcılığınızdan bəzilərini yerləşdirməkdən çekinmeyin!

Tövsiyə: