Innholdsfortegnelse:

Bruke eldre Noritake Itron VFD -moduler: 7 trinn
Bruke eldre Noritake Itron VFD -moduler: 7 trinn

Video: Bruke eldre Noritake Itron VFD -moduler: 7 trinn

Video: Bruke eldre Noritake Itron VFD -moduler: 7 trinn
Video: 🇬🇧От антикварной мебели до посуды|Покупки 2024, Juli
Anonim
Bruke eldre Noritake Itron VFD -moduler
Bruke eldre Noritake Itron VFD -moduler
Bruke eldre Noritake Itron VFD -moduler
Bruke eldre Noritake Itron VFD -moduler
Bruke eldre Noritake Itron VFD -moduler
Bruke eldre Noritake Itron VFD -moduler

Av og til støter du på interessante deler på ebay, fra venner eller bare roter deg rundt i bruktbutikker. Et eksempel på dette var en stor vakuum-fluorescerende display fra Noritake Itron på 40 x 2 tegn fra 1994 (eller tidligere) som ble gitt videre fra en klient.

Opprinnelig så det ganske komplisert ut, men etter å ha brukt litt tid ble databladene funnet, og det ble oppdaget å ha et enkelt serielt grensesnitt - og med litt arbeid har vi fått det til å fungere, så les videre hvis du er interessert i klassiske VFD -er eller har en lignende enhet.

Trinn 1:

Bilde
Bilde

Den serielle grensesnittets baudhastighet bestemmes av jumperputene på kretskortet.

Steg 2:

Bilde
Bilde

Så å sammenligne tabellen ovenfor med hopperne på modulen vår gir oss en datahastighet på 19200 bps uten paritet. Flott - vi kan enkelt opprette en slik forbindelse med en mikrokontroller med en seriell utgang og 5V logiske nivåer; for våre eksempler bruker vi et Arduino-kompatibelt brett.

Trinn 3:

Det er enkelt å koble til VFD - se de hvite hopperne merket CN2 som vist tidligere. Pin 1 er 5V (du trenger en ekstern forsyning som kan tilby opptil 700 mA), pin 2 til Arduino digital pin 7, og pin 3 til Arduino og strømforsyning GND.

Vi bruker Arduino D7 med programvare seriell i stedet for TX, slik at skjermen ikke viser søppel når en skisse lastes opp. Da er det bare å sende tekst til displayet, for eksempel her er en rask demonstrasjonsskisse:

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

ugyldig oppsett ()

{VFD.begynnelse (19200); }

hulrom ()

{VFD.print ("Hei, verden. Dette er en Noritake VFD"); // Du kan sprenge ut tekst gjør {} mens (1); }

Trinn 4:

Bilde
Bilde

Som resulterer med følgende …

Trinn 5:

Bilde
Bilde

Hvis du ikke er opptatt av fargen eller intensiteten på skjermen, kan du prøve litt Perspex over toppen - for eksempel …

Trinn 6: Kontrollere skjermen

På dette tidspunktet trenger du databladet. Som du så tidligere, er det veldig enkelt å skrive tekst - bare bruk.print -funksjoner. Det kan imidlertid være lurt å sende individuelle tegn, samt spesielle kommandoer for å kontrollere aspekter av skjermen. Disse er beskrevet i databladet - se tabellene "Programvarekommandoer" og "Tegnfont".

Hvis du trenger å sende enkeltkommandoer - for eksempel "clear display" som er 0x0E, bruk en.write -kommando, for eksempel:

VFD.write (0x0E); // klar visning

Noen kommandoer er i formatet fluktkoder (husker du dem?), Så du må sende ESC og deretter følgende byte, for eksempel for å endre lysstyrken til 50%:

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

Bevæpnet med den kunnskapen og databladene kan du nå utføre alle kommandoene. I henhold til databladet er det mulig å endre fonter, men uansett hvilken maskinvarehopper eller kommando vi prøvde, ville det ikke vike fra den japanske katakana -skriften. Skjermen din kan variere. Hvis du bruker funksjonen "skjermprioritet skrive", ta hensyn til databladet med hensyn til den forlengede "opptatte" tiden ved å utsette påfølgende skriver til displayet med et millisekund.

Trinn 7: Sett alt sammen

I stedet for å forklare hver eneste mulige kommando, har jeg lagt de vanlige inne i dokumenterte funksjoner i demonstrasjonsskissen nedenfor, som etterfølges av en rask video av skissen i drift.

// Arbeider med Noritake Itron VFD -moduler - modell CU40026SCPB -T20A // John Boxall 2013

#inkludere

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

ugyldig oppsett ()

{VFD.begynnelse (19200); // angi hastighet for programvare seriell port resetVFD (); VFDclearsceen (); // VFD.write (0x12); // vertikal rullemodus (på)}

void resetVFD ()

// utfører en programvare -tilbakestilling på VFD -kontrolleren {VFD.write (0x1B); // ESC VFD.write (0x49); // programvare tilbakestille}

ugyldig VFDnewline ()

// flytter markøren til begynnelsen av neste linje {VFD.write (0x0D); // vognretur VFD.write (0x0A); // linjeskift }

void VFDclearsceen ()

// flytter markøren øverst til venstre og fjerner displayet {VFD.write (0x0E); // klar visning VFD.write (0x0C); // form feed - markør øverst til venstre}

ugyldig VFDlysstyrke (int beløp)

// angir VFD -lysstyrke - 25/50/75/100% // bruker ESC -sekvenser {switch (mengde) {case 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // lysstyrke VFD.print (0); // 25% lysstyrkebrudd; sak 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // lysstyrke VFD.write (0x40); // 50% lysstyrke; sak 75: VFD.write (0x1B); // ESC VFD.write (0x4C); // lysstyrke VFD.write (0x80); // 75% lysstyrkebrudd; sak 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // lysstyrke VFD.write (0xC0); // 100% lysstyrke}}

ugyldige VFDchars ()

// kjøre gjennom tegn for valgt skrift {for (int i = 21; i <256; i ++) {VFD.write (0x16); // understreker markøren av VFD.write (i); forsinkelse (100); }}

void moveCursor (byte posisjon)

// flytter markøren - øverste rad er 0 ~ 39, nederste rad er 40 ~ 79 // vertikal rullemodus må være slått av hvis den brukes {VFD.write (0x1B); // ESC VFD.write (0x48); // flytte markøren VFD.write (posisjon); // plassering }

hulrom ()

{VFD.write (0x16); // understreke markøren av VFD.print ("Hei, verden - linje én."); // Du kan sprenge ut tekstforsinkelse (1000); VFDnewline (); VFD.print ("Hei, 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 (); VFDlysstyrke (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); // understreke markøren av moveCursor (i); VFD.print ("X"); forsinkelse (100); moveCursor (i); VFD.print (""); } VFDclearsceen (); }

Vi håper du synes dette var interessant og nyttig.

Dette innlegget blir brakt til deg av pmdway.com - alt for produsenter og elektronikkentusiaster, med gratis levering over hele verden.

Anbefalt: