Mündəricat:

Arduino və TM1638 LED Ekran Modulları: 11 addım
Arduino və TM1638 LED Ekran Modulları: 11 addım

Video: Arduino və TM1638 LED Ekran Modulları: 11 addım

Video: Arduino və TM1638 LED Ekran Modulları: 11 addım
Video: Using HT1621 6 Digits Seven Segment LCD Display | Lesson 103: Arduino Step By Step Course 2024, Iyul
Anonim
Arduino və TM1638 LED Ekran Modulları
Arduino və TM1638 LED Ekran Modulları

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:

Şəkil
Şəkil

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:

Şəkil
Şəkil

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

Başlanğıc - Avadanlıq
Başlanğıc - 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:

  1. VC (5V)
  2. GND
  3. CLK
  4. DIO
  5. STB1
  6. STB2
  7. STB3
  8. STB4
  9. STB5
  10. 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

İki rəngli LED-lər
İki rəngli LED-lə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:

Image
Image

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

Şəkil
Şəkil

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