Obsah:

Použitie starších modulov VFD Noritake Itron: 7 krokov
Použitie starších modulov VFD Noritake Itron: 7 krokov

Video: Použitie starších modulov VFD Noritake Itron: 7 krokov

Video: Použitie starších modulov VFD Noritake Itron: 7 krokov
Video: Nixie clock (digitronové hodiny) 2024, November
Anonim
Použitie starších modulov VFD Noritake Itron
Použitie starších modulov VFD Noritake Itron
Použitie starších modulov VFD Noritake Itron
Použitie starších modulov VFD Noritake Itron
Použitie starších modulov VFD Noritake Itron
Použitie starších modulov VFD Noritake Itron

Znovu a znovu natrafíte na zaujímavé diely na ebay, od priateľov alebo sa len tak vyvaľujete v second handoch. Príkladom toho bol obrovský vákuový fluorescenčný displej Noritake Itron s rozmermi 40 x 2 znakov z roku 1994 (alebo skôr), ktorý bol odoslaný ďalej od klienta.

Pôvodne to vyzeralo dosť zložito, ale potom, čo sme strávili nejaký čas, sa našli listy s údajmi a zistilo sa, že majú jednoduché sériové rozhranie - a s trochou práce to funguje, takže čítajte ďalej, ak vás zaujímajú klasické VFD alebo majú podobnú jednotku.

Krok 1:

Obrázok
Obrázok

Prenosová rýchlosť sériového rozhrania je určená prepojkami na doske plošných spojov.

Krok 2:

Obrázok
Obrázok

Porovnanie vyššie uvedenej tabuľky s prepojkami na našom module nám teda poskytne dátovú rýchlosť 19200 bps bez parity. Skvelé - takéto spojenie ľahko vytvoríme pomocou mikrokontroléra so sériovým výstupom a logickými úrovňami 5V; pre naše príklady použijeme dosku kompatibilnú s Arduino.

Krok 3:

Zapojenie VFD je jednoduché - pozrite si biele prepojky označené CN2, ako je uvedené vyššie. Pin 1 je 5V (potrebujete externý zdroj, ktorý môže ponúkať až 700 mA), pin 2 na digitálny pin 7 Arduino a pin 3 na Arduino a zdroj GND.

Namiesto TX používame Arduino D7 so softvérovým sériovým číslom, aby sa pri nahrávaní náčrtu na displeji nezobrazovali odpadky. Potom ide o jednoduché odoslanie textu na obrazovku, napríklad tu je rýchly ukážkový náčrt:

// Práca s modulmi VFD Noritake Itron - model CU40026SCPB -T20A #include SoftwareSerial VFD (6, 7); // RX, TX

neplatné nastavenie ()

{VFD.begin (19200); }

prázdna slučka ()

{VFD.print („Ahoj, svet. Toto je VFD Noritake“); // Môžete vyhodiť text do {} while (1); }

Krok 4:

Obrázok
Obrázok

Výsledkom sú nasledujúce…

Krok 5:

Obrázok
Obrázok

Ak vám nejde o farbu ani intenzitu displeja, vyskúšajte nejaký ten vrchný Perspex - napríklad …

Krok 6: Ovládanie displeja

V tomto mieste budete potrebovať údajový list. Ako ste už videli, písanie textu je veľmi jednoduché - stačí použiť funkcie.print. Možno však budete chcieť odoslať jednotlivé znaky a špeciálne príkazy na ovládanie aspektov displeja. Tieto sú uvedené v údajovom liste - pozrite si tabuľky „Príkazy softvéru“a „Písma znakov“.

Ak potrebujete odoslať jednotlivé príkazy - napríklad „jasný displej“, ktorý je 0x0E, použite príkaz.write, napríklad:

VFD.write (0x0E); // vymazanie displeja

Niektoré príkazy sú vo formáte únikových kódov (pamätáte si ich?), Takže musíte odoslať ESC potom nasledujúci bajt, napríklad na zmenu jasu na 50%:

VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.write (0x40); // 50% jas

Vyzbrojení týmito znalosťami a údajovými listami môžete teraz vykonávať všetky príkazy. Podľa listu s údajmi je možné zmeniť písma, bez ohľadu na to, aký hardvérový prepojok alebo príkaz sme vyskúšali, nevytiahne sa z japonského písma katakana. Vaša obrazovka sa môže líšiť. Ak používate funkciu „Zápis na prioritu obrazovky“, dbajte na údajový list vzhľadom na predĺžený „zaneprázdnený“čas oneskorením následných zápisov na displej o milisekundu.

Krok 7: Dajte to všetko dohromady

Namiesto vysvetľovania všetkých možných príkazov som tie bežné vložil do dokumentovaných funkcií v nižšie uvedenom demonštračnom náčrte, po ktorom nasleduje rýchle video s náčrtkom, ktorý je v prevádzke.

// Práca s modulmi VFD Noritake Itron - model CU40026SCPB -T20A // John Boxall 2013

#zahrnúť

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

neplatné nastavenie ()

{VFD.begin (19200); // nastavenie rýchlosti pre reset sériového portu softvéruVFD (); VFDclearsceen (); // VFD.write (0x12); // režim vertikálneho posúvania (zapnutý)}

zrušiť resetVFD ()

// vykoná reset softvéru na ovládači VFD {VFD.write (0x1B); // ESC VFD.write (0x49); // reset softvéru}

zrušiť VFDnewline ()

// presunie kurzor na začiatok nasledujúceho riadku {VFD.write (0x0D); // návrat vozíka VFD.write (0x0A); // line feed}

zrušiť VFDclearsceen ()

// presunie kurzor doľava hore a vymaže zobrazenie {VFD.write (0x0E); // vymazanie displeja VFD.write (0x0C); // form feed - kurzor vľavo hore}

neplatná jasnosť VFD (interná čiastka)

// nastavuje jas VFD - 25/50/75/100% // používa sekvencie ESC {prepínač (množstvo) {prípad 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.print (0); // 25% prerušenie jasu; prípad 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.write (0x40); // 50% prerušenie jasu; prípad 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.write (0x80); // 75% prerušenie jasu; prípad 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.write (0xC0); // 100% jas}}

neplatné VFDchars ()

// prebehne znaky pre vybrané písmo {for (int i = 21; i <256; i ++) {VFD.write (0x16); // podčiarknutie kurzora vypnuté VFD.write (i); oneskorenie (100); }}

void moveCursor (bajtová pozícia)

// pohybuje kurzorom - horný riadok je 0 ~ 39, dolný riadok je 40 ~ 79 // režim vertikálneho posúvania musí byť vypnutý, ak je použitý {VFD.write (0x1B); // ESC VFD.write (0x48); // pohyb kurzora VFD.write (pozícia); // poloha}

prázdna slučka ()

{VFD.write (0x16); // podčiarknutie kurzora mimo VFD.print („Ahoj, svetová línia jedna.“); // Môžete vypáliť oneskorenie textu (1 000); VFDnewline (); VFD.print („Ahoj, svetová dvojka.“); oneskorenie (1000); VFDclearsceen (); Jas VFD (25); VFD.print ("*** 25% jas ***"); oneskorenie (1000); VFDclearsceen (); Jas VFD (50); VFD.print ("*** 50% jas ***"); oneskorenie (1000); VFDclearsceen (); Jas VFD (75); VFD.print ("*** 75% jas ***"); oneskorenie (1000); VFDclearsceen (); Jas VFD (100); VFD.print ("*** 100% jas ***"); oneskorenie (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

pre (int i = 0; i <80; i ++) {VFD.write (0x16); // podčiarknutie kurzora off moveCursor (i); VFD.print ("X"); oneskorenie (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Dúfame, že vás to zaujalo a pomohlo.

Tento príspevok vám prináša stránka pmdway.com - všetko pre výrobcov a nadšencov elektroniky s bezplatným doručením do celého sveta.

Odporúča: