Mundarija:
- 1 -qadam: komponentlar
- 2 -qadam: Birinchi prototiplar
- 3 -qadam: PCB dizayni
- 4 -qadam: dasturlash
- 5 -qadam: Sinov
- 6 -qadam: Xulosa va keyingi qadamlar
Video: Bir nechta LED displey moduli: 6 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Hammaga salom, Men 7 segmentli yoki nuqta matritsali LED displeylar bilan ishlashni yaxshi ko'raman va men ular bilan juda ko'p turli xil loyihalarni amalga oshirganman.
Har safar ular qiziq, chunki ular qanday ishlashining qandaydir sehrlari bor, chunki siz ko'rib turganingiz - bu optik xayol!
Displeylarda Arduino (yoki boshqa mikrokontroller) bilan bog'lanish uchun juda ko'p pinlar mavjud va ularning portlaridan foydalanishni minimallashtirish uchun ma'lumotlarni ko'paytirish texnikasini qo'llash eng yaxshi echimdir.
Agar shunday qilsangiz, har bir segment yoki har bir LED bir necha lahzaga yoqiladi (milisekund yoki undan kam), lekin buni sekundiga ko'p marta takrorlash siz ko'rsatmoqchi bo'lgan tasvirning illyuziyasini keltirib chiqaradi.
Men uchun eng qiziq narsa - bu sizning loyihangizga muvofiq to'g'ri ma'lumotni qanday ko'rsatishi mumkinligini bilish uchun mantiqni va dasturni ishlab chiqish.
Bitta loyihada displeylar yordamida ulanish uchun ko'p simli non panelidagi barcha komponentlarni yig'ish ko'p vaqt talab qiladi.
Bilaman, bozorda I2C bilan ishlaydigan turli xil displeylar mavjud, ularni soddalashtirilgan usullar bilan (yoki bo'lmagan holda) dasturlash mumkin va men ham ulardan foydalanganman, lekin 74HC595 (multiplekser IC) va ULN2803 (drayverlar) kabi standart komponentlar bilan ishlashni afzal ko'raman. ular sizning dasturingizda ko'proq nazoratni, shuningdek, undan foydalanishning mustahkamligi va ishonchliligini beradi.
O'rnatish jarayonini soddalashtirish uchun men Arduino dunyosida oddiy va keng tarqalgan komponentlardan foydalangan holda ko'p maqsadli LED Dipslay modulini ishlab chiqdim.
Ushbu modul yordamida siz ikkita standart o'lchamdagi (kattaroq va kichikroq) ikkita rangli LEDli nuqta matritsasi bilan ishlashingiz mumkin, shuningdek, ularni bozorda topish oson bo'lgan 7 Seg x 4 raqamli displeyni boshqarishingiz mumkin.
Bundan tashqari, siz ushbu modullar bilan kaskadda ketma -ket (har xil ma'lumotlar displeyda) yoki parallel usulda (displeyda bir xil ma'lumotlar) ishlashingiz mumkin.
Keling, ushbu modul qanday ishlashini va sizning ishlanmalaringizda sizga qanday yordam berishini ko'rib chiqaylik!
Video (LED displey moduli)
Video (nuqta matritsasi testi)
Hurmat bilan, LAGSILVA
1 -qadam: komponentlar
PCB (bosilgan elektron karta)
- 74HC595 (03 x)
- ULN2803 (02 x)
- Transistorli PNP - BC327 (08 x)
- qarshilik 150 Ohm (16 x)
- Rezistor 470 Ohm (08 x)
- 100 nF kondansatör (03 x)
- IC soket 16 pinli (03 x)
- IC soket 18 pinli (02 x)
- pinli ulagich - 6 pinli (8 x)
- Sarlavhalar 90º (01 x)
- Sarlavhalar 180º (01 x)
- Konektor Borne KRE 02 pinli (02 x)
- tenglikni (01 x) - ishlab chiqarilgan
Boshqalar
- Arduino Uno R3 / Nano / shunga o'xshash
- LED displeyi 04 raqamli 7 ta segment - (umumiy anod)
- LED nuqta matritsali ikki rangli (yashil va qizil) - (umumiy anod)
Muhim izohlar:
- Men eng muhim komponentlarning ma'lumotlar varaqasini faqat ma'lumot sifatida qo'yaman, lekin siz ularni ishlatishdan oldin o'z komponentlaringiz ma'lumotlarini tekshirishingiz kerak.
- Bu taxta faqat COMMON ANODE displeylaridan foydalanish uchun mo'ljallangan.
2 -qadam: Birinchi prototiplar
Mening birinchi prototipim sxemani sinab ko'rish uchun non panelida qilingan.
Shundan so'ng, rasmlarda ko'rib turganingizdek, men universal taxtadan foydalanib, boshqa prototip qildim.
Bunday taxtaning tezkor prototipini yaratish qiziq, lekin siz hali ham ko'p simlarni ushlab turishini tushunasiz.
Bu funktsional echim, lekin oxirgi ishlab chiqarilgan PCB (ko'k) bilan taqqoslaganda unchalik oqlangan emas.
Men lehimlashni yaxshi bilmayman, chunki bu jarayonda etarli tajribaga ega emasman, lekin men ham tajriba bilan ham yaxshi natijalarga erishdim va bundan ham muhimi: men hech qanday komponentni ham, qo'llarimni ham yoqmaganman!
Ehtimol, amaliyot tufayli keyingi taxtadagi natijalar yaxshiroq bo'ladi.
Shuning uchun men sizni bunday tajribani sinab ko'rishga taklif qilaman, chunki bu siz uchun ajoyib bo'ladi.
Shuni yodda tutingki, issiq dazmolga g'amxo'rlik qiling va uni yoqib yubormaslik uchun bir necha soniyadan ko'proq vaqt sarflamang.
Va nihoyat, Youtube -da siz haqiqiy dunyoga borishdan oldin o'rganishingiz mumkin bo'lgan lehim haqida ko'plab videolarni topishingiz mumkin.
3 -qadam: PCB dizayni
Men bu tenglikni ikki qavatli taxta ishlab chiqarish uchun maxsus dastur yordamida ishlab chiqdim va u oxirgi versiyadan oldin bir necha xil versiyalarda ishlab chiqilgan.
Dastlab menda har bir displey uchun bitta versiya bor edi va men hamma narsani bitta versiyada birlashtirishga qaror qildim.
Dizayn maqsadlari:
- Prototiplar uchun oddiy va foydali.
- Oson sozlash va kengaytirish.
- 3 xil displeydan foydalanish imkoniyati.
- LEDning katta nuqta matritsasining maksimal kengligi.
- Kengash ishlab chiqarish xarajatlarini minimallashtirish uchun maksimal uzunligi 100 mm.
- Qo'lda lehimlash jarayonida ko'proq qiyinchiliklarga yo'l qo'ymaslik uchun SMD o'rniga an'anaviy komponentlarni qo'llang.
- Kengash kaskadli boshqa taxtalarga ulanishi uchun modulli bo'lishi kerak.
- Boshqa taxtalar uchun ketma -ket yoki parallel chiqish.
- Bir nechta taxtalarni faqat Arduino boshqarishi kerak.
- Arduino ulanishi uchun faqat 3 ta simli ma'lumot.
- Tashqi 5V quvvat ulanishi.
- LEDlarni boshqarish uchun tranzistorlar va drayverlarni (ULN2803) qo'llash orqali elektr mustahkamligini oshiring.
Izoh:
Oxirgi element bilan bog'liq holda, men sizga ushbu komponentlar haqidagi boshqa ko'rsatmalarni o'qishni maslahat beraman:
74HC595 Shift Ro'yxatdan o'tish kitobini ULN2803, UDN2981 va BC327 bilan ishlatish
PCB ishlab chiqarish:
Dizaynni tugatgandan so'ng, men uni Xitoyda PCB ishlab chiqaruvchisiga turli mahalliy etkazib beruvchilar va turli mamlakatlarda ko'plab qidiruvlardan so'ng yubordim.
Asosiy masala - bu taxtalar va xarajatlar o'rtasidagi bog'liqlik edi, chunki menga ulardan bir nechtasi kerak.
Nihoyat, men Xitoyda bir kompaniyaga 10 ta taxtaga oddiy buyurtma berishga qaror qildim.
Faqat 3 kundan keyin taxtalar ishlab chiqarildi va menga dunyoni kesib o'tish uchun 4 kundan ko'proq vaqt yubordi.
Natijalar ajoyib bo'ldi !!
Xarid qilinganidan bir hafta o'tgach, taxtalar mening qo'limda edi va men ularning yuqori sifati va tezligi meni hayratda qoldirdi!
4 -qadam: dasturlash
Dasturlash uchun siz apparat dizayni va 74HC595 smenali registri haqidagi ba'zi muhim tushunchalarni yodda tutishingiz kerak.
74HC595-ning asosiy vazifasi 8-bitli ketma-ket kirishni 8 ta parallel o'tish rejimiga o'tkazishdir.
Barcha ketma-ket ma'lumotlar 14-pinga kiradi va har bir soat signalida bitlar mos keladigan parallel pinlarga o'tadi (Qa dan Qhgacha).
Agar siz doimiy ravishda qo'shimcha ma'lumot yuborishni davom ettirsangiz, bitlar ketma -ket chiqish sifatida birma -bir Pin 9 (Qh ') piniga o'tkaziladi va bu funksiya tufayli siz kaskadga ulangan boshqa chiplarni qo'yishingiz mumkin.
Muhim:
Ushbu loyihada bizda 74HC595 uchta IC mavjud. Dastlabki ikkita ustunni boshqarish (POSITIVE mantiq bilan), ikkinchisi - chiziqlarni boshqarish (PNP tranzistorlari ishlashi sababli NEGATIF mantiq bilan).
Ijobiy mantiq, siz Arduino -dan yuqori darajali signalni (+5V) yuborishingiz kerak degan ma'noni anglatadi va salbiy mantiq past darajadagi signalni (0V) yuborishingizni bildiradi.
LEDlarning nuqta matritsasi
- Birinchisi, qizil LEDlarning katodlari uchun (8 x) >> COLUMN RED (1 dan 8 gacha).
- Ikkinchisi, Yashil LEDlarning katodlarining chiqishi uchun (8 x) >> COLUMN GREEN (1 dan 8 gacha).
- Oxirgi - barcha LEDlarning anodlarini chiqarish uchun (08 x Qizil va Yashil) >> LINES (1 dan 8 gacha).
Masalan, agar siz faqat 1 -ustun va 1 -chiziqning yashil LEDini yoqmoqchi bo'lsangiz, ketma -ket ma'lumotlarning ketma -ketligini yuborishingiz kerak:
1º) chiziqlar
~ 10000000 (faqat birinchi qator yoqilgan) - ~ belgisi barcha bitlarni 1 dan 0 gacha va teskarisini teskari aylantirishdir.
2º) TUTUQ Yashil
10000000 (faqat yashil LEDning birinchi ustuni yoqilgan)
3º) QIRMIZI TUTUQ
00000000 (qizil LEDlarning barcha ustunlari o'chirilgan)
Arduino bayonotlari:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Chiziqlar uchun salbiy mantiq
shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Yashil ustunlar uchun ijobiy mantiq
shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Qizil ustunlar uchun ijobiy mantiq
Izoh:
Siz ikkala LEDni (Yashil va Qizil) birlashtirib, sariq rangni quyidagi tarzda ishlab chiqarishingiz mumkin:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
7 segmentlar ko'rsatiladi
Bunday displeylar uchun ketma -ketlik bir xil bo'ladi. Yagona farq shundaki, siz Yashil LEDlarni ishlatishingiz shart emas.
1º) DIGIT (chapdan o'ngga 1 dan 4 gacha) ~ 10000000 (raqamni o'rnating 1)
~ 01000000 (raqamni belgilang #2)
~ 00100000 (belgilangan raqam #3)
~ 00010000 (o'rnatilgan raqam #4)
2º) FOYDALANILMAYDI
00000000 (barcha bitlar nolga o'rnatilgan)
3º) SEGMENTLAR (A dan F va DP - displey ma'lumotlar jadvalini tekshiring)
10000000 (A segmentini o'rnatish)
01000000 (B segmentini o'rnating)
00100000 (C segmentini o'rnatish)
00010000 (D segmentini o'rnatish)
00001000 (E segmentini o'rnatish)
00000100 (F segmentini o'rnating)
00000010 (G segmentini o'rnating)
00000001 (sozlash DP)
Arduino misolida 2 -raqamli displeyni 3 raqami bilan o'rnating:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // DISPLAY 2 -ni o'rnating (salbiy mantiq)
shiftOut (dataPin, clockPin, LSBFIRST, 0); // Ma'lumotni nolga qo'ying (ishlatilmaydi)
shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // A, B, C, D, G segmentlarni o'rnating)
Va nihoyat, ushbu jarayonni qo'llash orqali siz displeyingizning istalgan LEDini boshqarishingiz va kerakli maxsus belgilarni yaratishingiz mumkin.
5 -qadam: Sinov
Bu erda displey modulining ishlashiga misol sifatida ikkita dastur.
1) Qayta hisoblash ekrani (999,9 soniyadan nolgacha)
2) nuqta matritsasi (0 dan 9 gacha raqamlar va A dan A gacha alifbo)
3) 4 raqamli va 7 segmentli LED displeyda raqamli soat RTC
Bu oxirgi raqamli soatning birinchi versiyasining yangilanishi.
6 -qadam: Xulosa va keyingi qadamlar
Ushbu modul kelajakda LED displeyni talab qiladigan barcha loyihalarda foydali bo'ladi.
Keyingi qadamlar sifatida men ular bilan kaskad rejimida ishlash uchun bir nechta taxtalarni yig'aman va dasturlashni yanada soddalashtirish uchun kutubxona ham ishlab chiqaman.
Umid qilamanki, sizga bu loyiha yoqdi.
Iltimos, menga o'z sharhlaringizni yuboring, chunki bu loyihani yaxshilash va ushbu yo'riqnomadagi ma'lumotlarni yaxshilash uchun muhim.
Hurmat bilan, LAGSILVA
26. may, 2016 yil
Tavsiya:
Bitta analog pin yordamida bir nechta analog qiymatlarni qanday o'qish mumkin: 6 qadam (rasmlar bilan)
Bitta analog pin yordamida bir nechta analog qiymatlarni qanday o'qish mumkin: Men bu qo'llanmada sizga faqat bitta analog kirish pinidan foydalanib, bir nechta analog qiymatlarni o'qishni ko'rsataman
Bir nechta PZEM 004T ni Nodemcu moduli bilan ulang: 3 qadam
Bir nechta PZEM 004T -ni Nodemcu moduli bilan ulang: Quvvatni o'g'irlashni aniqlash tizimi yoki energiyani kuzatish tizimi kabi ba'zi loyihalarda bir nechta PZEM 004T modullari talab qilinadi, shuning uchun men bu erda Nodemcu kodini va 3 PZEM 004T modullarini Nodemcu.if bilan ulashini ta'minladim. keyin k
CloudX mikrokontrolerli bir nechta 7 segmentli displey hisoblagichi: 4 qadam
CloudX mikrokontrolerli 7 ta segmentli displey hisoblagichi: Ushbu loyiha CloudX mikrokontrolleridan foydalanib, ikkita 7 segmentli ma'lumotlarni qanday ko'rsatishni tushuntiradi
Arduino yordamida P10 LED displey modulidagi displey harorati: 3 qadam (rasmlar bilan)
Arduino yordamida P10 LED displey modulidagi displey harorati: Oldingi qo'llanmada Arduino va DMD ulagichi yordamida nuqta matritsali LED displeyli P10 modulida matnni qanday ko'rsatish kerakligi ko'rsatilgan. Ushbu qo'llanmada biz P10 modulini displey vositasi sifatida ishlatib, oddiy loyiha qo'llanmasini beramiz
Bir nechta mikrokontroldan bir nechta LEDni qanday chiqarish mumkin: 6 qadam (rasmlar bilan)
Bir nechta mikroto'lqinli pinlardan qanday qilib ko'p LEDlarni haydash mumkin: Ko'pgina mikrokontrolderlarning uch holatida (+V, GND yoki "yuqori impedansli") mavjudligidan foydalanib, siz N pinli N*(N-1) LEDlarni boshqarishingiz mumkin. Shunday qilib, PIC12Fxxx yoki ATtiny11 kabi 8pinli mikrokontroller beshta mavjud 20 ta LEDni boshqarishi mumkin