I've had a VFD for years now, not doing anything productive. Decided I needed to figure out how to get it working with my Arduino! So far, I've made decent progress, as I can spit stuff out on screen.
What I don't understand is the VCD's datasheet, especially trying to decipher the command codes. I can turn the VCD on and off, but can't change the brightness. I've complicated all of this by having a serial backpack on the LCD.
My setup:
VFD: Noritake 2x40 5mm Character Display (http://www.farnell.com/datasheets/57192.pdf)
Serial Backpack: Wirz SLI-OEM (http://www.swarthmore.edu/NatSci/echeeve1/Ref/PeripheralsForPIC/sli-oem.pdf)
Now, all of that works, and I can get serial LCD code to work with the Arduino. For example, this code mostly works (Arduino Playground - SparkFunSerLCD).
Some of my code:
clearSerLcd();
LCD.print("Prints on line 1");
LCD.println();
LCD.print("Prints on line 2");
delay(3000);
clearSerLcd();
LCD.print("Turning off in 3 seconds...");
LCD.println();
LCD.print("Then turning on 2 seconds later...");
delay(3000);
LCD.print(0xFE, BYTE); //command flag
LCD.print(0x08, BYTE); //clear command.
delay(2000);
LCD.print(0xFE, BYTE); //command flag
LCD.print(0x0F, BYTE); //clear command.
delay(1000);
Now, when turning ON the display, several values work for the second command. 0x0D, 0x0C, and I think 0x0B. On the datasheet for my VFD, it says the backlight is controlled by this software command:
Display ON/OFF L L 08H-0FH
So, both the R/W and RS lines need to be set low. That's obviously for controlling the VFD with a parallel interface.... so how does that map to 0xFE above?
For controlling the backlight, I need to set the RS line high. How can I do this over a serial interface? I'd really like to keep the serial interface, since it reduces the amount of wiring to 3 wires. But, I can't decipher commands very easily.
So, any insight on how I would turn this:
Brightness Set L H 00H-03H
into SoftwareSerial code?