Obsah:

Použití starších modulů VFD Noritake Itron: 7 kroků
Použití starších modulů VFD Noritake Itron: 7 kroků

Video: Použití starších modulů VFD Noritake Itron: 7 kroků

Video: Použití starších modulů VFD Noritake Itron: 7 kroků
Video: PLC riadiaca jednotka UniPi Axon M205 2024, Červenec
Anonim
Používání starších modulů VFD Noritake Itron
Používání starších modulů VFD Noritake Itron
Používání starších modulů VFD Noritake Itron
Používání starších modulů VFD Noritake Itron
Používání starších modulů VFD Noritake Itron
Používání starších modulů VFD Noritake Itron

Znovu a znovu narazíte na zajímavé části na ebay, od přátel nebo jen tak projíždíte v bazarech. Jedním z příkladů toho byl obrovský vakuový fluorescenční displej Noritake Itron 40 x 2 znaků z roku 1994 (nebo dříve), který byl předán od klienta.

Původně to vypadalo docela složitě, ale poté, co jsme strávili nějaký čas, byly nalezeny datové listy a zjistilo se, že mají jednoduché sériové rozhraní - a s trochou práce jsme to zvládli, takže čtěte dál, pokud vás zajímají klasické VFD nebo mají podobnou jednotku.

Krok 1:

obraz
obraz

Přenosová rychlost sériového rozhraní je určena propojkami na desce plošných spojů.

Krok 2:

obraz
obraz

Porovnání výše uvedené tabulky s propojkami na našem modulu nám dává rychlost dat 19200 bps bez parity. Skvělé - takové spojení snadno vytvoříme pomocí mikrokontroléru se sériovým výstupem a logickými úrovněmi 5V; pro naše příklady použijeme desku kompatibilní s Arduino.

Krok 3:

Zapojení VFD je jednoduché - viz bílé propojky označené CN2, jak je uvedeno výše. Pin 1 je 5V (potřebujete externí zdroj, který může nabídnout až 700 mA), pin 2 na digitální pin Arduino 7 a pin 3 na Arduino a napájecí zdroj GND.

Místo TX používáme Arduino D7 se softwarovým sériovým číslem, aby se na displeji při nahrávání skici nezobrazovaly odpadky. Pak jde o to jednoduše odeslat text na displej, například zde je rychlý ukázkový náčrtek:

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

neplatné nastavení ()

{VFD.begin (19200); }

prázdná smyčka ()

{VFD.print („Ahoj, světe. Toto je VFD Noritake“); // Můžete vyhodit text do {} while (1); }

Krok 4:

obraz
obraz

Což má za následek následující…

Krok 5:

obraz
obraz

Pokud vám nejde o barvu nebo intenzitu displeje, vyzkoušejte nějaký ten Perspex nahoře - například…

Krok 6: Ovládání displeje

V tuto chvíli budete potřebovat datový list. Jak jste již viděli, psaní textu je velmi jednoduché - stačí použít funkce.print. Můžete však chtít odeslat jednotlivé znaky a speciální příkazy k ovládání aspektů displeje. Ty jsou popsány v datovém listu - viz tabulky „Softwarové příkazy“a „Znaková písma“.

Pokud potřebujete odeslat jednotlivé příkazy - například „clear display“, což je 0x0E, použijte příkaz.write, například:

VFD.write (0x0E); // vymazat displej

Některé příkazy jsou ve formátu únikových kódů (pamatujete si je?), Takže musíte poslat ESC a pak následující bajt, například pro změnu jasu na 50%:

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

Vyzbrojeni těmito znalostmi a datovými listy nyní můžete provádět všechny příkazy. Podle datového listu je možné měnit písma, ale bez ohledu na to, jaký hardwarový můstek nebo příkaz, který jsme zkoušeli, by nevypadl z japonského písma katakana. Vaše obrazovka se může lišit. Pokud použijete funkci „priorita zápisu na obrazovku“, dbejte na to, aby se datový list týkal prodlouženého „zaneprázdněného“času zpožděním následných zápisů na displej o milisekundu.

Krok 7: Dát to všechno dohromady

Místo toho, abych vysvětlil všechny možné příkazy, vložil jsem ty běžné do zdokumentovaných funkcí v ukázkovém náčrtu níže, po kterém následuje rychlé video skici v provozu.

// Práce s moduly VFD Noritake Itron - model CU40026SCPB -T20A // John Boxall 2013

#zahrnout

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

neplatné nastavení ()

{VFD.begin (19200); // nastavení rychlosti pro reset sériového portu softwaruVFD (); VFDclearsceen (); // VFD.write (0x12); // režim svislého posouvání (zapnuto)}

zrušit resetVFD ()

// provede reset softwaru na řadiči VFD {VFD.write (0x1B); // ESC VFD.write (0x49); // reset softwaru}

zrušit VFDnewline ()

// přesune kurzor na začátek dalšího řádku {VFD.write (0x0D); // návrat vozíku VFD.write (0x0A); // line feed}

neplatné VFDclearsceen ()

// přesune kurzor vlevo nahoře a vymaže zobrazení {VFD.write (0x0E); // vymazat displej VFD.write (0x0C); // form feed - kurzor vlevo nahoře}

neplatná jasnost VFD (vnitřní částka)

// nastavuje jas VFD - 25/50/75/100% // používá sekvence ESC {switch (amount) {case 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.print (0); // 25% přerušení jasu; případ 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.write (0x40); // 50% přerušení jasu; případ 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.write (0x80); // 75% přerušení jasu; případ 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // jas VFD.write (0xC0); // 100% jas}}

neplatné VFDchars ()

// procházet znaky pro vybrané písmo {for (int i = 21; i <256; i ++) {VFD.write (0x16); // podtržení kurzoru vypnuto VFD.write (i); zpoždění (100); }}

void moveCursor (byte byte)

// přesune kurzor - horní řádek je 0 ~ 39, spodní řádek je 40 ~ 79 // režim svislého posouvání musí být vypnut, pokud je použit {VFD.write (0x1B); // ESC VFD.write (0x48); // pohyb kurzoru VFD.write (pozice); // umístění}

prázdná smyčka ()

{VFD.write (0x16); // podtržení kurzoru mimo VFD.print ("Dobrý den, svět - první řádek."); // Můžete vypálit zpoždění textu (1000); VFDnewline (); VFD.print („Dobrý den, řada dva.“); zpoždění (1000); VFDclearsceen (); Jas VFD (25); VFD.print ("*** 25% jas ***"); zpoždění (1000); VFDclearsceen (); Jas VFD (50); VFD.print ("*** 50% jas ***"); zpoždění (1000); VFDclearsceen (); Jas VFD (75); VFD.print ("*** 75% jas ***"); zpoždění (1000); VFDclearsceen (); Jas VFD (100); VFD.print ("*** 100% jas ***"); zpoždění (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

pro (int i = 0; i <80; i ++) {VFD.write (0x16); // podtržení kurzoru off moveCursor (i); VFD.print ("X"); zpoždění (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Doufáme, že vás to zaujalo a pomohlo.

Tento příspěvek vám přináší pmdway.com - vše pro výrobce a nadšence do elektroniky s bezplatnou dodávkou po celém světě.

Doporučuje: