Mündəricat:
- Addım 1:
- Addım 2:
- Addım 3: Başlamaq - Avadanlıq
- Addım 4: Başlamaq - Proqram təminatı
- Addım 5: İki rəngli LEDlər
- Addım 6: 7 seqmentli ekran
- Addım 7:
- Addım 8:
- Addım 9:
- Addım 10: Düymələr
Video: Arduino və TM1638 LED Ekran Modulları: 11 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Bir layihəyə bəzi istifadəçi giriş və çıxışı əlavə etmək üçün sürətli və asan bir yola ehtiyacınız varsa, bu ekran modulları maraqlı və əyləncəlidir.
Səkkiz 7 seqmentli qırmızı LED rəqəmi, səkkiz qırmızı/yaşıl LED və istifadəçi girişi üçün səkkiz düymə var. Cihazlar eyni zamanda beşə qədər icazə verilən papatya zəncirlə bağlana bilər və hər bir modula qısa bir kabel, şəkildə göstərildiyi kimi bəzi qısa aralıqlar və boltlar daxil edilmişdir.
Addım 1:
Aralayıcılar, PCB -ni bir səthin üstünə qaldırmaq üçün kifayət qədər uzun olsa da, lövhələri daha uzun olanlara ehtiyacınız olan hər hansı bir yerə quraşdırmaq üçün. Modulu bir panelin səthinə yaxın bir yerə bağlamaq istəyirsinizsə, IDC yuvalarını da çıxarmaq istəyə bilərsiniz. Çuxur yuvaları olduğu üçün bu, sadə bir sökmə vəzifəsi olardı.
Addım 2:
Lövhə TM1638 IC tərəfindən idarə olunur.
Bu, "Titan Micro Electronics" in LED və interfeys sürücüsü IC -dir. Bu IC -ləri PMD Way -dən də ala bilərsiniz. Daha ətraflı məlumat üçün məlumat cədvəlini də yükləyə bilərsiniz.
Addım 3: Başlamaq - Avadanlıq
Hardware-Arduino ilə uyğun bir lövhəyə (və ya digər MCU) qoşulmaq olduqca sadədir. Pinoutlar PCB -nin arxa tərəfində göstərilir və lent kabelindəki fitinqə uyğundur. Kabelin ucuna baxsanız.
Sağ üst çuxur bir pin, sol üst pin iki, sağ alt pin doqquz və alt sol pin 10. Buna görə pinoutlar aşağıdakılardır:
- VC (5V)
- GND
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- bağlantı yoxdur.
Arduino istifadəsi üçün 1 ~ 4 sancaqlar bir modulu istifadə etmək üçün lazım olan minimumdur. Hər bir əlavə modul üçün STB2, STB3 və s. İlə əlaqəli başqa bir rəqəmsal pin tələb olunacaq. Diqqət yetirin ki, hər bir LED yanarkən hər bir modul 127mA istehlak edir, buna görə də birdən çox modulu və Arduino lövhələri ilə digər əlaqələri olan xarici gücdən istifadə etmək düzgün olardı.
Addım 4: Başlamaq - Proqram təminatı
Proqram təminatı - T1638 kitabxanasını buradan yükləyin və quraşdırın. Kitabxana üçün gmail dot com ünvanından rjbatista üçün təşəkkürlər və təşəkkürlər. Eskizdə modulların işə salınması sadədir. Kitabxanaya aşağıdakıları daxil edin:
#daxil edin
sonra hər bir modul üçün aşağıdakılardan birini istifadə edin:
TM1638 modulu (x, y, z);
x, modul kabel pin 4 -ə qoşulan Arduino rəqəmsal pinidir, y modul kabel pin 3 -ə qoşulmuş Arduino rəqəmsal pinidir və z strobe pinidir. Beləliklə, 8, 7 və 6 sancaqlar ilə əlaqəli məlumat, saat və strobe olan bir modulunuz olsaydı istifadə edərdiniz:
TM1638 modulu (8, 7, 6);
Bir modulun Arduino digital 6 -ya və ikinci modulun strobuna rəqəmsal 5 -ə qoşulmuş iki modulunuz olsaydı istifadə edərdiniz:
TM1638 modulu (8, 7, 6); TM1638 modulu (8, 7, 5);
və daha çox modul üçün. İndi ekranı idarə etmək üçün…
Addım 5: İki rəngli LEDlər
Qırmızı/yaşıl LEDləri idarə etmək asandır. İstinad üçün onlar soldan sağa sıfırdan yeddiyə qədər sayılır. Bir LED -i yandırmaq və ya söndürmək üçün aşağıdakılardan istifadə edin:
module.setLED (TM1638_COLOR_RED, x); // LED nömrəsini x olaraq təyin edin redmodule.setLED (TM1638_COLOR_GREEN, x); // LED nömrəsini x -ı yaşıl modula təyin edin.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // LED nömrəsini x qırmızı və yaşıl olaraq təyin edin
Yuxarıdakı metoddan istifadə etmək sadə ola bilər, bir qədər təsirsizdir. Daha yaxşı bir yol, bütün LED -ləri bir ifadədə həll etməkdir. Bunu etmək üçün ekrana onaltılı olaraq iki bayt məlumat göndəririk. MSB (ən əhəmiyyətli bayt), hər biri bir (1) və ya sönmüş (0) bir yaşıl LED -i təmsil edən səkkiz bitdən ibarətdir. LSB (ən az əhəmiyyətli bayt) qırmızı LEDləri təmsil edir.
LEDləri idarə etmək üçün onaltılıq dəyərini təyin etməyin asan bir yolu sadədir, bir sıra LEDləriniz var - ilk səkkiz yaşıl, ikinci səkkiz qırmızı. Hər bir rəqəmi açmaq üçün 1 və söndürmək üçün 0 olaraq təyin edin. İki ikili sayını onaltılıya çevirmək və bu funksiyanı istifadə etmək:
module.setLEDs (0xgreenred);
Yaşılların yaşıl LED -lər üçün onaltılıq sayı, qırmızı isə qırmızı LED -lərin onaltılıq rəqəmidir. Məsələn, ilk üç LED -i qırmızı, son üçü isə yaşıl olaraq açmaq üçün ikili təqdimat belə olacaq:
Onaltılıqda E007 olan 00000111 11100000.
Beləliklə istifadə edərdik:
module.setLEDs (0xE007);
yuxarıda göstərildiyi kimi görüntünü istehsal edir.
Addım 6: 7 seqmentli ekran
Rəqəmsal ekranı silmək üçün (ancaq aşağıdakı LED -lər deyil) sadəcə istifadə edin:
module.clearDisplay ();
və ya hər seqmenti VƏ bütün LEDləri açmaq üçün aşağıdakıları istifadə edin
module.setupDisplay (doğru, 7); // burada 7 intensivlikdir (0 ~ 7 arasında)
Ondalık ədədləri göstərmək üçün funksiyadan istifadə edin:
module.setDisplayToDecNumber (a, b, yalan);
burada a tamsayıdır, b, onluq nöqtənin mövqeyi (heç biri üçün 0, 8 rəqəmi üçün 1, 8 rəqəmi üçün 2, 7 rəqəmi üçün 4, 6 rəqəmi üçün 4, 4 rəqəmi üçün 8 və s.) və son parametrdir (doğru/ saxta) aparıcı sıfırları açar və ya söndürər. Aşağıdakı eskiz bu funksiyanın istifadəsini göstərir:
#include // data pin 8, clock pin 9 və strobe pin 7 TM1638 modulunda (8, 9, 7) bir modul təyin edin; işarəsiz uzun a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); gecikmə (1); } üçün (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, doğru); gecikmə (1); }}
… Videoda göstərilən nəticələrlə.
Addım 7:
Ən maraqlı xüsusiyyətlərdən biri, mətni bir və ya daha çox ekranda sürüşdürmə qabiliyyətidir. Bunu etmək üçün daxil olan nümayiş eskizi kimi bir şərhə ehtiyac yoxdur:
tm_1638_scrolling_modules_example.pde
TM1638 kitabxanasına daxil olanlar asanlıqla izlənilir. Mətninizi const char siminə daxil edin, eskizin əvvəlində modulların modul tərifinə uyğun olaraq bağlandığından əmin olun. Mövcud simvolları görmək üçün funksiya səhifəsinə daxil olun. Diqqət yetirin ki, ekran yalnız yeddi seqmentdən ibarətdir, buna görə də bəzi personajlar mükəmməl görünməsə də, kontekstdə sizə yaxşı bir fikir verəcək-bu addımdakı videoya baxın.
Addım 8:
Nəhayət, hər rəqəmin hər bir seqmentinə ayrıca müraciət edə bilərsiniz. Bu serialın məzmununu nəzərdən keçirin:
bayt dəyərləri = {1, 2, 4, 8, 16, 32, 64, 128};
hər bir element 1 ~ 8 rəqəmlərini təmsil edir. Hər bir elementin dəyəri rəqəmin hansı seqmentinin açılacağını müəyyənləşdirir. A ~ f, dp seqmentləri üçün dəyərlər 1, 2, 4, 6, 16, 32, 64, 128 -dir. Beləliklə, yuxarıdakı massivi aşağıdakı funksiyada istifadə etməyin nəticələri:
module.setDisplay (dəyərlər);
şəkilə uyğun olacaq.
Addım 9:
Təbii ki, hər bir rəqəm üçün dəyərləri birləşdirərək öz simvollarınızı, simvollarınızı və s. Məsələn, aşağıdakı dəyərləri istifadə edərək:
bayt dəyərləri = {99, 99, 99, 99, 99, 99, 99, 99};
bu addımdakı görüntüyə görə yaratdıq.
Addım 10: Düymələr
Düymələrin dəyərləri funksiyadan bayt dəyəri olaraq qaytarılır:
module.getButtons ();
Səkkiz düymə olduğu üçün hər biri bayt olaraq qaytarılmış ikili ədədin bir bitini təmsil edir. Soldakı düymə ondalık, sağa isə 128 -i qaytarır. Eyni zamanda eyni anda basmağı da qaytara bilər, buna görə də bir və səkkiz düymələri basmaq 129 -u qaytarır. Düymənin basıldığı dəyərləri ondalık formada qaytaran aşağıdakı eskizi nəzərdən keçirin. Dəyər:
#include // data pin 8, clock pin 9 və strobe pin 7 TM1638 modulunda (8, 9, 7) bir modul təyin edin; bayt düymələri; void setup () {} void loop () {button = module.getButtons (); module.setDisplayToDecNumber (düymələr, 0, yalan); }
və nəticələr videoda.
Bu ekran lövhələri faydalıdır və inşallah layihələrinizdə ev tapa bilərsiniz. Bu yazı pmdway.com tərəfindən sizə gətirildi - istehsalçıları və elektronika həvəskarları üçün hər şeyi təklif edir, bütün dünyada pulsuz çatdırılır.
Tövsiyə:
Ümumi 433MHz RF Modulları ilə DIY Telsiz: 4 addım
Ümumi 433MHz RF Modulları ilə DIY Telsiz: Bu proyektdə sizə funksional Walkie-Talkie yaratmaq üçün Ebaydan ümumi 433MHz RF modullarından necə istifadə edəcəyinizi göstərəcəyəm. Bu o deməkdir ki, fərqli RF Modullarını müqayisə edəcəyik, bir sinif d gücləndiricisi haqqında bir az məlumat əldə edəcəyik və nəhayət Walkie-Talkie quracağıq
Fre üçün Sərin İşıqlandırma (LED Modulları): 9 Addım
Fre üçün Sərin İşıqlandırma (LED Modulları): bu təlimatda bəzi gözəl işıqlandırma effektləri üçün kiçik LED işıqlar düzəltdim, çünki pulsuz olduğu üçün təkrar emal edilmiş batareyalardan istifadə etdim, ancaq istədiyiniz batareyanı istifadə edə bilərsiniz
RF Modulları ilə Uzaqlığa RSSI (Xbees): 4 Addım
RF Modulları ilə Məsafəyə RSSI (Xbees): Xbees, məlumatları irəli -geri göndərmək və digər daha spesifik istifadə üçün faydalı ola biləcək kiçik Radio Tezlik modullarıdır. Bu layihə üçün, bunları qiymətləndirmək üçün Alınan Siqnal Güc Göstəricisi (RSSI) dəyərlərini əldə etmək üçün istifadə edirəm
Canlı Ters Mühəndislik WiFi Modulları: 8 Addım (Şəkillərlə birlikdə)
Canlı Tərs Mühəndislik WiFi Modulları: Bacardığım qədər işləyən komponentləri yenidən istifadə etməyi sevirəm. Bir WiFi printerini tərs mühəndislik etsəm də, bu üsul bir çox digər cihazda işləyir. Zəhmət olmasa; yalnız köhnəlmiş elektronikanı ayırmayın, sonra xilas edilmiş komponentlər üçün məlumat cədvəllərini tapmağı gözləyin
DPS5005 və USB Modulları ilə Özü Üçlü (3x 250W) Laboratoriya Güc Təchizatı: 7 addım
DPS5005 və USB Modulları ilə Self -Made Üçlü (3x 250W) Laboratoriya Güc Təchizatı: Asan qurulumu və 3x 250W (hər bir Panel üçün 50Vdc və 5A) olan yüksək səviyyəli Lab Güc Təchizatı. Panelləri ayrı -ayrılıqda idarə etmək üçün hər DPS5005 -i kompüterinizə qoşa bilərsiniz. Bu Powersuplly -ni qurmaq 4-8 saat çəkəcək, vaxt çox dəyişəcək