Mündəricat:

Köhnə Noritake Itron VFD Modullarından istifadə: 7 addım
Köhnə Noritake Itron VFD Modullarından istifadə: 7 addım

Video: Köhnə Noritake Itron VFD Modullarından istifadə: 7 addım

Video: Köhnə Noritake Itron VFD Modullarından istifadə: 7 addım
Video: Qədimi qızıl 10 luq Videoya səsli baxın.Qiymət 980 manat Çatdırılma var 2024, Iyul
Anonim
Köhnə Noritake Itron VFD Modullarından istifadə
Köhnə Noritake Itron VFD Modullarından istifadə
Köhnə Noritake Itron VFD Modullarından istifadə
Köhnə Noritake Itron VFD Modullarından istifadə
Köhnə Noritake Itron VFD Modullarından istifadə
Köhnə Noritake Itron VFD Modullarından istifadə

İndi ebayda dostlarınızdan və ya ikinci əl mağazalarda köklənən maraqlı hissələrə rast gəlirsiniz. Bunun bir nümunəsi, müştəridən ötürülən 1994-cü il (və ya daha əvvəlki) böyük Noritake Itron 40 x 2 xarakterli vakuum-floresan displey idi.

Əvvəlcə olduqca mürəkkəb görünürdü, ancaq bir müddət keçdikdən sonra məlumat vərəqləri tapıldı və sadə bir serial interfeysi olduğu aşkar edildi - və bir az işlə işlədiyimiz üçün klassik VFD -lərlə maraqlanırsınızsa oxuyun. və ya oxşar vahidi var.

Addım 1:

Şəkil
Şəkil

Serial interfeysinin ötürmə tezliyi PCB üzərindəki tullanan yastıqlar tərəfindən müəyyən edilir.

Addım 2:

Şəkil
Şəkil

Beləliklə, yuxarıdakı cədvəli modulumuzdakı atlayıcılarla müqayisə etsək, heç bir pariteti olmayan 19200 bps məlumat sürəti əldə edirik. Əla - serial çıxışı və 5V məntiq səviyyəsi olan bir mikro nəzarətçi ilə asanlıqla belə bir əlaqə yarada bilərik; nümunələrimiz üçün Arduino ilə uyğun bir lövhədən istifadə edəcəyik.

Addım 3:

VFD -nin qurulması sadədir - əvvəllər göstərildiyi kimi CN2 etiketli ağ atlayıcılara baxın. Pin 1 5V -dir (700 mA -a qədər təklif edə biləcək bir xarici təchizata ehtiyacınız var), 2 -ci pin Arduino rəqəmsal pin 7 -yə və 3 -cü pin Arduino və GND enerji təchizatıdır.

Bir eskiz yüklənərkən ekranda zibil görünməməsi üçün Arduino D7 -ni TX əvəzinə proqram seriyası ilə istifadə edirik. Ekrana sadəcə mətn göndərmək məsələsidir, məsələn, burada qısa bir nümayiş eskizi:

// Noritake Itron VFD modulları ilə iş - CU40026SCPB -T20A modeli #SoftwareSerial VFD (6, 7) daxil edin; // RX, TX

boş quraşdırma ()

{VFD.begin (19200); }

boşluq döngəsi ()

{VFD.print ("Salam, dünya. Bu Noritake VFD -dir"); // {1 while (1) mətnini ləğv edə bilərsiniz; }

Addım 4:

Şəkil
Şəkil

Aşağıdakılarla nəticələnən…

Addım 5:

Şəkil
Şəkil

Ekranın rənginə və intensivliyinə heyran deyilsinizsə, yuxarıdan bir az Perspex sınayın - məsələn …

Addım 6: Ekrana nəzarət

Bu nöqtədə məlumat vərəqi məlumat vərəqinə ehtiyacınız olacaq. Daha əvvəl gördüyünüz kimi, mətn yazmaq çox sadədir - yalnız.print funksiyalarından istifadə edin. Bununla birlikdə, ekranın aspektlərini idarə etmək üçün fərdi simvolları və xüsusi əmrləri göndərmək istəyə bilərsiniz. Bunlar məlumat vərəqində təsvir edilmişdir - "Proqram əmrləri" və "simvol yazı tipləri" cədvəllərinə baxın.

Tək əmrlər göndərmək lazımdırsa - məsələn, 0x0E olan "aydın göstəriş" kimi bir. Yaz komutunu istifadə edin, məsələn:

VFD.write (0x0E); // aydın görüntü

Bəzi əmrlər qaçış kodları formatındadır (bunları yadda saxla?), Buna görə ESC -ni, sonra isə aşağıdakı baytı göndərməlisiniz, məsələn, parlaqlığı 50%-ə dəyişdirmək üçün:

VFD.write (0x1B); // ESC VFD.write (0x4C); // parlaqlıq VFD.write (0x40); // 50% parlaqlıq

Bu bilik və məlumat vərəqləri ilə silahlanaraq artıq bütün əmrləri yerinə yetirə bilərsiniz. Məlumat cədvəlinə görə şriftləri dəyişdirmək mümkündür, amma çalışdığımız aparat tullanan və ya əmrindən asılı olmayaraq Yapon katakana şriftindən geri çəkilməyəcək. Ekranınız fərqli ola bilər. "Ekran prioritetli yazma" funksiyasından istifadə edirsinizsə, sonrakı yazıları bir millisaniyə gecikdirərək uzanan "məşğul" vaxtla əlaqədar məlumat vərəqinə diqqət yetirin.

Addım 7: Hamısını bir yerə yığın

Mümkün olan hər bir əmri izah etmək əvəzinə, aşağıda göstərilən eskizdə sənədləşdirilmiş funksiyaların içərisində ümumi olanları qoydum, bunun ardınca eskizin sürətli bir videosu gəlir.

// Noritake Itron VFD modulları ilə işləmək - model CU40026SCPB -T20A // John Boxall 2013

#daxil edin

SoftwareSerial VFD (6, 7); // rx, tx

boş quraşdırma ()

{VFD.begin (19200); // proqram serial port resetVFD () üçün sürəti təyin edin; VFDclearsceen (); // VFD.write (0x12); // şaquli sürüşmə rejimi (aktiv)}

boş yerə sıfırlama VFD ()

// VFD nəzarətçisində bir proqram sıfırlaması həyata keçirir {VFD.write (0x1B); // ESC VFD.write (0x49); // proqram sıfırlama}

boş VFDnewline ()

// kursoru növbəti sətrin başlanğıcına keçir {VFD.write (0x0D); // vaqon dönüşü VFD.write (0x0A); // xətt lenti}

boş VFDclearsceen ()

// imleci yuxarı sola aparır və ekranı təmizləyir {VFD.write (0x0E); // aydın görüntü VFD.write (0x0C); // forma lenti - imleci yuxarı sola}

boş VFDbrightness (int miqdarı)

// VFD parlaqlığını təyin edir - 25/50/75/100% // ESC ardıcıllığından istifadə edir {keçid (məbləğ) {hal 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // parlaqlıq VFD.print (0); // 25% parlaqlıq fasiləsi; hal 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // parlaqlıq VFD.write (0x40); // 50% parlaqlıq fasiləsi; dava 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // parlaqlıq VFD.write (0x80); // 75% parlaqlıq fasiləsi; hal 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // parlaqlıq VFD.write (0xC0); // 100% parlaqlıq}}

boş VFDchars ()

// seçilmiş yazı tipi üçün simvollardan keçin {for (int i = 21; i <256; i ++) {VFD.write (0x16); // imlecin altından VFD.write (i) xəttini çəkin; gecikmə (100); }}

void moveCursor (bayt mövqeyi)

// imleci hərəkət etdirir - üst sətir 0 ~ 39, alt sətir 40 ~ 79 // istifadə edildikdə şaquli sürüşmə rejimi söndürülməlidir {VFD.write (0x1B); // ESC VFD.write (0x48); // kursoru hərəkət etdirin VFD.write (mövqe); // yer}

boşluq döngəsi ()

{VFD.write (0x16); // imleci VFD.printin altından çəkin ("Salam, dünya - birinci sətir."); // Mətn gecikməsini yoxlaya bilərsiniz (1000); VFDnewline (); VFD.print ("Salam, dünya - ikinci xətt."); gecikmə (1000); VFDclearsceen (); VFDbrightness (25); VFD.print ("*** 25% parlaqlıq ***"); gecikmə (1000); VFDclearsceen (); VFDbrightness (50); VFD.print ("*** 50% parlaqlıq ***"); gecikmə (1000); VFDclearsceen (); VFDbrightness (75); VFD.print ("*** 75% parlaqlıq ***"); gecikmə (1000); VFDclearsceen (); VFDbrightness (100); VFD.print ("*** 100% parlaqlıq ***"); gecikmə (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

for (int i = 0; i <80; i ++) {VFD.write (0x16); // kursorun altından xətt çəkin moveCursor (i); VFD.print ("X"); gecikmə (100); MoveCursor (i); VFD.print (""); } VFDclearsceen (); }

Ümid edirik ki, bunu maraqlı və faydalı tapdınız.

Bu yazı pmdway.com tərəfindən sizə təqdim olunur - istehsalçılar və elektronika həvəskarları üçün hər şey, bütün dünyada pulsuz çatdırılma.

Tövsiyə: