Last updates
January 18th 2005 : I have received the 4.9152Mhz crystals. It's the perfect frequency!
I can generate a multitude of practical baud rates from 19200bps to 150bps.
Good thing cause I have lots of them!
January 17th 2005 : I now have an almost functional
input circuit
and a complete
schematic
is now online.
I wanted to have a nice and simple way of interfacing with the computer from my bedroom.
There is already Cat5e cable all around the place so I could use that for communication.
I bought some VFDs (Vacuum Fluorescent Display) on eBay.
These are nice because they are brighter than LCDs (as characters emit their own light)
they also have parallel and serial ports and include an onboard inverter so all you need
is regulated 5v. I will be using a Parallax
4x4 matrix keypad for input. Note that I'm neither an electrical egineer neither a great software
developer so there might be some mistakes around in the schematics and source codes. That's
not including all those that I have already fixed and that have brought me where I stand today.
By the way, it all started when I saw this
project by James Sentman.
(top)
In short this is how the circuit works.
The MAX232 converts
RS232
data (±12v) to (±5v). Tx Data from the
computer is then sent directly to the
VFDs.
As for inputs, when the
74C922
16 Key Encoder detects a key was pressed on the keypad, it converts this
number as a 4bits integer and adds it to ther 6402
UART's
buffer.
The word is then sent to the serial RxD via the
MAX232. The
74HC4060 14 Stage
binary counter is used to generate a proper clock frequency from the
crystal
for the UART.
It is also notable that you could use this circuit (apart from a few differences)
to drive parallel LCDs and devices!
Be creative :D
As I said previously, the
74HC4060 and the
crystal are
used to generate the proper baud rates for the
UART.
The 4.9152Mhz XTAL (5Mhz would do just fine, but I could get the more precise one)
is great as it generates practical baud rates from
19200Bps down to
300Bps, once it's been down clocked
by the 74HC4060.
These baud rates match perfectly with those from the VFD
so running both on the same line is no problem.


You can't see it, but the display sits in a plexi case. Make sure you never leave the
VFDs to the open air.
It contains a high voltage inverter and also seems to be fairly picky on static (I've fried one already).
The display is connect straight to the serial port (on a Keyspan USB to Serial adaptor).
As shown above the MAX232
is used to bring serial communication to
TTL levels.
The VFD could run on parallel to, but it was not practical in this case.
This required a serial to parallel
UART
and was much more complicated.
Although, I will still need this circuit for the keypad as it is decoded to parallel.
Doing things this way saves a bit on parts and mostly on soldering time
as it would add around 10 connections.
It also means I could have the
VFDs a bit further away from the keypad.
I'd like to find a flexible metal neck table lamp for the VFD, make it more retro than it already is.
(top)
VFDWork is a utility for creating custom chars on the VFD as well as managing options
such as brightness, cursor mode, etc. It is bilt in REALbasic.
You can download it here,
or you can build it yourself by getting the
source.
You can grab a recent snapshot of the source code
here. It should work on any POSIX system
(if you remove the utf2ascii conversion),
just make sure you set the serial port using the proper tty name.
This is my first C program so bare with me. I intend on adding different modules
(weather, email, etc) in the future. The program currently reads status commands from
a text file. This will be replaced by serial input when I finish the keypad circuit.
Thanks to Spike for helping out, a lot, with the code.