Mundarija:

RGB LED matritsasi: 5 qadam
RGB LED matritsasi: 5 qadam

Video: RGB LED matritsasi: 5 qadam

Video: RGB LED matritsasi: 5 qadam
Video: IP68 waterproof dustproof dc24V led pixel light rgb led point matrix,Waterproof dc voltage pixel led 2024, Iyul
Anonim
Image
Image
Uskuna dizayni
Uskuna dizayni

Instructable -ni qidiring va siz ko'plab LED matritsali loyihalarni topishingiz mumkin. Ularning hech biri men xohlagan narsamga to'g'ri kelmadi, bu-biror narsa ishlab chiqarish uchun apparat va dasturiy ta'minot dizaynining o'zaro ta'sirini o'rganish va haydovchiga ega bo'lgan toza mahsulotni PCBda ishlab chiqarish, men esa yuqori darajadagi "LED displey" ga chizishga ruxsat berdim. konstruktsiyalar (masalan, ma'lum piksellarni o'rnatishdan farqli o'laroq, chiziq chizish). Bu qism men uchun juda muhim edi, chunki LED matritsali drayverlarning ko'pchiligi yalang'och suyaklardir va dasturiy ravishda tasvir yoki animatsiyani yaratish uchun ko'p narsani ta'minlamaydi. Bu boshqa drayverlar bilan tasvirlar va animatsiyalar yarata olmaysiz degani emas, faqat loyihadan loyihaga ko'proq takrorlanadigan ishni bajarish kerak bo'ladi.

Shunday qilib, men o'z tasavvurimni amalga oshirish uchun yo'l oldim. Birinchi qadam uskunani loyihalash edi. Bu, ehtimol, men uchun eng qiyin bo'lgan, chunki mening fonim ko'proq dasturiy ta'minot. Shunga qaramay, oldindan tayyorlangan ko'plab dizaynlar bor edi va men ularni ilhom uchun ishlatardim, lekin men buni o'rganishni xohlardim, shuning uchun men non panelida 4x4 matritsani prototip qildim. Men bu jarayon orqali ko'p narsalarni o'rgandim, chunki mening birinchi takrorlashlarim ishlamadi. Lekin, men ishlagan apparat dizaynini qildim, bu esa o'z navbatida menga haydovchini ishlab chiqarishni boshlashga imkon berdi.

Men Arduinoni haydovchi platformasi sifatida tanladim, chunki u keng tarqalgan va Internetda ko'plab havolalarga ega. Ish tajribasi menga haydovchining ishchi versiyasiga uskunalarimdan ko'ra yaxshiroq harakat qilishimga imkon bergan bo'lsa -da, ATMega mikrokontroller uchun haydovchi ishini optimallashtirganimda va menga yoqadigan dasturiy APIni ishlab chiqishda hali ko'p takrorlanishlar mavjud edi.

Bu yo'riqnomada mening loyihamning dizayni va ba'zi muhim bilimlari hujjatlashtirilgan. Loyiha haqida ko'proq ma'lumotni mening veb -saytimda topishingiz mumkin, shu jumladan siz o'zingizning RGB LED matritsangizni yaratish uchun sotib olishingiz mumkin bo'lgan to'liq to'plamlarni.

1 -qadam: Uskuna dizayni

Uskuna dizaynining asosiy maqsadi men dasturlashim mumkin bo'lgan RGB LED -larini yaratish edi, lekin men ham ko'p pul sarflashni xohlamadim. Men qaror qilgan yondashuv, LEDlarni boshqarish uchun 74HC595 smenali registrlardan foydalanish edi. Kerakli smenali registrlar sonini minimallashtirish uchun men RGB LEDlarini matritsa tartibiga joylashtirdim, u erda umumiy anodlar qatorlarga, qizil, yashil va ko'k katodli simlar ustunlarga bog'langan edi. 4x4 matritsa uchun sxemasi biriktirilgan elektron sxemaga o'xshardi.

Siz darhol e'tiborga oladigan narsa shundaki, matritsali sxemani hisobga olgan holda, LED yorug'lik konfiguratsiyasi mavjud bo'lib, ularni bir vaqtning o'zida barcha kerakli LEDlar yonib turganda bajarish mumkin emas. Masalan, matritsa bir vaqtning o'zida bir -biridan diagonali bo'lgan ikkita LEDni yoqolmaydi, chunki ikkala satr va ustunni quvvatlantirish, qarama -qarshi ikkita LEDni kerakli diagonali diagonalida yonishiga olib keladi. Bu muammoni hal qilish uchun biz har bir qatorni skanerlash uchun multiplekslashtirishdan foydalanamiz. Internetda ko'paytirish texnikasini qamrab oladigan ko'plab manbalar mavjud, men ularni bu erda takrorlashga urinmayman.

Men umumiy anodli LEDlardan foydalanganim uchun, bu qatorlar ijobiy quvvat beradi va ustunlar erga cho'kadi. Yaxshi xabar shundaki, 74HC595 smenali registrlar ham quvvat manbai, ham quvvatni kamaytirishi mumkin, lekin yomon xabar shundaki, ular qancha quvvat manbai yoki cho'kishi mumkinligi chegarasida. 74HC595 -ning yakka pimlari 70 mA maksimal oqimga ega, lekin 20 mA dan pastroq tutish yaxshiroqdir. Bizning RGB LED -dagi individual ranglarning har biri 20 mA ga yaqin chizilgan. Bu shuni anglatadiki, agar men hammasini yoqmoqchi bo'lsam, 74HC595 butun LED qatorini to'g'ridan -to'g'ri quvvatlantira olmaydi.

Shunday qilib, qatorni to'g'ridan -to'g'ri quvvatlantirish o'rniga, 74HC595 har bir satr uchun tranzistorni boshqaradi va tranzistor qatorni quvvatlaydigan tokni yoqadi yoki o'chiradi. Dizayn umumiy anodli LEDlardan foydalanganligi sababli, o'tish tranzistori PNP bo'ladi. Agar biz umumiy katodli LEDni ishlatgan bo'lsak, o'tish tranzistori NPN bo'ladi. E'tibor bering, PNP tranzistorini ketma -ket haydashda, smenali registrning uni yoqish sozlamalari endi past bo'ladi, chunki PNP tranzistoriga emitent va tayanch o'rtasida manfiy kuchlanish yoqilishi kerak, bu esa musbat oqimning tarmoqqa oqishiga imkon beradi. qator

Shuni hisobga olish kerak bo'lgan yana bir narsa - bu o'zgarish registrlarining kerakli bit tartibi. Ya'ni, matritsadagi qaysi satr yoki ustunlarni bit boshqaradigan smenali registrlar orasida. Men yuborgan dizayn - bu zanjirli smenali registrlarga yuborilgan birinchi bit, yoki "eng muhim bit", LEDlar qizil elementlar ustunini boshqaradi, ikkinchi bit birinchi ustunning yashil elementini, uchinchi bit esa birinchi ustunni boshqaradi. ko'k element, to'rtinchi bit ikkinchi ustunning qizil elementini boshqaradi, bu naqsh chapdan o'ngga ustunlar bo'ylab takrorlanadi. Keyin yuborilgan keyingi bit oxirgi yoki pastki qatorni, keyingisi ikkinchi sondan ikkinchi qatorni boshqaradi … bu oxirgi yuborilguncha takrorlanadi yoki "eng kichik bit" matritsadagi birinchi yoki yuqori qatorni boshqaradi..

Nihoyat, men RGB LED diodli LEDlarning har biri uchun qanday rezistorlar ishlatilishini aniqlashim kerak edi. Kerakli rezistorni hisoblash uchun oldinga kuchlanish va kerakli oqimni birlashtirgan standart formuladan foydalansangiz ham, har bir LEDning oqimi 20 milliamperga o'rnatilishi natijasida qizil, yashil va ko'k LEDlarning hammasi yonib turganda oq rangsiz rang paydo bo'lganligini aniqladim.. Shunday qilib, men uni ko'zdan kechira boshladim. Oq rangda juda ko'p qizil rang oqimi kamaytirish uchun qizil LEDning qarshilik ohmini oshirishni anglatardi. Men oq ohangni yaratadigan kombinatsiyani topgunimcha turli ohmli rezistorlarni almashtirishni takrorladim. Oxirgi kombinatsiya qizil LED uchun 180 Ω, yashil LED uchun 220 and va ko'k LED uchun 100 was edi.

2 -qadam: Uskuna qurilishi - Breadboard

Uskuna qurilishi - non paneli
Uskuna qurilishi - non paneli
Uskuna qurilishi - non paneli
Uskuna qurilishi - non paneli

Uskuna qurilishining birinchi bosqichi non taxtasi edi. Bu erda men RGB LEDli 4x4 matritsa yasadim. Ushbu matritsani boshqarish uchun 16 bit, RGB ustunlari uchun 12 ta va har bir satr uchun 4 ta talab qilinadi. Ikkita 74HC595 smenali registrlar hammasini boshqarishi mumkin. Men avval ishlay oladigan sxemani o'rganib chiqdim va loyihalashtirdim, keyin uni non taxtasida qurdim.

Ehtimol, non paneli qurishning eng katta muammosi barcha simlarni boshqarish edi. Men non taxtasi uchun oldindan tayyorlangan simlar to'plamini oldim, lekin voqea biroz noqulay edi. Menga foydali bo'lgan hiyla - bu Arduino kartasiga ulanish uchun "port" yaratish. Ya'ni, Arduino -dagi pinlarni to'g'ridan -to'g'ri non panelidagi turli IC -pinlarga ulash o'rniga, taxtadagi bir necha qatorni Arduino -ni ulanish nuqtasi sifatida ajratib oling va keyin tegishli identifikator pinlarini o'sha qatorlarga ulang. Ushbu loyiha uchun sizga Arduino -ga beshta ulanish kerak: +5V, yer, ma'lumotlar, soat va mandal.

Non paneli qurilishi tugagach, men uni sinab ko'rishim kerak edi. Biroq, smenali registrlarga to'g'ri signallarni yuboradigan haydovchisiz, men apparat sxemasi ishlayaptimi yoki yo'qligini tekshira olmadim.

3 -qadam: Haydovchilar uchun dasturiy ta'minot dizayni

Image
Image

Dasturiy ta'minotni ishlab chiqish bo'yicha o'zimning shaxsiy tajribamni hisobga olgan holda, men bu loyihaning bir qismi bo'ldim, ehtimol men bu yo'lni aniqlab berdim. Men Arduino-ga asoslangan LED matritsali boshqa ko'plab drayverlarni o'rganib chiqdim. Albatta, yaxshi haydovchilar mavjud bo'lsa -da, hech kim men xohlagan dizaynga ega emas edi. Mening haydovchining dizayndagi maqsadlari:

  • Tasvirlar va animatsiyalarni dasturiy ravishda yaratish uchun yuqori darajadagi API bilan ta'minlang. Men ko'rgan haydovchilarning aksariyati qattiq kodli tasvirlarga ko'proq e'tibor qaratgan. Bundan tashqari, men C ++ dasturchisi bo'lganim uchun, LED matritsasiga chizish faoliyatini amalga oshirish va boshqarish uchun ob'ektga yo'naltirilgan yaxshi dizayndan foydalanishni xohlardim.
  • Ekrandagi tasvirni boshqarish uchun ikkita buferli yondashuvdan foydalaning. Bir bufer - bu dasturiy ravishda chizilgan narsa, ikkinchisi - matritsa piksellarining holatini har qanday vaqtda. Ushbu yondashuvning afzalligi shundaki, siz multiplexingning yangilanish davrlari o'rtasida ekran uchun keyingi kadr yangilanishini to'liq ko'rsatishingiz shart emas.
  • PWM -dan foydalanib, RGB qizil, yashil va ko'k elementlarning oddiy kombinatsiyasi orqali ettita asosiy rangdan ko'proq rangga ega bo'lishi mumkin.
  • Haydovchiga shunday yozingki, u mening umumiy matritsali dizayn yondashuvimga mos keladigan turli o'lchamdagi RGB LED matritsalar bilan "ishlaydi". E'tibor bering, mening apparat dizaynimda 74HC595 smenali registrlar ishlatilgan bo'lsa, men haydovchining uskuna konstruktsiyasiga o'xshash bitli joylashuv yordamida o'rnatilgan har qanday smenali registrni yoqish/o'chirish mexanizmi bilan ishlashini kutardim. Masalan, men haydovchining ustunlarni boshqarish uchun DM13A chiplari va qatorlarni boshqarish uchun 74HC595 chipidan foydalangan holda apparat dizayni bilan ishlashini kutardim.

Agar siz to'g'ridan -to'g'ri haydovchi kodini ko'rishni xohlasangiz, uni GitHub -da topishingiz mumkin.

Haydovchimning birinchi iteratsiyasi Arduino platformasining imkoniyatlarini o'rganishning bir qismi edi. Eng aniq cheklov - bu RAM, bu Arduino Uno va Nano uchun 2K bayt. Bunday stsenariyda C ++ moslamalarini ishlatish, odatda, ob'ektlarning xotirasi yuklanishi tufayli tavsiya etilmaydi. Ammo, agar men to'g'ri bajarilgan bo'lsam, C ++ da ob'ektlarning foydasi ularning narxidan (RAMda) ustundir.

Ikkinchi asosiy qiyinchilik, pullik kenglikdagi modulyatsiyani smenali registrlar orqali qanday amalga oshirish kerakligini aniqlash edi, shuning uchun men RGB LED-ning ettita asosiy rangidan ko'proqini ishlab chiqarishim mumkin edi. Ko'p yillar davomida Linux platformalarida dasturlashdan so'ng, men izchil vaqtni talab qiladigan jarayonlarni boshqarish uchun iplar kabi konstruktsiyalarni ishlatishga odatlanganman. Shift registrini yangilash operatsiyasining vaqti, ko'p matritsali LED matritsasi uchun haydovchini tanlashda juda muhim. Sababi shundaki, hatto multipleksatsiya shunchalik tez sodir bo'ladiki, sizning ko'zlaringiz yonib -o'chib turadigan alohida LEDlarni ko'ra olmaydi, lekin siz har qanday LED yonib turgan vaqtdagi farqni sezishingiz mumkin. Agar LEDlarning bir qatori boshqalarga qaraganda uzoq vaqt davomida doimiy ravishda yonib tursa, u multiplekslash paytida yorqinroq ko'rinadi. Bu matritsaning notekis yorqinligiga yoki umuman matritsaning vaqti -vaqti bilan siljishiga olib kelishi mumkin (bu bitta yangilash tsikli boshqalariga qaraganda ko'proq vaqt talab qilganda sodir bo'ladi).

Menga smenali registrni yangilashga rozilik berish uchun izchil vaqt mexanizmi kerak bo'lgani uchun, lekin Arduino rasman ipni qo'llab-quvvatlamaydi, men o'zimga o'xshash mexanizmni yaratishga majbur bo'ldim. Mening birinchi takrorlashim faqat Arduino loop () funktsiyasiga bog'liq bo'lgan tsikl taymerini yaratish edi va bu harakat oxirgi marta o'tgandan keyin ma'lum vaqt o'tganida harakatni o'chirish edi. Bu "ko'p vazifali kooperativ" ning bir shakli. Yaxshi eshitiladi, lekin amalda bu otish tezligi mikrosaniyalarda o'lchanganida bir xil emas edi. Buning sababi shundaki, agar menda ikkita taymer bor edi, ularning harakatlaridan biri tez -tez etarlicha uzoq davom etib, ikkinchi harakat istalganidan kechroq o'tishi mumkin edi.

Men bu muammoning echimi Arduino mahalliy soatlarining uzilish mexanizmidan foydalanish ekanligini aniqladim. Bu mexanizm sizga juda oz vaqt oralig'ida kodni ishga tushirishga imkon beradi. Shunday qilib, men haydovchining kodini matritsa smenasini yuborish kodini ishga tushirish uchun soat uzilishidan foydalangan holda dizayn elementi atrofida ishlab chiqdim. Buning uchun va smenali registrlarga faol tashlanishga xalaqit bermaslik uchun ekran tasvirining yangilanishiga ruxsat berish uchun (biz buni "poyga holati" deb atagan bo'lardim), men smenali registr bitlari uchun egizak buferlarga ega bo'lish usulini qo'lladim. yozish uchun va bitta o'qish uchun. Foydalanuvchi matritsa tasvirini yangilayotganda, bu operatsiyalar yozish buferida sodir bo'ladi. Bu operatsiyalar tugagach, uzilishlar vaqtincha to'xtatiladi (bu soat uzilishi ishlamasligini bildiradi) va yozish buferi oldingi o'qish buferi bilan almashtiriladi va bu yangi o'qish buferi emas, keyin sharhlar qayta yoqiladi. So'ngra, soatni to'xtatib turganda, keyingi bit konfiguratsiyasini smenali registrlarga yuborish vaqti kelganligini bildiradi, bu ma'lumot joriy o'qish buferidan o'qiladi. Shunday qilib, hozirda soat uzilish vaqtida o'qilishi mumkin bo'lgan buferda hech qanday yozuv bo'lmaydi, bu esa smenali registrlarga yuborilgan ma'lumotlarni buzishi mumkin.

Qolgan haydovchini loyihalashtirish ob'ektga yo'naltirilgan dizaynning nisbatan oddiy holati edi. Masalan, men ekranning har qanday holati uchun shift registrining bit tasvirini boshqarish uchun ob'ekt yaratdim. Bit tasvirini boshqarishga tegishli kodni kiritib, yuqorida aytib o'tilgan egizak buferlar yondashuvini yaratish o'zi oddiy mashq edi. Lekin men bu ko'rsatmalarni ob'ektga yo'naltirilgan dizaynning afzalliklarini ulug'lash uchun yozmaganman. Boshqa dizayn elementiga Glif va RGB tasviri kontseptsiyasi kiradi. Glif - bu tasvir haqida tug'ma ma'lumotga ega bo'lmagan asosiy tuzilma. Siz buni qora va oq tasvir sifatida tasavvur qilishingiz mumkin. Glif LED displeyga tortilganda, "oq" piksellar qanday ranglanishi kerakligini ko'rsatish uchun rangli ma'lumotlar beriladi. RGB tasvir - bu har bir piksel o'ziga xos rang ma'lumotiga ega bo'lgan rasm.

RGB LED matritsasida tasvirlar va animatsiyalar yaratish uchun haydovchidan qanday foydalanish kerakligini bilish uchun sizni Arduino eskiz misollarini ko'rib chiqishni va haydovchi sarlavhasi hujjatlarini ko'rib chiqishni taklif qilaman.

4 -qadam: LED yoritgichi

LED yoritgichi
LED yoritgichi
LED yoritgichi
LED yoritgichi

LED matritsasida "ghosting" - bu matritsadagi LED kerak bo'lmaganda yonib turadigan hodisadir, odatda bu juda past darajadir. Mening asl apparat dizaynim, ayniqsa oxirgi qatorda, ruhiy tushkunlikka uchradi. Buning sababi ikkita narsaga bog'liq: tranzistorlar darhol o'chmaydi va RGB LED -laridagi parazitar sig'im.

Qatorlarni ko'rib chiqayotganimizda, tranzistorlar darhol o'chib ketmasligi sababli, keyingi qator yoqilganda, skanerlash davrining oldingi qatori hali ham qisman quvvatlanadi. Agar oldingi qatorda o'chirilgan ustun yangi satr yoqilganda yangi yoqilgan bo'lsa, oldingi qatorning o'tish tranzistorining burilish bosqichida bo'lganida, oldingi satrdagi LED qisqa vaqt yonadi. o'chirilgan Transistorni o'chirish uchun ko'p vaqt talab qilinishiga sabab bu tranzistor bazasida to'yinganlikdir. Bu tranzistorli kollektor-emitator yo'lining bazadan oqim chiqarilganda, hech bo'lmaganda to'yinganlik yo'qolguncha davom etishiga olib keladi. Bizning multiplexing yangilanish tsikli qatorlarni mikrosaniyali o'lchanadigan vaqt davomida maqsadli ravishda yoqilishiga olib kelishini hisobga olsak, oldingi satrning to'yingan tranzistorining o'tkazuvchan bo'lib qolishi uning sezilarli qismini tashkil qilishi mumkin. Natijada, sizning ko'zingiz oldingi qatorning LED -lari yoqilgan juda oz vaqtni sezishi mumkin.

Transistorlar to'yinganligi muammosini hal qilish uchun tranzistor yoqilganda bazaga ozgina teskari tokni keltirib, tranzistorning to'yingan bo'lishiga yo'l qo'ymaslik uchun taglik va kollektor orasidagi tranzistorga Schottky diodini qo'shish mumkin. Bu, o'z navbatida, poydevordan oqim chiqarilganda, tranzistorning tezroq o'chishiga olib keladi. Ushbu ta'sirni chuqur tushuntirish uchun ushbu maqolaga qarang. Ushbu bo'limdagi rasmdan ko'rinib turibdiki, diodsiz xayolparastlik sezilarli bo'ladi, lekin har bir qator uchun kontaktlarning zanglashiga diod qo'shilishi xayolotni sezilarli darajada yo'q qiladi.

RGB LEDlari parazitar sig'im deb ataladigan boshqa hodisaga sezgir. Buning asosiy sababi shundaki, RGB LED birligidagi uchta rangli LEDlarning har biri har xil oldinga kuchlanishlarga ega. Oldinga kuchlanishdagi bu farq har bir LED rangining elektr sig'imi ta'siriga olib kelishi mumkin. Quvvat berilganda LED birligida elektr zaryad to'planganligi sababli, quvvat o'chirilganida, parazitar sig'im zaryadsizlanishi kerak. Agar bu LED ustun boshqa qatorni quvvatlantirish uchun boshqa holatda bo'lsa, parazitar zaryad bu ustunlar LED orqali tushadi va uning qisqa vaqt yonishiga olib keladi. Ushbu effekt ushbu maqolada yaxshi tushuntirilgan. Yechim, bu parazitar zaryad uchun LEDning o'zidan boshqa tushirish yo'lini qo'shish, keyin esa kolonka qayta yoqilmaguncha, LEDni bo'shatish vaqtini berishdir. Mening apparat dizaynimda, bu har bir qatorning kuch liniyasini kuch bilan erga bog'laydigan rezistorni qo'shish orqali amalga oshiriladi. Bu ketma -ket quvvatlansa, ko'proq oqimning paydo bo'lishiga olib keladi, lekin qator quvvatlanmaganida, parazitar sig'imning tushirish yo'lini beradi.

Shuni ta'kidlash kerakki, amalda men parazitlik sig'imining ta'sirini deyarli sezmayapman (agar qidirsangiz, topa olasiz), shuning uchun men bu qo'shimcha rezistorni ixtiyoriy deb hisoblayman. To'yingan tranzistorlar uchun sekinlashuvning ta'siri ancha kuchliroq va sezilarli. Shunga qaramay, agar siz ushbu bo'limda keltirilgan uchta fotosuratni ko'rib chiqsangiz, rezistorlar hali ham sekin tranzistorli o'chirish vaqtidan oshib ketadigan har qanday ruhlanishni butunlay yo'q qilishini ko'rishingiz mumkin.

5 -qadam: Yakuniy ishlab chiqarish va keyingi qadamlar

Image
Image

Ushbu loyihaning yakuniy bosqichi men uchun bosilgan elektron kartani (PCB) yaratish edi. Men tenglikni loyihalash uchun Fritzing ochiq kodli dasturidan foydalandim. 10x10 taxtada 100 ta LEDni joylashtirish uchun ko'p takrorlanadigan vazifalar bo'lsa -da, men loyihaning bu bosqichini g'alati tarzda qoniqtirdim. Har bir elektr yo'lining qanday o'rnatilishini aniqlash jumboqqa o'xshardi va bu jumboqni hal qilish muvaffaqiyat tuyg'usini yaratdi. Men elektron platalarni ishlab chiqarishga tayyorlanmaganim uchun, men shaxsiy PCB -ni kichik hajmda bajaradigan ko'plab onlayn resurslardan birini ishlatardim. Qismlarni bir-biriga lehimlash juda oldinga siljidi, chunki mening dizaynimda barcha teshik qismlari ishlatilgan.

Bu yo'riqnomani yozish paytida men o'z RGB LED matritsa loyihalarim uchun quyidagi rejalarga egaman:

  1. API darajasida drayverni takomillashtirishda davom eting, bu dasturchining yuqori darajadagi funksiyalarini, xususan, matnni aylantirishni ta'minlaydi.
  2. Kattaroq matritsali dizaynlarni yarating, masalan, 16x16 yoki hatto 16x32.
  3. Qatorni almashtirish uchun BJT o'rniga MOSFET -dan foydalanishni o'rganing
  4. Ustunlarni almashtirish uchun 74HC595 emas, balki DM13As doimiy oqim drayverlaridan foydalanishni o'rganing
  5. Teensy, ODROID C2 yoki Raspberry Pi kabi boshqa mikro boshqaruv platformalari uchun drayverlar yarating.

E'tibor bering, apparat dizayni ham, haydovchi ham GitHub omborida GPL v3 ochiq manba litsenziyasi ostida chiqarilgan. Qolaversa, tenglikni ishlab chiqarishda mening PCB konstruktsiyam "mayda -chuyda" bo'lsa ham, men o'zimga kerak bo'lgandan ko'ra ko'proq narsani olaman. Men o'z veb -saytimdan RGB LED matritsali dizaynlarim uchun to'liq to'plamlarni (PCB va uning barcha qismlari) sotaman.

Tavsiya: