Sadržaj:

Korištenje starijih Noritake Itron VFD modula: 7 koraka
Korištenje starijih Noritake Itron VFD modula: 7 koraka

Video: Korištenje starijih Noritake Itron VFD modula: 7 koraka

Video: Korištenje starijih Noritake Itron VFD modula: 7 koraka
Video: Moja omiljena veličina Pe***a 2024, Juli
Anonim
Korištenje starijih Noritake Itron VFD modula
Korištenje starijih Noritake Itron VFD modula
Korištenje starijih Noritake Itron VFD modula
Korištenje starijih Noritake Itron VFD modula
Korištenje starijih Noritake Itron VFD modula
Korištenje starijih Noritake Itron VFD modula

S vremena na vrijeme naiđete na zanimljive dijelove na ebayu, od prijatelja ili samo lutate po rabljenim trgovinama. Jedan primjer za to bio je ogroman Noritake Itron 40 x 2 karakterski vakuum-fluorescentni ekran iz 1994. (ili ranije) koji je proslijeđen od klijenta.

U početku je izgledalo prilično složeno, no nakon što su proveli neko vrijeme pronađeni su listovi s podacima i otkriveno je da ima jednostavno serijsko sučelje - i uz malo truda uspjeli smo to učiniti, pa čitajte dalje ako vas zanimaju klasični VFD -ovi ili imaju sličnu jedinicu.

Korak 1:

Image
Image

Brzina prijenosa serijskog sučelja određena je skakačkim jastučićima na PCB -u.

Korak 2:

Image
Image

Usporedbom gornje tablice sa skakačima na našem modulu dobivamo brzinu prijenosa podataka od 19200 bps bez pariteta. Odlično - takvu vezu lako možemo stvoriti pomoću mikrokontrolera sa serijskim izlazom i 5V logičkim nivoima; za naše primjere koristit ćemo Arduino kompatibilnu ploču.

Korak 3:

Ožičenje VFD -a je jednostavno - pogledajte bijele kratkospojnike s oznakom CN2 kao što je prethodno prikazano. Pin 1 je 5V (potrebno vam je vanjsko napajanje koje može ponuditi do 700 mA), pin 2 na Arduino digitalni pin 7 i pin 3 na Arduino i GND za napajanje.

Koristimo Arduino D7 sa softverskom serijom umjesto TX -a tako da zaslon ne prikazuje smeće prilikom postavljanja skice. Zatim je u pitanju jednostavno slanje teksta na ekran, na primjer evo kratke demonstracijske skice:

// Rad sa Noritake Itron VFD modulima - model CU40026SCPB -T20A #include SoftwareSerial VFD (6, 7); // RX, TX

void setup ()

{VFD.begin (19200); }

void loop ()

{VFD.print ("Zdravo, svijete. Ovo je Noritake VFD"); // Možete minirati tekst do {} while (1); }

Korak 4:

Image
Image

Što rezultira sljedećim…

Korak 5:

Image
Image

Ako niste zainteresirani za boju ili intenzitet prikaza, isprobajte Perspex odozgo - na primjer …

Korak 6: Upravljanje ekranom

U ovom trenutku trebat će vam podatkovni list s podacima. Kao što ste već vidjeli, pisanje teksta je vrlo jednostavno - samo koristite.print funkcije. Međutim, možda ćete htjeti poslati pojedinačne znakove, kao i posebne naredbe za kontrolu aspekata prikaza. Oni su navedeni u listu s podacima - pogledajte tablice "Softverske naredbe" i "Fontovi znakova".

Ako trebate poslati pojedinačne komande - na primjer “clear display” koji je 0x0E, koristite naredbu.write, poput:

VFD.write (0x0E); // jasan prikaz

Neke naredbe su u formatu kodova za izbjegavanje (sjećate li se njih?) Pa morate poslati ESC, a zatim sljedeći bajt, na primjer za promjenu svjetline na 50%:

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

Naoružani tim znanjem i podacima možete sada izvršavati sve naredbe. Prema podacima iz lista, moguće je promijeniti fontove, međutim, bez obzira na hardverski skakač ili naredbu koju smo pokušali, ne bi se pomaknuo od japanskog katakana fonta. Vaš ekran može varirati. Ako koristite funkciju “screen priority write”, obratite pažnju na tehnički list s obzirom na produženo vrijeme “busy” odgađanjem naknadnih upisivanja na zaslon za milisekundu.

Korak 7: Sastavite sve zajedno

Umjesto da objasnim svaku moguću naredbu, stavio sam uobičajene unutar dokumentiranih funkcija u demonstracijsku skicu ispod, nakon čega slijedi kratki video zapis skice u funkciji.

// Rad s Noritake Itron VFD modulima - model CU40026SCPB -T20A // John Boxall 2013

#include

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

void setup ()

{VFD.begin (19200); // postavljanje brzine za resetiranje serijskog porta softveraVFD (); VFDclearsceen (); // VFD.write (0x12); // vertikalni način pomicanja (uključeno)}

poništavanje praznineVFD ()

// vrši resetovanje softvera na VFD kontroleru {VFD.write (0x1B); // ESC VFD.write (0x49); // resetovanje softvera}

void VFDnewline ()

// pomiče kursor na početak sljedećeg retka {VFD.write (0x0D); // carriage return VFD.write (0x0A); // red linija}

void VFDclearsceen ()

// pomera kursor gore levo i briše prikaz {VFD.write (0x0E); // brisanje prikaza VFD.write (0x0C); // sažetak obrasca - kursor gore gore -lijevo}

praznina VFDsvjetlina (int iznos)

// postavlja svjetlinu VFD -a - 25/50/75/100% // koristi ESC sekvence {switch (amount) {case 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // svjetlina VFD.print (0); // 25% prekid svjetline; slučaj 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // svjetlina VFD.write (0x40); // 50% prekid svjetline; slučaj 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // svjetlina VFD.write (0x80); // 75% prekid svjetline; slučaj 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // svjetlina VFD.write (0xC0); // 100% svjetline}}

void VFDchars ()

// prelistavanje znakova za odabrani font {for (int i = 21; i <256; i ++) {VFD.write (0x16); // podcrtavanje kursora isključeno VFD.write (i); kašnjenje (100); }}

void moveCursor (položaj bajta)

// pomera kursor - gornji red je 0 ~ 39, donji red je 40 ~ 79 // režim vertikalnog pomeranja mora biti isključen ako se koristi {VFD.write (0x1B); // ESC VFD.write (0x48); // pomicanje kursora VFD.write (position); // lokacija}

void loop ()

{VFD.write (0x16); // podcrtavanje kursora isključeno VFD.print ("Zdravo, svijet - prva linija."); // Možete minirati kašnjenje teksta (1000); VFDnewline (); VFD.print ("Zdravo, svijet - druga linija."); kašnjenje (1000); VFDclearsceen (); VFDsvjetlina (25); VFD.print ("*** 25% svjetline ***"); kašnjenje (1000); VFDclearsceen (); VFDsvjetlina (50); VFD.print ("*** 50% svjetline ***"); kašnjenje (1000); VFDclearsceen (); VFDsvjetlina (75); VFD.print ("*** 75% svjetline ***"); kašnjenje (1000); VFDclearsceen (); VFDsvjetlina (100); VFD.print ("*** 100% svjetline ***"); kašnjenje (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

for (int i = 0; i <80; i ++) {VFD.write (0x16); // podcrtavanje kursora isključeno moveCursor (i); VFD.print ("X"); kašnjenje (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Nadamo se da vam je ovo bilo zanimljivo i korisno.

Ovaj post donosi vam pmdway.com - sve za proizvođače i ljubitelje elektronike, uz besplatnu dostavu širom svijeta.

Preporučuje se: