Indholdsfortegnelse:

Brug af ældre Noritake Itron VFD -moduler: 7 trin
Brug af ældre Noritake Itron VFD -moduler: 7 trin

Video: Brug af ældre Noritake Itron VFD -moduler: 7 trin

Video: Brug af ældre Noritake Itron VFD -moduler: 7 trin
Video: Alt for mange gode produkter! Antikvitetsforretning🇬🇧Tesæt, som jeg besluttede at købe inden for 60 2024, Juli
Anonim
Brug af ældre Noritake Itron VFD -moduler
Brug af ældre Noritake Itron VFD -moduler
Brug af ældre Noritake Itron VFD -moduler
Brug af ældre Noritake Itron VFD -moduler
Brug af ældre Noritake Itron VFD -moduler
Brug af ældre Noritake Itron VFD -moduler

Nu og igen støder du på interessante dele på ebay, fra venner eller bare roter rundt i genbrugsbutikker. Et eksempel på dette var et stort vakuumfluorescerende display fra Noritake Itron på 40 x 2 tegn fra 1994 (eller tidligere), som blev givet videre fra en klient.

Oprindeligt så det ret komplekst ud, men efter at have brugt noget tid blev databladene fundet, og det blev opdaget at have en enkel seriel grænseflade - og med lidt arbejde fik vi det til at fungere, så læs videre, hvis du er interesseret i klassiske VFD'er eller har en lignende enhed.

Trin 1:

Billede
Billede

Den serielle grænseflades baudhastighed bestemmes af jumperpuderne på printkortet.

Trin 2:

Billede
Billede

Så at sammenligne tabellen ovenfor med jumpere på vores modul giver os en datahastighed på 19200 bps uden paritet. Fantastisk - vi kan let oprette en sådan forbindelse med en mikrokontroller med et serielt output og 5V logiske niveauer; til vores eksempler bruger vi et Arduino-kompatibelt bord.

Trin 3:

Tilslutning til VFD er enkel - se de hvide jumpere mærket CN2 som vist tidligere. Pin 1 er 5V (du har brug for en ekstern forsyning, der kan tilbyde op til 700 mA), pin 2 til Arduino digital pin 7, og pin 3 til Arduino og strømforsyning GND.

Vi bruger Arduino D7 med software seriel i stedet for TX, så displayet ikke viser affald, når en skitse uploades. Så er det bare at sende tekst til displayet, her er for eksempel en hurtig demonstrationsskitse:

// Arbejde med Noritake Itron VFD -moduler - model CU40026SCPB -T20A #include SoftwareSerial VFD (6, 7); // RX, TX

ugyldig opsætning ()

{VFD.begynder (19200); }

hulrum ()

{VFD.print ("Hej, verden. Dette er en Noritake VFD"); // Du kan sprænge tekst ud {} mens (1); }

Trin 4:

Billede
Billede

Hvilket resulterer med følgende …

Trin 5:

Billede
Billede

Hvis du ikke er opsat på farven eller intensiteten på skærmen, kan du prøve noget Perspex ovenpå - for eksempel …

Trin 6: Styring af displayet

På dette tidspunkt har du brug for databladets datablad. Som du så tidligere, er det meget enkelt at skrive tekst - bare brug.print -funktioner. Men du vil måske sende individuelle tegn samt særlige kommandoer til at styre aspekter af displayet. Disse er beskrevet i databladet - se tabellerne "Software Commands" og "Character Fonts".

Hvis du har brug for at sende enkeltkommandoer - f.eks. "Clear display", som er 0x0E, skal du bruge en.write -kommando, f.eks.:

VFD.write (0x0E); // tydeligt display

Nogle kommandoer er i formatet escape -koder (kan du huske dem?), Så du skal sende ESC derefter følgende byte, for eksempel for at ændre lysstyrken til 50%:

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

Bevæbnet med den viden og databladene kan du nu udføre alle kommandoerne. Ifølge databladet er det muligt at ændre skrifttyper, uanset hvilken hardware -jumper eller kommando vi prøvede, ville det ikke rokke ved den japanske katakana -skrifttype. Din skærm kan variere. Hvis du bruger funktionen "skærmprioritet skrive", skal du følge databladet med hensyn til den forlængede "optagede" tid ved at forsinke efterfølgende skrivninger til displayet med et millisekund.

Trin 7: Sæt det hele sammen

I stedet for at forklare hver eneste mulige kommando har jeg lagt de almindelige inde i dokumenterede funktioner i demonstrationsskitsen herunder, som efterfølges af en hurtig video af skitsen i drift.

// Arbejde med Noritake Itron VFD -moduler - model CU40026SCPB -T20A // John Boxall 2013

#omfatte

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

ugyldig opsætning ()

{VFD.begynder (19200); // indstil hastighed for software seriel port resetVFD (); VFDclearsceen (); // VFD.write (0x12); // lodret rulletilstand (til)}

void resetVFD ()

// udfører en software -nulstilling på VFD -controlleren {VFD.write (0x1B); // ESC VFD.write (0x49); // nulstilling af software}

ugyldig VFDnewline ()

// flytter markøren til starten af næste linje {VFD.write (0x0D); // vognretur VFD.write (0x0A); // liniefeed}

void VFDclearsceen ()

// flytter markøren til øverst til venstre og rydder displayet {VFD.write (0x0E); // tydelig visning af VFD.write (0x0C); // formfeed - markør øverst til venstre}

ugyldig VFD -lysstyrke (int beløb)

// indstiller VFD -lysstyrke - 25/50/75/100% // bruger ESC -sekvenser {switch (mængde) {case 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // lysstyrke VFD.print (0); // 25% lysstyrkebrud; sag 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // lysstyrke VFD.write (0x40); // 50% lysstyrkebrud; sag 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // lysstyrke VFD.write (0x80); // 75% lysstyrkebrud; sag 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // lysstyrke VFD.write (0xC0); // 100% lysstyrke}}

ugyldige VFDchars ()

// gennemgå tegn for valgt skrifttype {for (int i = 21; i <256; i ++) {VFD.write (0x16); // understreg markør fra VFD.write (i); forsinkelse (100); }}

void moveCursor (byte position)

// flytter markøren - øverste række er 0 ~ 39, nederste række er 40 ~ 79 // lodret rulletilstand skal være deaktiveret, hvis den bruges {VFD.write (0x1B); // ESC VFD.write (0x48); // flyt markør VFD.write (position); // Beliggenhed }

hulrum ()

{VFD.write (0x16); // understreg markør fra VFD.print ("Hej, verden - linje et."); // Du kan sprænge tekstforsinkelse (1000); VFDnewline (); VFD.print ("Hej, verden - linje to."); forsinkelse (1000); VFDclearsceen (); VFD -lysstyrke (25); VFD.print ("*** 25% lysstyrke ***"); forsinkelse (1000); VFDclearsceen (); VFD -lysstyrke (50); VFD.print ("*** 50% lysstyrke ***"); forsinkelse (1000); VFDclearsceen (); VFD -lysstyrke (75); VFD.print ("*** 75% lysstyrke ***"); forsinkelse (1000); VFDclearsceen (); VFD -lysstyrke (100); VFD.print ("*** 100% lysstyrke ***"); forsinkelse (1000); VFDclearsceen ();

VFDchars ();

VFDclearsceen ();

for (int i = 0; i <80; i ++) {VFD.write (0x16); // understreger markør fra moveCursor (i); VFD.print ("X"); forsinkelse (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Vi håber, at du fandt dette interessant og nyttigt.

Dette indlæg bringes til dig af pmdway.com - alt for producenter og elektronikentusiaster, med gratis levering over hele verden.

Anbefalede: