Mündəricat:

ATMEGA328 UNO V3.0 R3 lövhəsi olan WS2812-B LED: 11 addım
ATMEGA328 UNO V3.0 R3 lövhəsi olan WS2812-B LED: 11 addım

Video: ATMEGA328 UNO V3.0 R3 lövhəsi olan WS2812-B LED: 11 addım

Video: ATMEGA328 UNO V3.0 R3 lövhəsi olan WS2812-B LED: 11 addım
Video: Arduino Kartı Yerine Sadece Mikrodenetleyiciyi Kullanmak 2024, Noyabr
Anonim
ATMEGA328 UNO V3.0 R3 lövhəsi olan WS2812-B LED
ATMEGA328 UNO V3.0 R3 lövhəsi olan WS2812-B LED

Təsvir

Bu layihə vizual təsir yaratmaq üçün ICStation WS2812-B Proqramlaşdırıla bilən Rəngli LED Lövhəni ATMEGA328 UNO V3.0 R3 Kartına Uyğun Arduino UNO R3 ilə birləşdirir. Üstəlik, "Disko" mövzusunda bir partiyanız varsa, bəyənəcəksiniz. Bu işlərdən birini necə edəcəyimi sizə göstərim.

Addım 1: Lazım olan hissələr:

Lazım olan hissələr
Lazım olan hissələr

· Arduino UNO (və ya uyğun lövhə) · 4 x WS2812-B proqramlaşdırıla bilən rəngli LED lövhə

· 330 ohm müqavimət

· 4700 uF 16V elektrolitik kondansatör

· Çörək lövhəsi

· Dişi -Kişi Jumper telləri

· Breadboard Jumper telləri

· Vida terminalları olan 2.1 mm DC Soket

· 5V 4A Plugpack enerji təchizatı

Qeyd: Bu layihəni batareyalardan istifadə etmək mümkündür, ancaq tövsiyə edilmir və öz riski ilə edilir.

Hazırlamaq (və ya almaq) məcburiyyətində qalacağınız bir Disko Topu tortuna da ehtiyacınız olacaq. Arvadım bunu etdi. Bir az sonra görəcəyiniz kimi içindəki tort Pink idi, çünki çiyələkli bir tort idi.

Arduino Kitabxanaları və ID Arduino IDE -ni buradan əldə edə bilərsiniz: https://www.arduino.cc/en/Main/Software 1.6.4 versiyasını istifadə etdim, yəqin ki, köhnəlmişdi … amma yenə də yaxşı işləyir.

FastLED kitabxanasının necə istifadə ediləcəyi haqqında məlumatı buradan əldə edə bilərsiniz: https://fastled.io/ Və buradan yükləyə bilərsiniz: FastLED Kitabxanası 3.0.3 versiyasından istifadə etmişəm ki, bu da çox güman ki, köhnəlmişdir.

Addım 2: ARDUINO KODU:

Addım 3: ARDUINO KOD TƏSVİRİ:

· FastLED Kitabxanası: FastLED kitabxanasını Arduino IDE -yə yükləyib yüklədiyinizə əmin olmalısınız. Kitabxana bu eskizə daxildir, əks halda FastLED funksiyaları işləməyəcək.

· "NUM_LEDS" dəyişən: Arduino -ya neçə LED -in istifadə edildiyini bildirir. Bu vəziyyətdə, hər bir LED halqasında 16 LED və buna görə də cəmi 64 LED olan 4 LED üzük var. Daha aşağı bir rəqəm təyin etsəniz, məsələn 16, eskiz yalnız ilk LED halqasındakı LEDləri işıqlandırar.

· "DATA_PIN" dəyişən: LED halqasına məlumat ötürülməsi üçün hansı Digital Pin istifadə edəcəyini Arduinoya bildirir. Bu vəziyyətdə Digital Pin 9 istifadə edirəm.

· Digər dəyişənlər: LED təsadüfi və rəng nəzarət üçün istifadə olunan bir neçə başqa dəyişənim var. Hue LED -in rəngidir. Hue dəyişənini artıraraq, LED-lərin göy qurşağına bənzər bir şəkildə dönməsini təmin edə bilərsiniz. "Hue" dəyişən "bayt" dır, yəni sıfıra enməzdən əvvəl yalnız maksimum 255 dəyərinə çıxacaq.

Başlanğıc Kodu: Bu dərslikdə fərqli bir LED halqanız varsa, başlanğıc kodunu dəyişdirməli ola bilərsiniz. Bu LED üzük WS2812-B çipsetinə malikdir (ICStation veb saytına görə) və buna görə də bu xətt:

· FastLED.addLeds (ledlər, NUM_LEDS); FastLED kitabxanasına hansı çipsetin (NEOPIXEL) istifadə edildiyini, məlumatların ötürülməsi üçün istifadə olunan pinin (DATA_PIN), idarə olunacaq LED massivinin (ledlər) və idarə olunacaq LEDlərin sayının (NUM_LEDS) izah edəcək. · " loop () ": kodun bölməsi:" hue "dəyişəni göy qurşağı effekti yaratmaq üçün artırılır və FastLED -in random8 () funksiyasından istifadə edərək təsadüfi LED seçilir.

· Random8 (x) funksiyası: təsadüfi olaraq 0 -dan x -a qədər bir rəqəm seçəcək.

· RandomSeed () funksiyası: ədədin "həqiqətən təsadüfi" olmasına kömək etmək üçün var. Bu, üzən analogPin (A0) təsadüfi oxumaqla kömək olunur. Bu analogPin 0 olmaq məcburiyyətində deyil, istifadə olunmamış hər hansı bir analog pin ola bilər.

· Leds [rnd].setHSV (hue, 255, 255): Bu xətt təsadüfi LED -i "hue" dəyişəninə bərabər bir rəngə, doyma dərəcəsinə 255 -ə və parlaqlığa 255 -ə bərabər olaraq təyin edir. Sıfıra bərabər olan doyma LED ağ rəngdə parlayır. Sıfırın parlaqlığı LED -i söndürür.

· FastLED.show (): Arduinodan LED halqasının Rəqəmsal giriş pininə bir mesaj göndərilənə qədər LED üzük ekranında heç bir fiziki dəyişiklik edilməyəcək. FastLED.show () zəng etdiyiniz zaman bu mesaj ötürülür; funksiyası. Bu, LED halqalarına ekranını led massivindəki məlumatlarla yeniləmələrini bildirir. Beləliklə, bütün LED -lərin açılmasını təyin etsəniz, lövhə FastLED.show () qədər LEDləri işıqlandırmayacaq; funksiyası adlanır. Bunu bilmək vacibdir - xüsusən də öz LED ardıcıllığınızı hazırlamağa çalışarkən.

· Gecikmə (50) xətti: yanıp sönmə arasındakı vaxt miqdarını 50 millisaniyəyə təyin edəcək. Saniyədə flaş sayını artırmaq və ya azaltmaq üçün gecikməni dəyişə bilərsiniz.

· Ledlər .fadeToBlackBy (180) funksiyası: LED -ləri 180 ədəd azaldır. İstədiyiniz solma sürətinə çatmaq üçün bu sayını artıra və ya azalda bilərsiniz. Ancaq xəbərdar olun ki, bu funksiyanı yerinə yetirməyi unutmusunuzsa və ya LED -ləri kifayət qədər söndürməmisinizsə, Arduino lövhənizi məhv edə biləcək ALL LED -lərin yanması ilə nəticələnə bilərsiniz - yəni LED halqalarının sayından asılı olaraq. var və onlara necə güc verməyi seçdiniz.

Addım 4: tort

Tort
Tort

· Slayd 1 - Baza Lövhəsi: Tortu üstünə qoymadan ƏMƏK elektronika ilə təchiz edilmiş və işlək vəziyyətdə olan əsas lövhə yaratmaq vacibdir. Üstündə bir tort olarkən telləri/kabelləri LED və sxemləri əsas lövhənin altına yerləşdirməyə çalışmaq fəlakət üçün bir reseptdir. Buna görə əvvəlcə əsas lövhəni hazırlayın və daha sonra tort hazırlayan hissəyə keçin.

· Slayd 2 - Tort bişirin: Topun iki tərəfini düzəltmək üçün bir neçə yarımkürə tortu qabına ehtiyacınız olacaq. Tortun ümumi çəkisinə, buzlanma və fondantına tab gətirmək və şəklini qorumaq üçün nisbətən sıx bir tort hazırlamalısınız. Soyuduqdan və soyuduqdan sonra bir kürə yaratmaq üçün onları bir -birinin üstünə qoya bilərsiniz. Aralarındakı buzlanma təbəqəsi ilə birlikdə tutulurlar.

· Slayd 3 - Fondan Buzlanması: Fondan buzlanma xüsusi yapışmayan bir mat üzərində yuvarlanmalıdır. Bir az un əlavə etməyin yapışqanlığı azaltmağa kömək etdiyini gördük. Fondanın qalınlığının bütün boyunca uyğun olmasını təmin edən xüsusi silindirlər var. Sonra onları kvadrat parçalara kəsməlisiniz (təxminən 1 sm kvadratlar bizim üçün yaxşı işləyib). Meydanlar daha sonra xüsusi/yeməli gümüş fondant şir ilə Gümüş rəngə boyanır. Bir neçə qat istifadə etməyiniz lazım ola bilər və paltolar arasında qurumasına icazə verin.

· Slayd 4 - Baza üzərində Buzlu Kek: Tort ya lövhənin üstündə, ya da kənarında buzlana bilər … yəqin ki, əsas lövhədən çıxarmaq daha yaxşıdır. Ancaq bunu əsas lövhədə etmək qərarına gəlsəniz, LEDləri tortdan düşə biləcək buzlanma halından qorumalı olacaqsınız (prosesdə). Tort tamamilə buzlandıqdan sonra (buzlanma/donma ilə), tortu taxtanın mərkəzi yerinə qoymalısınız. Tortun bazadan sürüşmə ehtimalı ola bilər … buna görə də qalması üçün nə etməli olduğunuzu edin.

· Slaydlar 5-7 - Fondan Kvadratları qoyun: Buzlanma hələ də yumşaq olsa da, sonra tez, metodik və yorulmadan tonal kremləri üfüqi xətti naxışa qoymalısınız. Tortun şimal və cənub qütblərinə doğru bir -bir sıralanaraq işləyin. Tortun şimal qütbü üçün bir fondan dairə kəsə bilərsiniz. Slayd 7 -də, tortun üstündə bir çuxur görəcəksiniz. Bu, içərisində bəzəkləri tortun üstündəki yerində tutmaq üçün içərisində plastik bir bidon hazırlamaq üçün hazırlanmışdır. Fondan dairəni tortun üstünə qoymadan əvvəl bunu edin.

· Slayd 8 - Parıltı əlavə edin: Fondan kvadratların hamısını tortun üzərinə qoyduqdan sonra çox ehtimal ki, Gümüş şirəsinin bir hissəsi meydanlardan silinmiş ola bilər. Bura bir neçə qat gümüş şirəsi ilə yenidən keçdiyiniz yerdir və son qatda, qurumadan əvvəl, tortun ətrafına əlavə parıltı vermək üçün yeməli parıltı səpə bilərsiniz.

· Slayd 9 - Son məhsul: Son addım, tortun üstünə bir neçə tel şamdanı və digər bəzək əşyaları əlavə etməkdir. Telləri şimal qütbündəki fondant qapağından içindəki bidona itələyin. Bu, bütün zəhmətinizi korlamadan telləri yerində saxlayacaq.

· WS2812-B çipset: Bu LED üzük WS2812-B çipsetindən istifadə edir və 4 çıxma pininə malikdir (GND, 5V, Din, Dout)

· Güc: Bu modulu işə salmaq üçün 5V və 1A qədər cərəyan verməlisiniz

· Siqnallar: LED halqasını idarə etmək üçün ona Rəqəmsal Giriş pimi (Din) vasitəsilə siqnal göndərmək lazımdır.

Rəqəmsal Çıxış pinindən (Dout) istifadə edərək başqa bir LED üzük bağlaya bilərsiniz.

Addım 5: Güc İstifadəsi Kılavuzu

Güc istifadə təlimatı
Güc istifadə təlimatı

· Ümumi Qaydalar: Üzükdəki hər bir fərdi LED Qırmızı, Yaşıl və Mavi işığı ötürə bilər. Bu rənglərin birləşməsi başqa bir rəng təşkil edə bilər. Ağ işıq, bu üç rəngdən eyni anda meydana gəlir. Bu rəngi maksimum parlaqlıqda göstərərkən hər bir fərdi rəng təxminən 20mA cərəyan çəkəcək. Maksimum parlaqlıqda ağ rəngdə parlayanda, tək LED təxminən 60mA çəkəcək.

· Güc çarpan: Hər LED 60 mA -a qədər çəkə bilirsə və tək LED halqasında 16 LED varsa, LED halqası üçün 16x60mA = 960mA. Təhlükəsiz olmaq və riyaziyyatı asanlaşdırmaq üçün hər bir LED halqasına 1A yerləşdirmək üçün kifayət qədər cərəyan verdiyinizə əmin olmalısınız. Beləliklə, modullardan tam funksionallıq əldə etmək istəyirsinizsə 4 LED üzük üçün 5V 4A enerji təchizatı lazımdır.

Addım 6: Çəkmə Diaqramı

Sıxılma diaqramı
Sıxılma diaqramı
Sıxılma diaqramı
Sıxılma diaqramı

Tək LED halqasını Arduino -ya bağlamaq

· 3 tel: LED halqasına qoşulmaq üçün yalnız 3 telə ehtiyacınız var. Yalnız bir anda bir neçə LED yandırmağı planlaşdırırsanız, bu yaxşı olar. · GÜVENLİ YOL: Bunu etmək üçün daha təhlükəsiz bir yol, həm Arduino, həm də LED halqasını gücləndirmək üçün xarici enerji təchizatı istifadə etməkdir.

· Elektrolitik kondansatör: Böyük bir 4700 uF 16V Elektrolitik kondansatörü elektrik təchizatı naqillərinin pozitiv və mənfi terminalları arasına bağlayaraq, kondansatörün mənfi ayağını enerji təchizatının mənfi terminalına bağlayaraq, LED üzüklərinizi hər hansı bir başlanğıcdan qoruyacaqsınız. cərəyanın axması.

Qoruyucu Rezistor: Arduino Digital Pin 9 (D9) ilə LED Üzükün Rəqəmsal Giriş pininin (Din) arasına 300-400 ohm rezistor qoyulması da məsləhət görülür. Bu, ilk LED -i potensial gərginlikdən qoruyur

Uyğun tellər: Bu LED halqalarından bir neçəsini bir -birinə bağlamağı planlaşdırırsınızsa (aşağıya baxın), ehtimal ki, telləri mümkün qədər qısa saxlamaq və içindən keçən cərəyanı idarə edə biləcək layiqli bir tel istifadə etmək istəyəcəksiniz.

Addım 7: İKİ LED Üzükün Arduinoya bağlanması

İKİ LED üzüyü Arduino -ya bağlamaq
İKİ LED üzüyü Arduino -ya bağlamaq

Üç əlavə tel: Əlavə bir LED halqası bağlamaq üçün yalnız 3 əlavə telə ehtiyacınız var. İlk LED halqasının Rəqəmsal çıxışını (Dout) 2 -ci LED halqasının Rəqəmsal Girişinə (Din) bağlamaq üçün bir tel lazımdır.

Təhlükəsiz qalın: Bir daha bunu etmək üçün daha təhlükəsiz bir yol, xarici bir enerji təchizatı, terminallarda böyük bir elektrolitik kondansatör və Arduino ilə ilk LED halqasının rəqəmsal giriş pimi arasında 300-400 ohm müqavimət istifadə etməkdir.

Addım 8: Dörd LED Üzüyü Arduinoya bağlayın

Dörd LED Üzük Arduino -ya qoşulur
Dörd LED Üzük Arduino -ya qoşulur

Altmış dörd LED: Hər bir əlavə LED halqası üçün 3 əlavə telə ehtiyacınız var. 4 LED üzük cəmi 64 LED təmin edir.

AMPS -ə baxın: Tam parlaqlıqda bu qurğu potensial olaraq 4 amperə (və ya LED halqasına təxminən 1 amperə) çata bilər.

Xarici Təchizat: Bu LED -lər çox olduqda onları enerji ilə təmin etmək üçün xarici enerji təchizatı istifadə etmək vacibdir. Xarici bir enerji təchizatı istifadə etmirsinizsə və təsadüfən BÜTÜN LED -ləri işıqlandırırsınızsa, çox güman ki, həddindən artıq cərəyandan mikrokontrolöre zərər verə bilərsiniz.

Addım 9: Bağlantı masaları

Bağlantı masaları
Bağlantı masaları

BİR LED Üzüyü Arduinoya necə bağlamaq olar

Addım 10: İKİ LED üzüyü Arduinoya necə bağlamaq olar

İKİ LED üzüyü Arduinoya necə bağlamaq olar
İKİ LED üzüyü Arduinoya necə bağlamaq olar

Addım 11: Nəticə

Nəticə
Nəticə
Nəticə
Nəticə
Nəticə
Nəticə

Bu təlimatda sizə Disco Ball tortunu necə bəzəyəcəyinizi və ICStation -dan RGB LED halqalarını necə istifadə edəcəyinizi göstərdik.

ICStation -da dörd məhsulun bağlantısı:

www.icstation.com/icstation-atmega328-board…

www.icstation.com/icstation-ws2812-programm…

www.icstation.com/1pcs-dupont-wire-10cm-254…

www.icstation.com/bread-board-jump-line-jum…

Led haqqında belə möhtəşəm bir təqdimat edən dostlarımız Scott və ailəsinə görə təşəkkür edirik.

Məzmunun orijinal mənbəyi dostumuz Skottdan gəldi:

arduinobasics.blogspot.com.au/2016/06/ardui…

Bu hissəni sevirsinizsə, zəhmət olmasa yoldaşlarınızla paylaşın.

Daha yaxşı bir araşdırma edə biləcəyinizi düşünürsünüzsə, şərh yazın.

IC məhsulları haqqında daha çox fikiriniz varsa, bizə müraciət edin: [email protected]

Tövsiyə: