Inhaltsverzeichnis:

Verwenden älterer Noritake Itron VFD-Module - Gunook
Verwenden älterer Noritake Itron VFD-Module - Gunook

Video: Verwenden älterer Noritake Itron VFD-Module - Gunook

Video: Verwenden älterer Noritake Itron VFD-Module - Gunook
Video: Firmware und Test der WIFi - NTP - RTC - 7-Segment Clock [ESP8266, ESP-12] 2024, Juli
Anonim
Verwendung älterer Noritake Itron VFD-Module
Verwendung älterer Noritake Itron VFD-Module
Verwendung älterer Noritake Itron VFD-Module
Verwendung älterer Noritake Itron VFD-Module
Verwendung älterer Noritake Itron VFD-Module
Verwendung älterer Noritake Itron VFD-Module

Hin und wieder stößt man bei ebay, von Freunden oder einfach beim Stöbern in Second-Hand-Läden auf interessante Teile. Ein Beispiel dafür war ein riesiges Noritake Itron 40 x 2 Zeichen Vakuum-Fluoreszenz-Display aus dem Jahr 1994 (oder früher), das von einem Kunden weitergegeben wurde.

Ursprünglich sah es ziemlich komplex aus, aber nach einiger Zeit wurden die Datenblätter gefunden und es wurde festgestellt, dass es eine einfache serielle Schnittstelle hat – und mit ein wenig Arbeit haben wir es zum Laufen gebracht, also lesen Sie weiter, wenn Sie sich für klassische VFDs interessieren oder ein ähnliches Gerät haben.

Schritt 1:

Bild
Bild

Die Baudrate der seriellen Schnittstelle wird durch die Jumper-Pads auf der Platine bestimmt.

Schritt 2:

Bild
Bild

Wenn wir die obige Tabelle mit den Jumpern auf unserem Modul vergleichen, erhalten wir eine Datengeschwindigkeit von 19200 bps ohne Parität. Großartig – wir können eine solche Verbindung problemlos mit einem Mikrocontroller mit seriellem Ausgang und 5V-Logikpegeln herstellen; für unsere Beispiele verwenden wir ein Arduino-kompatibles Board.

Schritt 3:

Die Verdrahtung des VFD ist einfach – siehe die weißen Jumper mit der Bezeichnung CN2, wie zuvor gezeigt. Pin 1 ist 5V (Sie benötigen eine externe Stromversorgung, die bis zu 700 mA bieten kann), Pin 2 an Arduino Digital Pin 7 und Pin 3 an Arduino und Netzteil GND.

Wir verwenden Arduino D7 mit Software Serial anstelle von TX, damit das Display beim Hochladen einer Skizze keinen Müll anzeigt. Dann reicht es, einfach Text an das Display zu senden, zum Beispiel hier eine kurze Demonstrationsskizze:

// Arbeiten mit Noritake Itron VFD-Modulen - Modell CU40026SCPB-T20A #include SoftwareSerial VFD(6, 7); // RX, TX

Void-Setup ()

{ VFD.begin (19200); }

Leere Schleife ()

{ VFD.print("Hallo Welt. Dies ist ein Noritake VFD"); // Sie können Text aussenden do {} while (1); }

Schritt 4:

Bild
Bild

Was ergibt sich mit folgendem…

Schritt 5:

Bild
Bild

Wenn Sie die Farbe oder Intensität des Displays nicht mögen, probieren Sie etwas Plexiglas darüber – zum Beispiel…

Schritt 6: Steuerung des Displays

An dieser Stelle benötigen Sie das Datenblatt Datenblatt. Wie Sie bereits gesehen haben, ist das Schreiben von Text sehr einfach – verwenden Sie einfach die.print-Funktionen. Möglicherweise möchten Sie jedoch einzelne Zeichen sowie spezielle Befehle senden, um bestimmte Aspekte der Anzeige zu steuern. Diese sind im Datenblatt beschrieben – siehe die Tabellen „Softwarebefehle“und „Zeichenfonts“.

Wenn Sie einzelne Befehle senden müssen – zum Beispiel „Clear Display“, was 0x0E ist, verwenden Sie einen.write-Befehl, wie zum Beispiel:

VFD.write (0x0E); // klare Anzeige

Einige Befehle haben das Format von Escape-Codes (erinnern Sie sich an diese?), sodass Sie ESC und dann das folgende Byte senden müssen, um beispielsweise die Helligkeit auf 50% zu ändern:

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

Mit diesem Wissen und den Datenblättern können Sie nun alle Befehle ausführen. Laut Datenblatt ist es möglich, Schriftarten zu ändern, aber egal welchen Hardware-Jumper oder Befehl wir versucht haben, es würde sich nicht von der japanischen Katakana-Schriftart entfernen. Ihr Bildschirm kann variieren. Wenn Sie die Funktion „Bildschirmpriorität Schreiben“verwenden, beachten Sie das Datenblatt hinsichtlich der verlängerten „Busy“-Zeit, indem Sie nachfolgende Schreibvorgänge auf das Display um eine Millisekunde verzögern.

Schritt 7: Alles zusammenfügen

Anstatt jeden einzelnen möglichen Befehl zu erklären, habe ich die gebräuchlichen in die dokumentierten Funktionen in der folgenden Demonstrationsskizze eingefügt, auf die ein kurzes Video der Skizze im Betrieb folgt.

// Arbeiten mit Noritake Itron VFD-Modulen - Modell CU40026SCPB-T20A// John Boxall 2013

#enthalten

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

Void-Setup ()

{ VFD.begin (19200); // Geschwindigkeit für serielle Softwareschnittstelle einstellen resetVFD (); VFDclearsceen(); // VFD.write (0x12); // vertikaler Scroll-Modus (ein) }

void resetVFD()

// führt einen Software-Reset auf dem VFD-Controller durch { VFD.write (0x1B); // ESC VFD.write (0x49); // Software-Reset }

void VFDnewline()

// bewegt den Cursor zum Anfang der nächsten Zeile { VFD.write (0x0D); // Wagenrücklauf VFD.write (0x0A); // Zeilenvorschub }

void VFDclearsceen()

// bewegt den Cursor nach oben links und löscht die Anzeige { VFD.write (0x0E); // Anzeige löschen VFD.write (0x0C); // Formularvorschub - Cursor nach oben links }

VFD-Helligkeit ungültig (int Betrag)

// stellt die VFD-Helligkeit ein - 25/50/75/100% // verwendet ESC-Sequenzen { Schalter (Betrag) { Fall 25: VFD.write (0x1B); // ESC VFD.write (0x4C); // Helligkeit VFD.print (0); // 25% Helligkeitspause; Fall 50: VFD.write(0x1B); // ESC VFD.write (0x4C); // Helligkeit VFD.write (0x40); // 50% Helligkeitsunterbrechung; Fall 75: VFD.write(0x1B); // ESC VFD.write (0x4C); // Helligkeit VFD.write (0x80); // 75% Helligkeitspause; Fall 100: VFD.write(0x1B); // ESC VFD.write (0x4C); // Helligkeit VFD.write (0xC0); // 100% Helligkeit } }

void VFDchars()

// Zeichen für ausgewählte Schriftart durchlaufen { for (int i = 21; i < 256; i++) { VFD.write (0x16); // Cursor aus unterstreichen VFD.write (i); Verzögerung (100); } }

void moveCursor(Byteposition)

// bewegt den Cursor - obere Reihe ist 0 ~ 39, untere Reihe ist 40 ~ 79 // vertikaler Scroll-Modus muss ausgeschaltet werden, wenn verwendet { VFD.write (0x1B); // ESC VFD.write (0x48); // Cursor bewegen VFD.write (Position); // Lage }

Leere Schleife ()

{ VFD.write (0x16); // Unterstreiche den Cursor aus VFD.print("Hallo Welt - Zeile eins."); // Sie können Textverzögerung (1000) aussprengen; VFDnewline(); VFD.print("Hallo Welt - Zeile zwei."); Verzögerung (1000); VFDclearsceen(); VFD-Helligkeit (25); VFD.print("*** 25% Helligkeit ***"); Verzögerung (1000); VFDclearsceen(); VFD-Helligkeit (50); VFD.print("*** 50% Helligkeit ***"); Verzögerung (1000); VFDclearsceen(); VFD-Helligkeit (75); VFD.print("*** 75% Helligkeit ***"); Verzögerung (1000); VFDclearsceen(); VFD-Helligkeit (100); VFD.print("*** 100% Helligkeit ***"); Verzögerung (1000); VFDclearsceen();

VFDchars();

VFDclearsceen();

für (int i = 0; i < 80; i ++) {VFD.write (0x16); // Unterstreiche den Cursor aus moveCursor(i); VFD.print("X"); Verzögerung (100); moveCursor(i); VFD.print(" "); } VFDclearsceen(); }

Wir hoffen, Sie fanden dies interessant und hilfreich.

Dieser Beitrag wird Ihnen von pmdway.com zur Verfügung gestellt – alles für Macher und Elektronik-Enthusiasten, weltweit versandkostenfrei.

Empfohlen: