Turinys:

Naudojant senesnius „Noritake Itron VFD“modulius: 7 žingsniai
Naudojant senesnius „Noritake Itron VFD“modulius: 7 žingsniai

Video: Naudojant senesnius „Noritake Itron VFD“modulius: 7 žingsniai

Video: Naudojant senesnius „Noritake Itron VFD“modulius: 7 žingsniai
Video: ☹️ Неужели старая Toyota лучше нового Hyundai? Способен ли 20-летний RAV4 пережить свежий Sportage? 2024, Lapkritis
Anonim
Naudojant senesnius „Noritake Itron VFD“modulius
Naudojant senesnius „Noritake Itron VFD“modulius
Naudojant senesnius „Noritake Itron VFD“modulius
Naudojant senesnius „Noritake Itron VFD“modulius
Naudojant senesnius „Noritake Itron VFD“modulius
Naudojant senesnius „Noritake Itron VFD“modulius

Retkarčiais „ebay“susiduriate su įdomiomis dalimis iš draugų ar tiesiog įsišaknijusių dėvėtų prekių parduotuvėse. Vienas iš to pavyzdžių buvo didžiulis Noritake Itron 40 x 2 simbolių vakuuminis fluorescencinis ekranas nuo 1994 m. (Ar anksčiau), kurį perdavė klientas.

Iš pradžių tai atrodė gana sudėtinga, tačiau praleidus šiek tiek laiko buvo rasti duomenų lapai ir nustatyta, kad ji turi paprastą nuosekliąją sąsają - ir šiek tiek padirbėję, mes tai padarėme, todėl skaitykite toliau, jei jus domina klasikiniai VFD arba turėti panašų įrenginį.

1 žingsnis:

Vaizdas
Vaizdas

Serijinės sąsajos perdavimo spartą nustato jungiamosios plokštės ant PCB.

2 žingsnis:

Vaizdas
Vaizdas

Taigi, lyginant aukščiau pateiktą lentelę su mūsų modulio trumpikliais, gauname 19200 bps duomenų greitį be pariteto. Puiku - tokį ryšį galime lengvai sukurti naudodami mikrovaldiklį su serijiniu išėjimu ir 5 V logikos lygiais; mūsų pavyzdžiams naudosime su „Arduino“suderinamą plokštę.

3 žingsnis:

VFD prijungimas yra paprastas - žiūrėkite baltus džemperius, pažymėtus CN2, kaip parodyta anksčiau. 1 kaištis yra 5 V (jums reikia išorinio maitinimo šaltinio, galinčio tiekti iki 700 mA), 2 kištuką prie „Arduino“skaitmeninio kaiščio 7, o 3 kaištį - prie „Arduino“ir maitinimo šaltinio GND.

Mes naudojame „Arduino D7“su programine įranga, o ne „TX“, kad įkeliant eskizą ekrane nebūtų rodomos šiukšlės. Tada reikia tiesiog nusiųsti tekstą į ekraną, pavyzdžiui, čia yra trumpas demonstravimo eskizas:

// Darbas su Noritake Itron VFD moduliais - modelis CU40026SCPB -T20A #include SoftwareSerial VFD (6, 7); // RX, TX

negaliojanti sąranka ()

{VFD.begin (19200); }

tuštumos kilpa ()

{VFD.print ("Sveiki, pasauli. Tai yra Noritake VFD"); // Galite ištrinti tekstą do {} while (1); }

4 žingsnis:

Vaizdas
Vaizdas

Kuris gaunamas taip:…

5 veiksmas:

Vaizdas
Vaizdas

Jei jums nepatinka ekrano spalva ar intensyvumas, išbandykite „Perspex“viršuje - pavyzdžiui …

6 veiksmas: ekrano valdymas

Šiuo metu jums reikės duomenų lapo duomenų lapo. Kaip matėte anksčiau, teksto rašymas yra labai paprastas - tiesiog naudokite.print funkcijas. Tačiau galbūt norėsite siųsti atskirus simbolius ir specialias komandas ekrano aspektams valdyti. Tai aprašyta duomenų lape - žr. Lenteles „Programinės įrangos komandos“ir „Simbolių šriftai“.

Jei jums reikia siųsti atskiras komandas, pvz., „Išvalyti ekraną“, kuris yra 0x0E, naudokite komandą.write, pvz.:

VFD.write (0x0E); // išvalyti ekraną

Kai kurios komandos yra pabėgimo kodų formatu (pamenate jas?), Todėl jums reikia nusiųsti ESC, tada šį baitą, pavyzdžiui, norint pakeisti ryškumą iki 50%:

VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.write (0x40); // 50% ryškumas

Turėdami šias žinias ir duomenų lapus, dabar galite vykdyti visas komandas. Remiantis duomenų lapu, galima pakeisti šriftus, tačiau nesvarbu, kokį aparatūros jungiklį ar komandą bandėme, jis neatsikratytų japoniško katakana šrifto. Jūsų ekranas gali skirtis. Jei naudojate „ekrano prioriteto rašymo“funkciją, atkreipkite dėmesį į duomenų lapą, atsižvelgdami į ilgesnį „užimtumo“laiką, atidėdami vėlesnius įrašymus į ekraną milisekundėmis.

7 žingsnis: surinkite viską kartu

Užuot paaiškinęs kiekvieną įmanomą komandą, paplitusias funkcijas įtraukiau į dokumentuotas funkcijas toliau pateiktame demonstraciniame eskize, po kurio pateikiamas trumpas eskizo vaizdo įrašas.

// Darbas su Noritake Itron VFD moduliais - modelis CU40026SCPB -T20A // John Boxall 2013

#įtraukti

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

negaliojanti sąranka ()

{VFD.begin (19200); // programinės įrangos nuoseklaus prievado nustatymo greitisVFD (); VFDclearsceen (); // VFD.write (0x12); // vertikalaus slinkimo režimas (įjungtas)}

void resetVFD ()

// atlieka programinės įrangos atstatymą VFD valdiklyje {VFD.write (0x1B); // ESC VFD.write (0x49); // programinės įrangos atstatymas}

void VFDnewline ()

// perkelia žymeklį į kitos eilutės pradžią {VFD.write (0x0D); // vežimo grąžinimas VFD.write (0x0A); // eilutės sklaidos kanalas}

void VFDclearsceen ()

// perkelia žymeklį į viršų kairę ir išvalo ekraną {VFD.write (0x0E); // išvalyti ekraną VFD.write (0x0C); // formos sklaidos kanalas - žymeklis viršuje kairėje}

void VFDbrightness (int suma)

// nustato VFD ryškumą - 25/50/75/100% // naudoja ESC sekas {switch (suma) {atvejis 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.print (0); // 25% ryškumo pertrauka; 50 atvejis: VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.write (0x40); // 50% ryškumo pertrauka; 75 atvejis: VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.write (0x80); // 75% ryškumo pertrauka; 100 atvejis: VFD.write (0x1B); // ESC VFD.write (0x4C); // ryškumas VFD.write (0xC0); // 100% ryškumas}}

void VFDchars ()

// paleisti pasirinkto šrifto simbolius {for (int i = 21; i <256; i ++) {VFD.write (0x16); // pabraukti žymeklį iš VFD.write (i); vėlavimas (100); }}

void moveCursor (baitų padėtis)

// perkelia žymeklį - viršutinė eilutė yra 0 ~ 39, apatinė eilutė yra 40 ~ 79 // vertikalus slinkties režimas turi būti išjungtas, jei naudojamas {VFD.write (0x1B); // ESC VFD.write (0x48); // perkelti žymeklį VFD.write (pozicija); // vieta}

tuštumos kilpa ()

{VFD.write (0x16); // pabraukite žymeklį iš VFD.print ("Labas, pasaulis - pirmoji eilutė."); // Galite išpūsti teksto uždelsimą (1000); „VFDnewline“(); VFD.print („Labas, pasaulis - antra eilutė“); vėlavimas (1000); VFDclearsceen (); „VFDbrightness“(25); VFD.print ("*** 25% ryškumas ***"); vėlavimas (1000); VFDclearsceen (); „VFDbrightness“(50); VFD.print ("*** 50% ryškumas ***"); vėlavimas (1000); VFDclearsceen (); „VFDbrightness“(75); VFD.print ("*** 75% ryškumas ***"); vėlavimas (1000); VFDclearsceen (); VFDbrightness (100); VFD.print ("*** 100% ryškumas ***"); vėlavimas (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

už (int i = 0; i <80; i ++) {VFD.write (0x16); // pabraukti žymeklį nuo „moveCursor“(i); VFD.print ("X"); vėlavimas (100); „moveCursor“(i); VFD.print (""); } VFDclearsceen (); }

Tikimės, kad jums tai buvo įdomu ir naudinga.

Šį įrašą jums pateikė pmdway.com - viskas gamintojams ir elektronikos entuziastams, nemokamas pristatymas visame pasaulyje.

Rekomenduojamas: