Mündəricat:

RGB LED Matrix: 5 addım
RGB LED Matrix: 5 addım

Video: RGB LED Matrix: 5 addım

Video: RGB LED Matrix: 5 addım
Video: Управляем адресными светодиодами на ESP32, прошивка WLED, применение в Home Assistant 2024, Iyul
Anonim
Image
Image
Avadanlıq Dizaynı
Avadanlıq Dizaynı

Axtarış Təlimatlıdır və bir çox LED matrix layihəsi tapa bilərsiniz. Heç biri mənim istədiyim kimi deyildi, yəni bir şey istehsal etmək üçün aparat və proqram dizaynının qarşılıqlı təsirlərini araşdırmaq və son məhsulu yüksək səviyyədə istifadə edərək "LED ekrana" çəkmək üçün sürücü ilə səliqəli bir PCB-də istehsal etmək. konstruksiyalar (məsələn, müəyyən piksellərin qoyulmasının əksinə bir xətt çəkmək). Bu hissə mənim üçün vacib idi, çünki LED matris sürücülərinin çoxu çılpaq sümüklərdir və proqramlı şəkildə bir şəkil və ya animasiya yaratmaq üçün çox şey təmin etmirlər. Bu, digər sürücülərlə şəkil və animasiya yarada bilməyəcəyiniz mənasına gəlmir, sadəcə layihədən layihəyə daha çox təkrarlanan işlər görməli olacaqsınız.

Beləliklə, xəyalımı həyata keçirmək üçün yola çıxdım. İlk addım aparatın dizaynı idi. Bəlkə də mənim üçün ən çətin idi, çünki arxa planım daha çox proqramdır. Yenə əvvəlcədən bişmiş bir çox dizayn var idi və mən onları ilham üçün istifadə etdim, amma öyrənmək istədim, buna görə çörək taxtasında 4x4 matrisin prototipini hazırladım. İlk bir neçə dəfə təkrar etmədiyim üçün bu prosesdən çox şey öyrəndim. Ancaq işləyən bir hardware dizaynı etdim, bu da öz növbəsində sürücü inkişaf etdirməyə başlamağıma imkan verdi.

Sürücü platforması olaraq Arduino'yu seçdim, çünki geniş yayılmışdır və İnternetdə çoxlu istinadlar var. Karyera təcrübəsi, bir sürücünün işlək bir versiyasına aparat səylərimdən daha səliqəli keçməyimə imkan versə də, ATMega mikro nəzarətçi üçün sürücü performansını optimallaşdırarkən və bəyəndiyim bir proqramlaşdırma API'sini hazırlayarkən hələ də çoxlu təkrarlamalar var idi.

Bu Təlimatlandırıla bilən layihə dizaynı və bəzi əsas öyrənmələri sənədləşdirir. Bu layihə haqqında daha çox məlumatı buradakı veb saytımda tapa bilərsiniz, o cümlədən öz RGB LED matrisinizi qurmaq üçün satın ala biləcəyiniz tam dəstlər.

Addım 1: Avadanlıq Dizaynı

Təchizat dizaynımın əsas məqsədi proqramlaşdıra biləcəyim bir sıra RGB LEDləri yaratmaq idi, amma mən də çox pul xərcləmək istəmirdim. Qaldığım yanaşma, LED -ləri idarə etmək üçün 74HC595 keçid qeydlərindən istifadə etmək idi. Lazım olan keçid qeydlərinin sayını minimuma endirmək üçün, RGB LED -lərini ümumi anodların bir -birinin ardınca, qırmızı, yaşıl və mavi katot uclarının sütunlarda bir -birinə bağlandığı bir matris planına yerləşdirdim. 4x4 matris üçün dövrə diaqramı əlavə edilmiş sxemə bənzəyirdi.

Dərhal qeyd edəcəyiniz bir şey, matris dövrəsini nəzərə alaraq, bütün LED işıqlarının eyni anda yanması ilə edilə bilməyən bəzi LED işıqlandırma konfiqurasiyalarının olmasıdır. Məsələn, matris eyni vaxtda bir -birindən diaqonal olan iki LED yandıra bilməz, çünki hər iki satır və sütuna güc verərək iki əks LEDin istədiyiniz LED -lərə dik diaqonalda yanmasına səbəb olacaq. Bu işin öhdəsindən gəlmək üçün hər bir sətirdə tarama aparmaq üçün multipleksdən istifadə edəcəyik. İnternetdə multipleksləmə texnikasını əhatə edən çoxlu qaynaqlar var, bunları burada təkrarlamağa çalışmayacağam.

Ümumi anod LED -lərindən istifadə etdiyim üçün, bu, satırların müsbət güc verdiyini və sütunların yerə batdığını göstərir. Yaxşı xəbər budur ki, 74HC595 növbə qeydləri həm enerji mənbəyi ola bilər, həm də batıra bilər, amma pis xəbər, nə qədər güc mənbəyi və ya batıra biləcəyinə dair bir məhdudiyyətin olmasıdır. 74HC595 fərdi pinləri 70 mA maksimum cərəyana malikdir, lakin 20 mA -dan az saxlamaq yaxşıdır. RGB LED -lərimizdəki fərdi rənglərin hər biri təxminən 20 mA çəkmə qabiliyyətinə malikdir. Bu o deməkdir ki, hamısını yandırmaq istəsəm, 74HC595 bir sıra LEDləri birbaşa gücləndirə bilməz.

74HC595, sıraya birbaşa güc vermək əvəzinə, hər satır üçün bir tranzistor idarə edəcək və tranzistor cərgəni gücləndirən cərəyanı açacaq və ya söndürəcək. Dizayn ümumi bir anod LED istifadə etdiyindən keçid tranzistoru PNP olacaq. Ümumi bir katot LEDindən istifadə etsəydik, keçid tranzistoru NPN olardı. Diqqət yetirin ki, bir PNP tranzistoru bir sıra idarə edərkən, PNP tranzistorunun emitentlə baza arasındakı mənfi bir gərginliyə ehtiyac duyduğu üçün onu açmaq üçün keçid qeydinin ayarı indi aşağı düşür və bu da müsbət cərəyanın şəbəkəyə daxil olmasına imkan verir. sıra.

Nəzərə alınması lazım olan başqa bir şey, qeyd qeydlərinin istədiyiniz bit düzümüdür. Yəni, matrisdə hansı satırların və ya sütunların olduğunu idarə edən bit qeydləri arasında. Göndərdiyim dizayn, papatyalı zəncirvari keçid qeydlərinə göndərilən ilk bitin və ya "ən əhəmiyyətli bitin" LEDlərin qırmızı element sütununu, ikinci bitin birinci sütunun yaşıl elementini, üçüncü bitin isə birinci sütunun nəzarətini təmin etdiyi yerdir. mavi element, dördüncü bit ikinci sütunun qırmızı elementini idarə edir,… bu model soldan sağa sütunlar arasında təkrarlanır. Sonra göndərilən növbəti bit, sonuncu və ya alt sıranı, sonrakı biri sondan ikinci satıra qədər nəzarət edir … bu, son göndərilənə qədər təkrarlanan və ya "ən az əhəmiyyətli bit" matrisdəki ilk və ya üst sıranı idarə edir..

Nəhayət, RGB LED -lərindəki LEDlərin hər biri üçün hansı rezistorlardan istifadə edəcəyimi müəyyənləşdirməliydim. Lazım olan müqaviməti hesablamaq üçün irəli gərginliyi və istədiyiniz cərəyanı birləşdirən standart düsturdan istifadə edə bilsəniz də, hər bir LED-in 20 milliampa cərəyan etməsinin qırmızı, yaşıl və mavi LED-lərin hamısı yanarkən ağ rəngsiz bir rənglə nəticələndiyini gördüm.. Buna görə gözlərimi yummağa başladım. Ağda çox qırmızı olması, cərəyanı azaltmaq üçün qırmızı LED -in müqavimət ohmunu artırmaq demək idi. Düzgün hiss etdiyim ağ rəngli bir birləşmə tapana qədər fərqli ohm rezistorlarını dəyişdirməyi təkrarladım. Son birləşmə qırmızı LED üçün 180 Ω, yaşıl LED üçün 220 Ω və mavi LED üçün 100 was idi.

Addım 2: Avadanlıq Tikintisi - Breadboard

Avadanlıq Tikintisi - Çörək lövhəsi
Avadanlıq Tikintisi - Çörək lövhəsi
Avadanlıq Tikintisi - Çörək lövhəsi
Avadanlıq Tikintisi - Çörək lövhəsi

Avadanlıq quruculuğunun ilk mərhələsi çörək taxtası idi. Burada RGB LEDləri ilə 4x4 matris hazırladım. Bu matrisə nəzarət etmək üçün 16 bit, RGB sütunları üçün 12 və hər bir satır üçün 4 bit tələb olunur. İki 74HC595 növbə qeydləri hamısını idarə edə bilər. Əvvəlcə işləyəcəyini düşündüyüm bir dövrəni araşdırdım və dizayn etdim, sonra çörək taxtasına qurdum.

Çörək taxtası qurmağın ən böyük çətinliyi, bütün telləri idarə etmək idi. Çörək taxtası üçün əvvəlcədən hazırlanmış bir tel dəsti aldım, amma hadisə bir az çətin oldu. Faydalı tapdığım bir hiylə Arduino lövhəsinə qoşulmaq üçün "liman" yaratmaq idi. Yəni, Arduino üzərindəki sancaqları birbaşa çörək lövhəsindəki müxtəlif IC pinlərinə bağlamaq əvəzinə, çörək lövhəsindəki bir neçə satırı Arduino üçün əlaqə nöqtəsi olaraq ayırın və sonra müvafiq şəxsiyyət pinlərini bu satırlara bağlayın. Bu layihə üçün Arduino -ya yalnız 5 əlaqə lazımdır: +5V, yer, məlumat, saat və mandal.

Çörək taxtası qurulduqdan sonra onu sınamalı oldum. Bununla birlikdə, növbə qeydlərinə düzgün siqnal göndərən bir sürücü olmasaydı, donanım quruluşunun işləyib -işləmədiyini yoxlaya bilmədim.

Addım 3: Sürücü Proqram Dizaynı

Image
Image

Proqram təminatı ilə bağlı öz karyera təcrübəm nəzərə alınmaqla, bu, bəlkə də götürməli olduğum yol haqqında ən aydın olduğum layihənin bir hissəsidir. Arduino əsaslı bir çox LED matris sürücülərini araşdırdım. Əlbəttə ki, yaxşı sürücülər olsa da, heç biri istədiyim dizayna malik deyildi. Sürücünün dizayn məqsədlərim bunlar idi:

  • Proqram olaraq şəkillər və animasiyalar yarada bilmək üçün yüksək səviyyəli API təmin edin. Gördüyüm sürücülərin çoxu daha çox sərt kodlu şəkillərə diqqət yetirirdi. Həm də peşə üzrə C ++ proqramçısı olduğum üçün, LED matrisinə çəkmə fəaliyyətini həyata keçirmək və idarə etmək üçün yaxşı obyekt yönümlü dizayndan istifadə etmək istədim.
  • Ekrandakı görüntünü idarə etmək üçün ikiqat tamponlu bir yanaşma istifadə edin. Bir tampon proqramlaşdırılmış şəkildə çəkilən şeydir, digəri hər an matris piksellərinin vəziyyətini təmsil edir. Bu yanaşmanın üstünlüyü ondan ibarətdir ki, multipleksin yeniləmə dövrləri arasında ekran üçün növbəti çərçivə yeniləməsini tamamilə göstərməyiniz tələb olunmur.
  • Bir RGB -nin qırmızı, yaşıl və mavi elementlərin sadə birləşmələri ilə göstərə biləcəyi yeddi ibtidai rəngdən çoxuna icazə vermək üçün PWM istifadə edin.
  • Sürücüyə yazın ki, mənim ümumi matris dizayn yanaşmamı izləyən müxtəlif ölçülü RGB LED matrisləri ilə "işləsin". Diqqət yetirin ki, hardware dizaynımda 74HC595 növbəli qeydlər istifadə olunsa da, sürücümün hardware dizaynım kimi oxşar bir bit tərzindən istifadə edərək qurulmuş hər hansı bir keçid qeydiyyatı tərzi ilə işləməsini gözləyərdim. Məsələn, sürücümün sütunları idarə etmək üçün DM13A çiplərindən və satırları idarə etmək üçün 74HC595 çipindən istifadə edən bir hardware dizaynı ilə işləməsini gözləyərdim.

Sürücü koduna baxmaq üçün birbaşa getmək istəyirsinizsə, GitHub -da tapa bilərsiniz.

Sürücümün ilk iterasiyası Arduino platformasının imkanları haqqında bir az öyrənmə əyrisi idi. Ən açıq məhdudiyyət, Arduino Uno və Nano üçün 2K bayt olan RAM -dır. Belə bir ssenaridə C ++ obyektlərindən istifadə, obyektlərin yaddaş yükü səbəbindən çox vaxt tövsiyə edilmir. Ancaq hiss etdim ki, düzgün iş görülərsə, C ++ - dakı obyektlərin faydası onların dəyərindən (RAM -da) üstündür.

İkinci böyük çətinlik, RGB LED-in yeddi ibtidai rəngindən daha çoxunu istehsal etmək üçün nəbz genişliyi modulyasiyasını keçid qeydləri vasitəsi ilə necə tətbiq edəcəyimizi anlamaq idi. Uzun illər Linux platformalarında proqramlaşdırdıqdan sonra ardıcıl vaxt tələb edən prosesləri idarə etmək üçün mövzu kimi konstruksiyalardan istifadə etməyə öyrəşmişəm. Dəyişmə qeydləri yeniləmə əməliyyatının vaxtı, multipleksləmə istifadə edən bir LED matrisi üçün sürücü hazırlayarkən olduqca kritik olur. Səbəbi, multipleksləşmənin o qədər sürətli baş verməsinə baxmayaraq ki, gözləriniz yanıb -sönən fərdi LED -ləri görə bilmir, ayələriniz hər hansı bir LED -in yandığı ümumi məcmu müddətdə fərqlər ala bilir. Bir sıra LEDlər digərlərindən daha uzun müddət ardıcıl olaraq yanarsa, çoxlama zamanı daha parlaq görünür. Bu matrisdə qeyri -bərabər parlaqlığa və ya matrisin bütövlükdə dövri vurulmasına səbəb ola bilər (bu, bir yeniləmə dövrü digərlərindən daha uzun çəkəndə baş verir).

Dəyişmə qeydləri yeniləmələrinin razılıq verməsi üçün ardıcıl bir vaxt mexanizminə ehtiyacım olduğu üçün Arduino rəsmi olaraq mövzuya dəstək vermir, öz iş parçacığı kimi mexanizmimi yaratmalı oldum. İlk dəfə təkrar etməyim, sadəcə Arduino loop () funksiyasından asılı olan və sonuncu dəfə atəş açıldıqdan sonra müəyyən bir müddət keçdikdə bir hərəkəti atəşə tutan bir döngə sayğacı yaratmaq idi. Bu "kooperativ çoxlu iş" formasıdır. Yaxşı səslənir, amma praktikada bu atış sürətinin mikrosaniyələrlə ölçülməsi ilə uyğun gəlmir. Bunun səbəbi budur ki, əgər bu iki zamanlayıcıdan ikisi gedirsə, hərəkətlərindən biri tez -tez kifayət qədər uzun çəkir ki, ikinci hərəkət istədiyiniz vaxtdan gec yanar.

Bu problemin həllinin Arduinonun yerli saat kəsmə mexanizmindən istifadə etmək olduğunu gördüm. Bu mexanizm, çox ardıcıl fasilələrlə kiçik bir kod işləməyə imkan verir. Sürücü kodunu, matrisin növbəsini göndərmək üçün kodu tetiklemek üçün bir saat kəsilməsindən istifadə edərək dizayn elementi ətrafında dizayn etdim və multipleks dövründəki növbəti yeniləməni qeyd etdim. Bunu etmək və ekranın şəklinə keçid qeydlərinə aktiv bir axıdılmasına mane olmamaq üçün yeniləmələrin meydana gəlməsinə icazə vermək üçün ("yarış şərti" adlandıracağımız bir şey), növbənin qeyd bitləri üçün əkiz tamponların olması yanaşmasını istifadə etdim. yazmaq üçün, biri də oxumaq üçün. İstifadəçi matris görüntüsünü yeniləyərkən bu əməliyyatlar yazma buferində baş verir. Bu əməliyyatlar başa çatdıqda, fasilələr müvəqqəti olaraq dayandırılır (bu, saat kəsilməsinin atəş aça bilməyəcəyi deməkdir) və yazı tamponu əvvəlki oxunan tamponla dəyişdirilir və yeni oxunan tampon deyil, sonra şərhlər yenidən aktiv edilir. Sonra, növbəti bit konfiqurasiyasını növbə qeydlərinə göndərməyin vaxtının gəldiyini göstərən saat fasiləsi alovlandıqda, bu məlumatlar cari oxumaq buferindən oxunur. Bu yolla, vaxt qeydlərində göndərilən məlumatları poza biləcək bir saat fasiləsi zamanı oxunan buferə heç bir yazı gəlməz.

Sürücünün qalan hissəsini dizayn etmək, obyekt yönümlü dizaynın nisbətən sadə bir nümunəsi idi. Məsələn, hər hansı bir ekran vəziyyəti üçün shift registr bit görüntüsünü idarə etmək üçün bir obyekt yaratdım. Bit görüntü idarəçiliyinə aid kodu əhatə edərək, yuxarıda qeyd olunan əkiz tampon yanaşmasını yaratmaq özü sadə bir məşq idi. Ancaq bu Təlimat kitabını obyekt yönümlü dizaynın fəzilətlərini ucaltmaq üçün yazmamışam. Digər dizayn elementinə Glif və RGB Şəkil anlayışı daxildir. Glif, fitri rəng məlumatı olmayan əsas bir görüntü quruluşudur. Bunu ağ -qara bir görüntü olaraq düşünə bilərsiniz. Glif LED ekrana çəkildikdə "ağ" piksellərin necə rənglənməli olduğunu göstərmək üçün rəng məlumatları verilir. RGB Şəkil, hər pikselin öz rəng məlumatına sahib olduğu bir görüntüdür.

Sürücünün RGB LED matrisində şəkillər və animasiyalar yaratmaq üçün necə istifadə ediləcəyi ilə tanış olmaq üçün Arduino eskiz nümunələrini nəzərdən keçirməyi və sürücü başlıq sənədlərini nəzərdən keçirməyi məsləhət görürəm.

Addım 4: LED Ghosting

LED Ghosting
LED Ghosting
LED Ghosting
LED Ghosting

Bir LED matrisində, "xəyal qurma", matrisdəki LED istənməyəndə parlayan bir fenomendir, ümumiyyətlə çox aşağı səviyyədədir. Orijinal aparat dizaynım, xüsusən son sırada olan xəyallara həssas idi. Bunun səbəbi iki şeydən qaynaqlanır: tranzistorlar dərhal sönmür və RGB LED -lərində parazitar tutum.

Satırları tarayarkən, tranzistorların dərhal sönməməsi səbəbindən, növbəti sıra açıldıqda, tarama dövründəki əvvəlki sıra hələ də qismən güclənir. Əvvəlki cərgədə söndürülmüş bir sütun yeni sıra işə düşdükdə yenidən açılırsa, əvvəlki cərgənin keçid tranzistoru hələ də dönmə prosesində olarkən əvvəlki cərgədəki LED qısa müddət ərzində parlayacaq. söndür Transistorun nəzərəçarpacaq dərəcədə söndürülməsinə səbəb olan şey, tranzistorun bazasında doyma olmasıdır. Bu, tranzistor kollektor-emitator yolunun cərəyanı bazadan çıxardıqda, ən azı doyma yox olana qədər davam etməyə səbəb olur. Multipleksləşdirmə yeniləmə dövrümüzün, sıraların mikrosaniyələrlə ölçülən müddət ərzində məqsədli olaraq işə salınmasına səbəb olduğunu nəzərə alsaq, əvvəlki sətrin doymuş tranzistorunun keçirici olaraq qaldığı müddət bunun nəzərə çarpan bir hissəsi ola bilər. Nəticədə, gözünüz əvvəlki cərgədəki LED -in yandırıldığı çox az vaxt hiss edə bilər.

Transistorun doyma problemini həll etmək üçün, tranzistorun doymasını maneə törədən, baza ilə kollektor arasındakı tranzistora bir az arxa cərəyan vurmaq üçün Schottky diodu əlavə edilə bilər. Bu da öz növbəsində, bazadan cərəyan çıxarılanda tranzistorun daha tez sönməsinə səbəb olacaq. Bu təsirin dərin izahı üçün bu məqaləyə baxın. Bu hissədəki şəkildən göründüyü kimi, diod olmadan gölgələnmə olduqca nəzərə çarpır, ancaq hər bir sıra üçün dövrə diodun əlavə edilməsi gölgələnməni əhəmiyyətli dərəcədə aradan qaldırır.

RGB LEDləri parazitar tutum adlanan başqa bir fenomenə həssasdır. Bunun əsas səbəbi, RGB LED vahidindəki üç rəngli LED -in hər birinin fərqli irəli gərginliyə malik olmasıdır. İrəli gərginliklərdəki bu fərq, fərdi LED rənglərinin hər biri arasında elektrik tutumunun təsirinə səbəb ola bilər. Güc verildikdə, LED qurğusunda elektrik yükü qurulduğundan, elektrik kəsildikdə parazitar tutumun boşaldılması lazımdır. Başqa bir cərəyanın enerjisi üçün bu LED sütunu başqa bir şəkildə yanarsa, parazitar yük bu sütunların LEDindən axacaq və qısa müddətdə parlamasına səbəb olacaq. Bu təsir bu yazıda gözəl izah olunur. Çözüm, bu parazitar yük üçün LED -dən başqa bir boşalma yolu əlavə etmək və sonra sütuna yenidən güc verilməzdən əvvəl LED -in boşalması üçün vaxt verməkdir. Təchizat dizaynımda, hər sətrin güc xəttini yerə bağlayan bir rezistor əlavə etməklə əldə edilir. Bu, cərəyanın güclənməsi ilə daha çox cərəyanın çəkilməsinə səbəb olacaq, ancaq sıra gücə malik olmadıqda parazitar tutum üçün boşalma yolu təmin edir.

Ancaq qeyd etmək yerinə düşər ki, praktikada parazitar tutumun təsirinin çox az nəzərə çarpan olduğunu görürəm (axtarsanız tapa bilərsiniz) və buna görə də bu əlavə rezistoru əlavə olaraq əlavə etməyi düşünürəm. Doymuş tranzistorlar üçün yavaşlama müddətinin təsiri daha güclü və nəzərə çarpır. Buna baxmayaraq, bu bölmədə təqdim olunan üç fotoşəkilə baxsanız, rezistorların hələ də yavaş tranzistorların sönmə vaxtlarından kənarda baş verən hər hansı bir xəyal quruluşunu tamamilə sildiyini görə bilərsiniz.

Addım 5: Son İstehsal və Sonrakı Adımlar

Image
Image

Bu layihənin son mərhələsi mənim üçün çap elektron kart (PCB) yaratmaq idi. PCB -ni hazırlamaq üçün Fritzing açıq mənbə proqramından istifadə etdim. 10x10 lövhədə 100 LED yerləşdirmək üçün yerinə yetirmək üçün bir çox təkrar vəzifələr olsa da, əslində layihənin bu mərhələsini qəribə dərəcədə məmnun etdik. Hər bir elektrik yolunun necə qurulacağını anlamaq bir tapmacaya bənzəyirdi və bu tapmacanın həlli bir uğur hissi yaratdı. Mən elektron lövhələr istehsal etmək üçün qurulmadığım üçün xüsusi PCB kiçik işlərini yerinə yetirən bir çox onlayn mənbədən birini istifadə etdim. Parçaları birlikdə lehimləmək mənim dizaynımda bütün deşik hissələri istifadə etdiyindən bəri olduqca düz idi.

Bu Təlimatı yazarkən RGB LED Matrix layihələrim üçün aşağıdakı planlarım var:

  1. Proqramçıya, xüsusən də mətn sürüşdürməyə daha yüksək səviyyəli funksiyalar təmin etmək üçün sürücünü API qatında təkmilləşdirməyə davam edin.
  2. 16x16 və ya hətta 16x32 kimi daha böyük matris dizaynları yaradın.
  3. Sıra gücünün dəyişdirilməsi üçün BJT əvəzinə MOSFET -lərdən istifadə edin
  4. Sütun keçid üçün 74HC595s deyil, DM13As sabit cərəyan sürücülərindən istifadə edin
  5. Teensy, ODROID C2 və ya Raspberry Pi kimi digər mikro nəzarət platformaları üçün sürücülər yaradın.

Diqqət yetirin ki, həm donanım dizaynı, həm də sürücü bu GitHub deposunda GPL v3 açıq mənbə lisenziyası altında buraxılmışdır. Üstəlik, PCB istehsalı PCB dizaynımın "kiçik işlərini" etsə də, yenə də şəxsən ehtiyacımdan daha çox şey əldə edirəm. Buradan veb saytımdan müxtəlif RGB LED matris dizaynlarım (PCB və bütün hissələr daxil olmaqla) üçün tam dəstlər satıram.

Tövsiyə: