VFD 20x1 Datenblatt oder Library gesucht

Hallo,
mir ist dieses Display zugelaufen - leider gibt es im Web
keine passende Dokumentation.
Ansteuerung ist seriell (über SoftwareSerial) - ich habe es
mit Befehle aus einen anderen Datenblatt rudimentär "zum
laufen gebracht".
Nach einen Reset oder einem Wiedereinschalten erfolgt die Anzeige nicht
immer ab Pos. 1, ich denke da stimmt die Initialisierung nicht.

#include <SoftwareSerial.h>
SoftwareSerial VFD(2, 3); // TX --> RX Display

void setup() {
  VFD.begin(19200);   // Serialport 19200 Bauds
  VFDreset();
  delay(500);
  VFDclear();
  delay(500);
  setCursor(0);   // Position 0 VFD
  VFD.print(" VFD Serial UART ");
}

void VFDreset() 
{
  VFD.write(0x1F);   // reset Display
}


void VFDclear()
{
  VFD.write(0x0E);   // clear display
}


void setCursor(byte position)
{
  VFD.write(0x10);   // Cursor auf Pos. 1 gesetzt
  VFD.write(position);
}


void loop() 
{
  
}

Eventuell hat jemend zu diesen Display u.U. eine Dokumentation oder kann weiter helfen.
Danke !

Das sieht für mich ganz vielversprechend aus:

Welchen Arduino benutzt du?

Erst einmal danke an Alle die mir helfen / geholfen haben.
Ich verwende derzeitig den Nano für erste Tests.
Die Reset Sequenz habe ich entsprechend den DB geändert :

void VFDreset() 
{
  VFD.write(0x1B); // reset Display
  VFD.write(0x49);
}

Damit erfolgt auch ein komplettes Zurücksetzen incl. ein "Clear" der Anzeige.
Die Zeile mit den Clear Befehl kann damit auch entfallen.
Bis jetzt (scheint) es erst einmal zu passen - was ich noch nicht verstehe ist
die Dimm Funktion im DB :

Helligket

Da werde ich nicht schlau draus - folgendes als Test, aber es ändert sich nicht
die Helligkeit :

void VFDdimm() 
{
  VFD.write(0x1B); 
  VFD.write(0x3F);  // 30% helligkeit
}

Naja ich mach mal weiter - vieleicht habe ich die zündende Idee :slight_smile:

Du hast "L" vergessen: 0x1B 0x4C 0x3F

Manchmal sieht man den Wald vor Bäumen nicht - jetzt geht es.
Die volle Helligkeit braucht man sellten und man schont das Display
und erhöht die Lebensdauer.
Noch ein Problem : Cursorposition wird nicht übernommen, der Text
wird ab "0" dargestellt - auch wenn ich Position 1 oder 2 usw. eingebe.

P.S.
Fehler selber gefunden - die Cursor Position wird so festgelegt :

void setCursor(byte position)
{
  VFD.write(0x1B); // Command ESC
  VFD.write(0x48); // Schiebe Cursor auf nachfolgende Positionsangabe
  VFD.write(position); // Übernahme Cursorpostion von links ausgehend
}

Anscheinend muss bei den Befehlen laut DB die mit "+" markiert sind, eine
Sequenz mit drei Instruktionen gesendet werden (ich hoffe es wird nicht noch schwerer).

Das Potential ist vorhanden (Benutzerfont):
grafik

Das Pluszeichen verbindet verschiedene Bytes zu einer Sequenz. Das können auch mehr als drei Bytes sein.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.