Door Display - Hitachi LCDs




Eh, something to do

All R.A.s here have posters on their doors with magazine clip-outs to go with labels like "here" or "in class"... basically an analog status indicator. Wanting a techie solution to the same problem, I came up with my LCD door display. The idea will be that I can have messages up whenever I want, and can control them from the PC.

A few bugs and we're off

I soldered together the board (first picture below) after circuits lab on a wednesday night. I had just received my Basic Micro Standard compiler recently and wanted to try it out. I think it was somewhere toward the end of September when I had some free time. Assembly didn't take long, though i ended up wiring the wrong data pins for the Hitachi display. A quick crossover on the 14-pin ribbon connector did the trick (note again in first picture).

My first icky discovery was with programming. The chip wouldn't program in circuit, even though I had wired it to do so. As seen in the picture below, there is an open connector there for the ICSP. Testing revealed that the solder path I formed on the back side didn't fully connect to the solder path for the connector. Wire wrap took care of that for me.

Also ran into trouble initializing the LCD display. A bit of mucking around and eventually got the initialization routine working. I swear I changed nothing to get it to work, but I won't touch that code again for fear of mucking it up. I've had this problem before with the Stamp. For odd reasons it will only have garbage showing up, and then *bam* it will start working

Software Side

The cable coming out of the circuit is just some phone wire, a 40 foot spool I got for 6 bucks. It is anchored (tactfully) around the ceiling of my room over to my computer. the other end is attached to a small board that has a power plug connector and an DB-9 connector for data from the computer. The protocol is just 8n1 ascii data. command sequence is msg:TEXT. TEXT must be exactly 20 characters long.

I want to expand it to include fancier features (scrolling text, transitions and the like) but since it's already mounted, it's just easier to leave it be. The programmer can't function properly at that distance, I dont' feel like writing a boot-loader, and I'm out of double sided tape to re-mount the device with. Oh well.

Update 11/25/02

This weekend I received my ISP-Pro and upgrade to MBasic Pro compiler. You can check out their software at http://www.basicmicro.com/. I'm only enthusiastic about them for two reason... one, the software ROCKS. Two, I'm kinda hoping I can land a job with them. Looks like fun work. That, and with my senior project, I should be gaining some experience in the area of work.

Anyways, I added scrolling and change the communication protocol. The display now sends a ~ as a request for another character, and the PC supplies the next character. ~ also signifies a formatting character when sent from the PC. Such characters include:

P 	-	Pause for one second
B	-	Block out the text (transition)
F	-	Fade out the text (transiion)
C	-	Clear (transition)

The firmware keeps a buffer of the last 20 characters so that it can update the display when it reaches the end of the buffer on the LCD display. This is accomplished fast enough that the extra processing and shift of the display is not noticable. Wouldn't have been possible without the added LCD commands of the pro compiler.

PC software was just thrown together. The software cycles between displaying the user message, time, and 1/5th the time the Message of the Day, now an add for a great webcomic. The small text block to the right is for formatting to follow the user message. Time always scrolls by as its transition.

Source code: door_main2.bas| door_main3.bas

Pictures: _1_ | _2_ | _3_