{Home} | {Up} Being Creative: Life/1D Cellular Automaton as "Art"
The LCD Driver running in the "tool tray"

This is such an old idea.  For the longest time, I've been interested in Life and other Cellular Automata.  The complex and beautiful patterns these things create as they evolve are like abstract art.  For as long as I've been playing with them I've had this image of a large flat screen on a wall running the automata.  It just sitting there, like a painting, running from random initial generations.  Well, I haven't done that.  Large flat inexpensive colour screens are on their way so perhaps in a few years I'll be able to buy one and hook it up to some small cheap computer.  In the meantime I've made a "baby" version.  After much trolling of the web, I found Scott Edwards Electronics which sells small LCD screens with built-in serial drivers (I don't know digital logic).  I bought one of their units on sale, the SGX-120L -- 120 by 32 pixels (and monochrome of course).  I played around with it a bit; wrote a little test app that tried out some of the commands (you send it commands like Ctrl+L, "Clear Screen", over a serial line at 9600 or 2400 baud).  Althought quite slow, I convinced myself that it could be made to work.  I wandered around at places like Fry's, Radio Shack and HSC Electronic Supply eventually finding a suitable enclosure and cabling.  I drilled and cut out a window in the project box, mounted the LCD unit and attached the plastic bezel.  Inside the box, the 3 lines (+5V, Ground and Transmit Data) go to a terminal block cemented to an inside wall then out through a small grommet and terminate at a HDD power connector and a serial DB9 connector.   The device can be powered by battery but it also takes internal PC power (the HDD power connector).   The idea with the terminal block was to protect the pins on the LCD board from being damaged via a jerk on the external leads.   I made up a power "extension cord" so I could bring power from a spare HDD connector out of my PC's case, and up onto my desk.  I bought a cable to do the same with the serial connection.

I then wrote a little "Tool Tray" application to drive the display.  This basically runs unobtrusively in the background, sending commands out a COM port to the LCD unit, which sits next to my monitor, keeping me entertained.  The application lets me control the Baud rate, COM port, backlight and what's running -- Life or a 1D Cellular Automaton.  It also lets me define when I want it to automatically turn off (outside work hours, when a Screen-Saver is running, etc).  Clicking on the tool tray icon brings up a menu with a number of options like Backlight on/off and also provides acces to the Properties dialog:

LCD Driver dialog

Here are some pictures:

LCD Unit LCD Unit
LCD Unit