Mundarija:

Bir nechta LED displey moduli: 6 qadam (rasmlar bilan)
Bir nechta LED displey moduli: 6 qadam (rasmlar bilan)

Video: Bir nechta LED displey moduli: 6 qadam (rasmlar bilan)

Video: Bir nechta LED displey moduli: 6 qadam (rasmlar bilan)
Video: Telefonning 15 ta siz bilmagan maxfiy kodlari/Телефоннинг сиз билмаган 15 та махфий кодлари 2024, Noyabr
Anonim
Image
Image
Bir nechta LED displeyli modul
Bir nechta LED displeyli modul
Bir nechta LED displeyli modul
Bir nechta LED displeyli modul

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

Komponentlar
Komponentlar
Komponentlar
Komponentlar
Komponentlar
Komponentlar
Komponentlar
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:

  1. 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.
  2. Bu taxta faqat COMMON ANODE displeylaridan foydalanish uchun mo'ljallangan.

2 -qadam: Birinchi prototiplar

Birinchi prototiplar
Birinchi prototiplar
Birinchi prototiplar
Birinchi prototiplar
Birinchi prototiplar
Birinchi prototiplar
Birinchi prototiplar
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

PCB dizayni
PCB dizayni
PCB dizayni
PCB dizayni
PCB dizayni
PCB dizayni
PCB dizayni
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
Dasturlash
Dasturlash
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

  1. Birinchisi, qizil LEDlarning katodlari uchun (8 x) >> COLUMN RED (1 dan 8 gacha).
  2. Ikkinchisi, Yashil LEDlarning katodlarining chiqishi uchun (8 x) >> COLUMN GREEN (1 dan 8 gacha).
  3. 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

Sinov
Sinov
Sinov
Sinov
Sinov
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

Xulosa va keyingi qadamlar
Xulosa va keyingi qadamlar
Xulosa va keyingi qadamlar
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: