Inhoudsopgave:

Oudere Noritake Itron VFD-modules gebruiken: 7 stappen:
Oudere Noritake Itron VFD-modules gebruiken: 7 stappen:

Video: Oudere Noritake Itron VFD-modules gebruiken: 7 stappen:

Video: Oudere Noritake Itron VFD-modules gebruiken: 7 stappen:
Video: Милое антикварное трио на 22 человека за 80 фунтов 🇬🇧 Невероятная цена и качество!! 2024, Juli-
Anonim
Oudere Noritake Itron VFD-modules gebruiken
Oudere Noritake Itron VFD-modules gebruiken
Oudere Noritake Itron VFD-modules gebruiken
Oudere Noritake Itron VFD-modules gebruiken
Oudere Noritake Itron VFD-modules gebruiken
Oudere Noritake Itron VFD-modules gebruiken

Af en toe kom je interessante onderdelen tegen op ebay, van vrienden of gewoon rondneuzen in tweedehandswinkels. Een voorbeeld hiervan was een enorme Noritake Itron 40 x 2 karakters vacuüm-fluorescerende display uit 1994 (of eerder) die werd doorgegeven door een klant.

Oorspronkelijk zag het er behoorlijk ingewikkeld uit, maar na enige tijd te hebben doorgebracht, werden de datasheets gevonden en werd ontdekt dat het een eenvoudige seriële interface had - en met een beetje werk hebben we het werkend gekregen, dus lees verder als je geïnteresseerd bent in klassieke VFD's of een vergelijkbare eenheid hebben.

Stap 1:

Afbeelding
Afbeelding

De baudrate van de seriële interface wordt bepaald door de jumperpads op de printplaat.

Stap 2:

Afbeelding
Afbeelding

Dus het vergelijken van de bovenstaande tabel met de jumpers op onze module geeft ons een datasnelheid van 19200 bps zonder pariteit. Geweldig – we kunnen zo'n verbinding eenvoudig maken met een microcontroller met een seriële uitgang en 5V logische niveaus; voor onze voorbeelden gebruiken we een Arduino-compatibel bord.

Stap 3:

Het aansluiten van de VFD is eenvoudig - zie de witte jumpers met het label CN2 zoals eerder getoond. Pin 1 is 5V (je hebt een externe voeding nodig die tot 700 mA kan leveren), pin 2 naar Arduino digitale pin 7 en pin 3 naar Arduino en voeding GND.

We gebruiken Arduino D7 met softwareserieel in plaats van TX, zodat het display geen rommel weergeeft wanneer een schets wordt geüpload. Dan is het een kwestie van simpelweg tekst naar het display sturen, hier is bijvoorbeeld een snelle demonstratieschets:

// Werken met Noritake Itron VFD-modules - model CU40026SCPB-T20A #inclusief SoftwareSerial VFD (6, 7); // RX, TX

ongeldige setup()

{VFD.begin(19200); }

lege lus()

{ VFD.print("Hallo wereld. Dit is een Noritake VFD "); // Je kunt tekst uitblazen do {} while (1); }

Stap 4:

Afbeelding
Afbeelding

Wat resulteert in het volgende…

Stap 5:

Afbeelding
Afbeelding

Als je niet enthousiast bent over de kleur of intensiteit van het scherm, probeer dan wat Perspex eroverheen - bijvoorbeeld …

Stap 6: Het beeldscherm bedienen

Op dit punt hebt u het gegevensblad van het gegevensblad nodig. Zoals je eerder hebt gezien, is het schrijven van tekst heel eenvoudig - gebruik gewoon de.print-functies. Het kan echter zijn dat u afzonderlijke tekens wilt verzenden, evenals speciale opdrachten om aspecten van het display te regelen. Deze worden beschreven in het gegevensblad - zie de tabellen "Softwareopdrachten" en "Lettertypen tekens".

Als u enkele opdrachten moet verzenden, bijvoorbeeld "clear display", wat 0x0E is, gebruik dan een.write-opdracht, zoals:

VFD.schrijven (0x0E); // duidelijke weergave

Sommige commando's zijn in het formaat van escape-codes (weet je nog?), dus je moet ESC en vervolgens de volgende byte sturen, bijvoorbeeld om de helderheid te wijzigen in 50%:

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

Gewapend met die kennis en de datasheets kun je nu alle commando's uitvoeren. Volgens het gegevensblad is het mogelijk om lettertypen te wijzigen, maar ongeacht de hardware-jumper of het commando dat we probeerden, zou het niet afwijken van het Japanse katakana-lettertype. Uw scherm kan variëren. Als u de functie "schrijven met schermprioriteit" gebruikt, let dan op het gegevensblad met betrekking tot de verlengde "bezet" tijd door volgende schrijfbewerkingen naar het scherm met een milliseconde uit te stellen.

Stap 7: Alles samenbrengen

In plaats van elke mogelijke opdracht uit te leggen, heb ik de meest voorkomende in gedocumenteerde functies in de onderstaande demonstratieschets geplaatst, die wordt gevolgd door een korte video van de schets in werking.

// Werken met Noritake Itron VFD-modules - model CU40026SCPB-T20A// John Boxall 2013

#erbij betrekken

SoftwareSeriële VFD (6, 7); // rx, tx

ongeldige setup()

{VFD.begin(19200); // snelheid instellen voor software seriële poort resetVFD(); VFDclearsceen(); // VFD.schrijven (0x12); // verticale scroll-modus (aan)}

ongeldig resetVFD()

// voert een software-reset uit op de VFD-controller {VFD.write (0x1B); // ESC VFD.write (0x49); // software-reset}

ongeldig VFDnewline()

// verplaatst de cursor naar het begin van de volgende regel { VFD.write (0x0D); // wagenretour VFD.write (0x0A); // regelinvoer}

void VFDclearsceen()

// verplaatst de cursor naar linksboven en wist het scherm {VFD.write (0x0E); // duidelijke weergave VFD.write (0x0C); // formulierfeed - cursor naar linksboven }

void VFDbrightness (int bedrag)

// stelt VFD-helderheid in - 25/50/75/100% // gebruikt ESC-reeksen {switch (bedrag) {geval 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // helderheid VFD.print (0); // 25% helderheidsonderbreking; geval 50: VFD.write (0x1B); // ESC VFD.write (0x4C); // helderheid VFD.write (0x40); // 50% helderheidsonderbreking; geval 75: VFD.write(0x1B); // ESC VFD.write (0x4C); // helderheid VFD.write (0x80); // 75% helderheidsonderbreking; geval 100: VFD.write (0x1B); // ESC VFD.write (0x4C); // helderheid VFD.write (0xC0); // 100% helderheid } }

void VFDchars()

// doorloop tekens voor geselecteerd lettertype { for (int i = 21; i < 256; i++) { VFD.write (0x16); // onderstreep de cursor van VFD.write (i); vertraging (100); } }

void moveCursor (bytepositie)

// verplaatst de cursor - bovenste rij is 0 ~ 39, onderste rij is 40 ~ 79 // verticale scroll-modus moet worden uitgeschakeld als deze wordt gebruikt { VFD.write (0x1B); // ESC VFD.write (0x48); // verplaats cursor VFD.write (positie); // plaats }

lege lus()

{ VFD.schrijven (0x16); // onderstreep de cursor van VFD.print ("Hallo, wereld - regel één."); // U kunt tekstvertraging (1000) uitblazen; VFDnewline(); VFD.print("Hallo, wereld - regel twee."); vertraging (1000); VFDclearsceen(); VFD-helderheid (25); VFD.print("*** 25% helderheid ***"); vertraging (1000); VFDclearsceen(); VFD-helderheid (50); VFD.print ("*** 50% helderheid ***"); vertraging (1000); VFDclearsceen(); VFD-helderheid (75); VFD.print("*** 75% helderheid ***"); vertraging (1000); VFDclearsceen(); VFD-helderheid (100); VFD.print("*** 100% helderheid ***"); vertraging (1000); VFDclearsceen();

VFDchars();

VFDclearsceen();

for (int i = 0; i < 80; i++) { VFD.write (0x16); // onderstreep de cursor uit moveCursor (i); VFD.print("X"); vertraging (100); moveCursor(i); VFD.print(" "); } VFDclearsceen(); }

We hopen dat je dit interessant en nuttig vond.

Dit bericht wordt u aangeboden door pmdway.com - alles voor makers en elektronica-enthousiastelingen, met gratis levering wereldwijd.

Aanbevolen: