Copyright Brian Starkey 2012
Valid HTML 4.01 Transitional

Valid CSS!
iconLaunch Codesmax, min, close
Introduction(top)
Probably one of my most useless creations, this consists of a 5-digit 7-segment display which shows random numbers. That's it. I had the display and had nothing to put on it, and quite liked the idea of showing codes like you see in the nuclear bunkers in films.

Software(top)
Before I embarked on the hardware side, I wrote a curses program to try and get the right effect in code first. There's basically an array of 5 chars, and 5 random numbers, one for each char. The chars are incremented, and then all 5 are displayed on screen. This continues, with each digit ceasing to be incremented once it has done its respective random number of cycles.
Clear as mud?
Basically each number is incremented a random number of times, 'locking' into place and waiting for the others to finish. Once this code worked on the PC, I simply ported it to the AVR - instead of displaying via ncurses, I display on the 7-segments.
If you try to compile the PC code remember to use the -lcurses flag to link with libcurses.

Hardware(top)
Amplicon LabelAmplicon Label
Display BoardDisplay Board
The display itself is an Amplicon Liveline - Digital Panel Instrument from around 1990 judging by the date codes on the logic ICs. I have no idea what its orignial function was - some kind of readout in some expensive machinery I should imagine. The original circuit board had an edge-connector sticking out the back, and included a mains transformer, some 4xxx series logic and some other bits and pieces which I forget. The display board itself was connected via a row of 33, 0.1" pins soldered to the main board, and is populated with 5 red 7-segment displays and 4 MC14511BCP BCD to 7-segment drivers. The 5th driver was on the main board, along with 3 4518 dual BCD counters, which I salvaged for re-use in my circuit.
Mapping the connections to the display board was a long and tedious job, and I have since lost the pinout, but hopefully I will find it again so I can post it here. I replaced the main board with a piece of protoboard the same size, and built an Attiny2313 based circuit to make the magic happen. I also included a piezo beeper from an old computer, and added some code to make it beep every time a number 'locked' - nothing too obnoxious and it makes for a nice effect.
I never figured it out exactly (didn't seem worth the effort), but the original circuit was AC driven somehow, and there were diodes in the corners of the display board. I removed one, and replaced the other with a resistor to get DC to the logic and displays.

Video(top)
iconVideo Playermax, min, close
The finished article! Although the camera mic didn't pick up the subtle beeps, you can get the idea.