Cuprins:

Utilizarea modulelor VFD Noritake Itron mai vechi: 7 pași
Utilizarea modulelor VFD Noritake Itron mai vechi: 7 pași

Video: Utilizarea modulelor VFD Noritake Itron mai vechi: 7 pași

Video: Utilizarea modulelor VFD Noritake Itron mai vechi: 7 pași
Video: Utilizarea modulului de facturare rapida GTCont 2024, Iulie
Anonim
Utilizarea modulelor VFD Noritake Itron mai vechi
Utilizarea modulelor VFD Noritake Itron mai vechi
Utilizarea modulelor VFD Noritake Itron mai vechi
Utilizarea modulelor VFD Noritake Itron mai vechi
Utilizarea modulelor VFD Noritake Itron mai vechi
Utilizarea modulelor VFD Noritake Itron mai vechi

Din când în când întâlnești părți interesante pe eBay, de la prieteni sau doar înrădăcinându-te în magazinele second-hand. Un exemplu în acest sens a fost un imens afișaj fluorescent cu vid de 40 x 2 caractere Noritake Itron din 1994 (sau anterior), transmis de la un client.

Inițial părea destul de complex, totuși, după ce ați petrecut ceva timp, s-au găsit fișele de date și s-a descoperit că are o interfață serială simplă - și cu puțină muncă am reușit să funcționeze, așa că citiți mai departe dacă vă interesează VFD-urile clasice sau au o unitate similară.

Pasul 1:

Imagine
Imagine

Rata de transmisie a interfeței seriale este determinată de tampoanele jumper de pe PCB.

Pasul 2:

Imagine
Imagine

Prin urmare, compararea tabelului de mai sus cu jumperii de pe modulul nostru ne oferă o viteză a datelor de 19200 bps fără paritate. Minunat - putem crea cu ușurință o astfel de conexiune cu un microcontroler cu o ieșire serială și niveluri logice de 5V; pentru exemplele noastre vom folosi o placă compatibilă Arduino.

Pasul 3:

Cablarea VFD este simplă - consultați jumperii albi etichetați CN2 așa cum se arată anterior. Pinul 1 este 5V (aveți nevoie de o sursă externă care poate oferi până la 700 mA), pinul 2 la pinul digital 7 Arduino și pinul 3 la Arduino și sursa de alimentare GND.

Folosim Arduino D7 cu software de serie în loc de TX, astfel încât afișajul să nu afișeze gunoi atunci când se încarcă o schiță. Apoi, este o chestiune de a trimite pur și simplu text pe ecran, de exemplu, iată o schiță demonstrativă rapidă:

// Lucrul cu modulele Noritake Itron VFD - model CU40026SCPB-T20A # include SoftwareSerial VFD (6, 7); // RX, TX

configurare nulă ()

{VFD.begin (19200); }

bucla nulă ()

{VFD.print ("Bună ziua, lume. Acesta este un Noritake VFD"); // Puteți elimina textul do {} while (1); }

Pasul 4:

Imagine
Imagine

Ceea ce rezultă cu următoarele …

Pasul 5:

Imagine
Imagine

Dacă nu sunteți interesat de culoarea sau intensitatea afișajului, încercați un pic de Perspex deasupra - de exemplu …

Pasul 6: Controlul afișajului

În acest moment veți avea nevoie de fișa tehnică a fișei tehnice. După cum ați văzut anterior, scrierea textului este foarte simplă - folosiți doar funcțiile.print. Cu toate acestea, poate doriți să trimiteți caractere individuale, precum și comenzi speciale pentru a controla aspectele afișajului. Acestea sunt prezentate în fișa tehnică - consultați tabelele „Comenzi software” și „Fonturi de caractere”.

Dacă trebuie să trimiteți comenzi unice - de exemplu „afișaj clar” care este 0x0E, utilizați o comandă.write, cum ar fi:

VFD.write (0x0E); // afișaj clar

Unele comenzi sunt în formatul codurilor de evadare (vă amintiți de acestea?), Deci trebuie să trimiteți ESC apoi următorul octet, de exemplu pentru a schimba luminozitatea la 50%:

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

Înarmat cu aceste cunoștințe și fișele de date, puteți executa acum toate comenzile. Conform fișei tehnice, este posibil să se schimbe fonturile, cu toate acestea, indiferent de ce jumper sau comandă am încercat, nu s-ar schimba din fontul japonez katakana. Ecranul dvs. poate varia. Dacă utilizați funcția „scriere cu prioritate a ecranului”, țineți cont de foaia de date cu privire la timpul „ocupat” extins, întârziind scrierile ulterioare pe afișaj cu o milisecundă.

Pasul 7: Puneți totul împreună

În loc să explic fiecare comandă posibilă, le-am pus pe cele comune în funcțiile documentate în schița demonstrativă de mai jos, care este urmată de un videoclip rapid al schiței în funcțiune.

// Lucrul cu modulele Noritake Itron VFD - model CU40026SCPB-T20A // John Boxall 2013

#include

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

configurare nulă ()

{VFD.begin (19200); // setați viteza pentru resetarea portului serial al software-ului VFD (); VFDclearsceen (); // VFD.write (0x12); // modul de derulare verticală (activat)}

resetare nulă VFD ()

// efectuează o resetare software pe controlerul VFD {VFD.write (0x1B); // ESC VFD.write (0x49); // resetare software}

void VFDnewline ()

// deplasează cursorul pentru a începe următoarea linie {VFD.write (0x0D); // returnare transport VFD.write (0x0A); // linie de alimentare }

void VFDclearsceen ()

// mută cursorul în stânga sus și șterge afișajul {VFD.write (0x0E); // ștergeți afișajul VFD.write (0x0C); // formular de alimentare - cursor în partea stângă sus}

void VFDbrightness (suma int)

// setează luminozitatea VFD - 25/50/75/100% // folosește secvențe ESC {comutator (cantitate) {caz 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // luminozitate VFD.print (0); // 25% pauză de luminozitate; caz 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // luminozitate VFD.write (0x40); // 50% pauză de luminozitate; cazul 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // luminozitate VFD.write (0x80); // Pauză de luminozitate 75%; cazul 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // luminozitate VFD.write (0xC0); // 100% luminozitate}}

anulați VFDchars ()

// rulați prin caractere pentru fontul selectat {pentru (int i = 21; i <256; i ++) {VFD.write (0x16); // subliniați cursorul de pe VFD.write (i); întârziere (100); }}

void moveCursor (poziția octetului)

// deplasează cursorul - rândul superior este 0 ~ 39, rândul inferior este 40 ~ 79 // modul de derulare verticală trebuie să fie dezactivat dacă este utilizat {VFD.write (0x1B); // ESC VFD.write (0x48); // mutați cursorul VFD.write (poziție); // Locație }

bucla nulă ()

{VFD.write (0x16); // subliniați cursorul de pe VFD.print („Bună ziua, lume - prima linie.”); // Puteți elimina întârzierea textului (1000); VFDnewline (); VFD.print ("Bună ziua, lumea - linia a doua."); întârziere (1000); VFDclearsceen (); VFDbrightness (25); VFD.print („*** 25% luminozitate ***”); întârziere (1000); VFDclearsceen (); VFDbrightness (50); VFD.print („*** 50% luminozitate ***”); întârziere (1000); VFDclearsceen (); VFDbrightness (75); VFD.print („*** 75% luminozitate ***”); întârziere (1000); VFDclearsceen (); VFDbrightness (100); VFD.print („*** 100% luminozitate ***”); întârziere (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

for (int i = 0; i <80; i ++) {VFD.write (0x16); // subliniați cursorul off moveCursor (i); VFD.print ("X"); întârziere (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Sperăm că ați găsit acest lucru interesant și util.

Această postare vă este adusă de pmdway.com - totul pentru producătorii și pasionații de electronice, cu livrare gratuită în toată lumea.

Recomandat: