Mundarija:
- 1 -qadam:
- 2 -qadam:
- 3 -qadam: Ishni boshlash - Uskuna
- 4 -qadam: Ishni boshlash - dasturiy ta'minot
- 5-qadam: Ikki rangli LEDlar
- 6-qadam: 7 segmentli displey
- 7 -qadam:
- 8 -qadam:
- 9 -qadam:
- 10 -qadam: tugmalar
Video: Arduino va TM1638 LED displey modullari: 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Agar sizga loyihaga foydalanuvchi kiritish va chiqishini qo'shishning tez va oson usuli kerak bo'lsa, bu displey modullari qiziqarli va qiziqarli.
Ularda sakkizta 7 segmentli qizil LEDli raqamlar, sakkizta qizil/yashil LED va foydalanuvchi kiritish uchun sakkiz tugma mavjud. Jihozlar ham romashka bilan bog'lanishi mumkin, bu bir vaqtning o'zida beshtagacha ruxsat beradi va har bir modulga qisqa simi, shuningdek, rasmda ko'rsatilgandek, ba'zi qisqa tutqichlar va murvat kiradi.
1 -qadam:
Bo'shliqlar PCBni sirtdan ko'tarish uchun etarlicha uzun, lekin taxtalarni kerakli joyga o'rnatish uchun sizga uzunroq taxtalar kerak bo'ladi. Agar siz modulni panel yuzasiga yaqin o'rnatmoqchi bo'lsangiz, IDC rozetkalarini olib tashlashingiz mumkin. Bu oddiy teshiklarni ajratish vazifasi bo'lardi, chunki ular teshikli rozetkalardir.
2 -qadam:
Kengash TM1638 IC tomonidan boshqariladi.
Bu "Titan Micro Electronics" ning LED va interfeysi drayveri IC. Siz shuningdek ushbu IClarni PMD Way -dan sotib olishingiz mumkin. Qo'shimcha ma'lumot olish uchun ma'lumotlar jadvalini yuklab olishingiz mumkin.
3 -qadam: Ishni boshlash - Uskuna
Uskuna-Arduino-ga mos keladigan kartaga (yoki boshqa MCU) ulanish juda oddiy. Tugmalar PCB orqasida ko'rsatilgan va tasma kabeliga mos keladi. Agar siz kabelning oxiriga qarasangiz.
O'ng yuqori teshik bir pinli, yuqori chap ikki pinli, pastki o'ng pim to'qqiz va pastki chap pim o'n. Shunday qilib, chiziqlar quyidagilar:
- VC (5V)
- GND
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- ulanmagan.
Arduino -dan foydalanish uchun 1 ~ 4 -gachasi pinlar bitta moduldan foydalanish uchun minimaldir. Har bir qo'shimcha modulga STB2, STB3 va boshqalarga ulangan boshqa raqamli pin kerak bo'ladi. E'tibor bering, har bir LED yonib turganda, har bir modul 127mA quvvat sarflaydi, shuning uchun bir nechta modulli tashqi quvvatni va Arduino platalari bilan boshqa ulanishlarni ishlatish oqilona bo'ladi.
4 -qadam: Ishni boshlash - dasturiy ta'minot
Dasturiy ta'minot - T1638 kutubxonasini shu erdan yuklab oling va o'rnating. Kutubxona uchun gmail dot com da rjbatista uchun rahmat va rahmat. Eskizda modullarni ishga tushirish juda oddiy. Kutubxonaga quyidagilarni qo'shing:
#qo'shing
keyin har bir modul uchun quyidagilardan birini ishlating:
TM1638 moduli (x, y, z);
x - Arduino raqamli pimi 4 -modul kabeliga ulangan, y - Arduino raqamli pimi 3 -modulli simi piniga ulangan va z - strobli pin. Agar sizda 8, 7 va 6 -pinlarga ulangan ma'lumotlar, soat va strobli bitta modul bo'lsa:
TM1638 moduli (8, 7, 6);
Agar sizda ikkita modul bo'lsa, Arduino raqamli 6 ga ulangan birinchi modul va raqamli 5 ga ulangan ikkinchi modulning strobasi bo'lsa, siz quyidagilarni ishlatardingiz:
TM1638 moduli (8, 7, 6); TM1638 moduli (8, 7, 5);
va boshqalar ko'proq modullar uchun. Endi displeyni boshqarish uchun …
5-qadam: Ikki rangli LEDlar
Qizil/yashil LEDlarni boshqarish oson. Malumot uchun ular chapdan o'ngga noldan ettigacha raqamlangan. Bitta LEDni yoqish yoki o'chirish uchun quyidagilarni ishlating:
module.setLED (TM1638_COLOR_RED, x); // LED raqamini x ni redmodule.setLED ga o'rnating (TM1638_COLOR_GREEN, x); // LED raqamini x yashil modulga o'rnating.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // LED raqamini qizil va yashil rangga o'rnating
Yuqoridagi usuldan foydalanish oddiy bo'lishi mumkin, lekin bu biroz samarasiz. Eng yaxshi usul - barcha LEDlarni bitta bayonotda ko'rib chiqish. Buning uchun biz displeyga o'n oltilikda ikki bayt ma'lumotlarni yuboramiz. MSB (eng muhim bayt) sakkiz bitdan iborat bo'lib, ularning har biri bitta yashil LEDni yoqadi (1) yoki o'chiriladi (0). LSB (eng kam bayt) qizil LEDlarni ifodalaydi.
LEDlarni boshqarish uchun o'n oltilik qiymatni aniqlashning oson yo'li oddiy, sizda bir qator LEDlar bor - birinchi sakkiztasi yashil, ikkinchisi qizil. Har bir raqamni yoqish uchun 1, o'chirish uchun 0 ga o'rnating. Ikkita ikkilik sonni o'n oltilikka aylantiring va bu funktsiyadan foydalaning:
module.setLEDs (0xgreenred);
Yashil LEDlar uchun o'n oltilik raqam qizil, qizil LEDlar uchun o'n oltilik raqam. Masalan, birinchi uchta LEDni qizil, oxirgi uchtasini yashil qilib yoqish uchun ikkilik tasvir quyidagicha bo'ladi:
00000111 11100000, o'n oltilikda E007.
Shunday qilib, biz quyidagilarni ishlatardik:
module.setLEDs (0xE007);
bu tasvirni yuqorida ko'rsatilgan tarzda ishlab chiqaradi.
6-qadam: 7 segmentli displey
Raqamli displeyni tozalash uchun (lekin quyidagi LEDlar emas):
modul.clearDisplay ();
yoki har bir segmentni va barcha LEDlarni yoqish uchun quyidagilarni ishlating
module.setupDisplay (haqiqiy, 7); // bu erda 7 - intensivlik (0 ~ 7 gacha)
O'nli raqamlarni ko'rsatish uchun quyidagi funktsiyadan foydalaning:
module.setDisplayToDecNumber (a, b, noto'g'ri);
bu erda a - butun son, b - kasr nuqtasi uchun pozitsiya (hech kim uchun 0, 8 -raqam uchun 1, 8 -raqam uchun 2, 7 -raqam uchun 4, 6 -raqam uchun 4, 4 -raqam uchun 8 va boshqalar) va oxirgi parametr (rost/ noto'g'ri) etakchi nollarni yoqadi yoki o'chiradi. Quyidagi eskiz bu funksiyadan foydalanishni ko'rsatadi:
#include // ma'lumotlar pin 8, soat pin 9 va strobe pin 7 TM1638 moduli (8, 9, 7) bo'yicha modulni aniqlang; belgisiz uzun a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); kechikish (1); } uchun (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, rost); kechikish (1); }}
… videoda ko'rsatilgan natijalar bilan.
7 -qadam:
Eng qiziqarli xususiyatlardan biri - matnni bir yoki bir nechta displeyda aylantirish. Buni amalga oshirish uchun tushuntirishga ehtiyoj yo'q, chunki u taqdimot eskiziga kiritilgan:
tm_1638_scrolling_modules_example.pde
TM1638 kutubxonasi bilan birga kelganlarga osonlikcha amal qilinadi. Faqat matnni const char string ga kiriting, eskiz boshida modullar modul ta'rifiga muvofiq ulanganligiga ishonch hosil qiling. Mavjud belgilarni ko'rish uchun funksiya sahifasiga tashrif buyuring. E'tibor bering, displey faqat etti segmentdan iborat, shuning uchun ba'zi belgilar mukammal ko'rinmasligi mumkin, lekin kontekstda sizga yaxshi fikr beradi-bu qadamdagi videoni ko'ring.
8 -qadam:
Va nihoyat, siz har bir raqamning har bir segmentiga alohida murojaat qilishingiz mumkin. Ushbu qator tarkibini ko'rib chiqing:
bayt qiymatlari = {1, 2, 4, 8, 16, 32, 64, 128};
har bir element 1 ~ 8 raqamlarini bildiradi. Har bir elementning qiymati raqamning qaysi segmenti yoqilishini aniqlaydi. A ~ f, dp segmentlari uchun qiymatlar 1, 2, 4, 6, 16, 32, 64, 128. Shunday qilib, yuqoridagi qatorni quyidagi funksiyada ishlatish natijalari:
module.setDisplay (qiymatlar);
tasvirga muvofiq bo'ladi.
9 -qadam:
Tabiiyki, siz o'z belgilaringizni, belgilaringizni va boshqalarni yaratish uchun har bir raqam uchun qiymatlarni birlashtira olasiz. Masalan, quyidagi qiymatlardan foydalanish:
bayt qiymatlari = {99, 99, 99, 99, 99, 99, 99, 99};
biz bu qadamda tasvirga muvofiq yaratdik.
10 -qadam: tugmalar
Tugmalar qiymatlari funksiyadan bayt qiymati sifatida qaytariladi:
modul.getButtons ();
Sakkiz tugma bo'lgani uchun, ularning har biri bayt sifatida qaytariladigan ikkilik sonning bir bitini ifodalaydi. Chapdagi tugma o'nli kasrni, o'ngda 128ni qaytaradi. U bir vaqtning o'zida bosishni qaytarishi mumkin, shuning uchun bir va sakkiz tugmachalarni bosish 129 ni qaytaradi. Quyidagi eskizni ko'rib chiqing. qiymati:
#include // ma'lumotlar pin 8, soat pin 9 va strobe pin 7 TM1638 moduli (8, 9, 7) bo'yicha modulni aniqlang; bayt tugmalari; void setup () {} void loop () {button = module.getButtons (); module.setDisplayToDecNumber (tugmalar, 0, noto'g'ri); }
va natijalar videoda.
Ushbu displeylar foydali va umid qilamanki, sizning loyihalaringizda uy topadi. Bu xabar sizga pmdway.com tomonidan olib kelingan - ishlab chiqaruvchilar va elektronika ixlosmandlari uchun hamma narsani taklif qilib, butun dunyo bo'ylab bepul etkazib berish.
Tavsiya:
NIXIE TUBE DRIVER MODULLARI - II qism: 11 qadam
NIXIE TUBE DRIVER MODULES - II qism: Bu yo'riqnoma bu erda joylashtirilgan nixie trubkasi drayveri modulining (I qism) davomi bo'lib, nixie drayveri tashqi mikrokontrollerdan (Arduino va boshqalar) ketma -ket kirishni qabul qilish uchun mo'ljallangan. va o'nlik ma'lumotni chiqarish va yo'nalish kuchi
Fre uchun sovuq yorug'lik (LED modullari): 9 qadam
Salqin yorug'lik uchun yorug'lik (LED modullari): men bu ko'rsatmaga ko'ra, yaxshi yorug'lik effektlari uchun kichik LED yoritgichlar yasadim, chunki ular qayta ishlangan batareyalardan foydalangan, chunki u bepul edi, lekin siz xohlagan batareyadan foydalanishingiz mumkin
Micropython bilan TTGO (rangli) displey (TTGO T-displey): 6 qadam
Micropythonli TTGO (rangli) displey (TTGO T-displey): TTGO T-displeyi-ESP32 asosidagi, 1,14 dyuymli rangli displeyni o'z ichiga olgan taxta. Kengashni 7 dollardan kam bo'lgan mukofotga sotib olish mumkin (etkazib berish, banggoodda ko'rilgan mukofot). Bu ESP32 uchun ajoyib mukofot, shu jumladan displey
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
5 ta Arduino va 5 ta NRF24L01 simsiz modullari yordamida 4 tomonlama svetofor tizimi: 7 qadam (rasmlar bilan)
5 Arduinos va 5 NRF24L01 simsiz modullaridan foydalangan holda 4 tomonlama svetofor tizimi: Bir oz oldin men non panelida bir juft svetoforni ko'rsatadigan ko'rsatma yaratdim, shuningdek, NRF24L01 simsiz modulidan foydalanishning asosiy asosini ko'rsatadigan boshqa ko'rsatma yaratdim. Meni o'yladi! Juda ko'p narsa bor