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: Premještanje starije osobe na kolica 2024, Studeni
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 veliki vakuumsko-fluorescentni zaslon Noritake Itron 40 x 2 karaktera 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 podatkovni listovi i otkriveno je da ima jednostavno serijsko sučelje - i uz malo truda uspjeli smo, pa čitajte dalje ako vas zanimaju klasični VFD -ovi ili imaju sličnu jedinicu.

Korak 1:

Slika
Slika

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

Korak 2:

Slika
Slika

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 s mikrokontrolerom sa serijskim izlazom i 5V logičkim razinama; za naše primjere koristit ćemo Arduino kompatibilnu ploču.

3. korak:

Ožičenje VFD -a je jednostavno - pogledajte bijele kratkospojnike s oznakom CN2 kao što je prethodno prikazano. Pin 1 je 5V (potreban vam je vanjski izvor napajanja koji može ponuditi do 700 mA), pin 2 na Arduino digitalni pin 7, a 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 učitavanja skice. Zatim je u pitanju jednostavno slanje teksta na zaslon, na primjer evo kratke demonstracijske skice:

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

void setup ()

{VFD.početak (19200); }

void loop ()

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

Korak 4:

Slika
Slika

Što rezultira sljedećim…

5. korak:

Slika
Slika

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

Korak 6: Upravljanje zaslonom

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

Ako trebate poslati pojedinačne naredbe - na primjer "clear display" koji je 0x0E, upotrijebite naredbu.write, poput:

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

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

VFD.pisati (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 podatkovnom listu moguće je promijeniti fontove, no bez obzira na hardverski skakač ili naredbu koju smo pokušali, ne bi se pomaknuo od japanskog katakana fonta. Vaš zaslon može se razlikovati. Ako koristite funkciju “screen priority write”, obratite pozornost na podatkovni list s obzirom na produljeno vrijeme “busy” odgađanjem naknadnih upisivanja na zaslon za milisekundu.

Korak 7: Sve spojite

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

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

#uključi

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

void setup ()

{VFD.početak (19200); // postavljena brzina za resetiranje serijskog porta softveraVFD (); VFDclearsceen (); // VFD.write (0x12); // vertikalni način pomicanja (uključeno)}

poništavanje praznineVFD ()

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

void VFDnewline ()

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

void VFDclearsceen ()

// pomiče kursor gore lijevo i briše prikaz {VFD.write (0x0E); // brisanje prikaza VFD.write (0x0C); // feed obrasca - pokazivač gore ulijevo}

praznina VFDsvjetlina (int iznos)

// postavlja svjetlinu VFD -a - 25/50/75/100% // koristi ESC sekvence {switch (količina) {slučaj 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 ()

// provlačenje 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)

// pomiče kursor - gornji red je 0 ~ 39, donji red je 40 ~ 79 // vertikalni način pomicanja mora biti isključen ako se koristi {VFD.write (0x1B); // ESC VFD.write (0x48); // premještanje 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.tisak ("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 diljem svijeta.

Preporučeni: