Over the past several years, installing Debian linux has become increasingly easy. You may want to use CD images or floppy disks to do the install. The two pages you may want to consider to get the install done are:
It is also possible to buy Debian CD (or even buy a computer with Debian pre-installed, which would be a very expensive means of completing this lab).You will write to the parallel port using the outb instruction of the x86 architecture. You will learn about input and output by implementing a simple light chaser.
The lights may be connected to the parallel port in any of the various
ways indicated below:
Alternatively, you may simply use LEDs with appropriate resistors, for a
simpler design (simplified drawing shown below):
Download a simple parallel port connection picture, the simplified drawing showing how to connect 8 LEDs to the parallel port . This drawing was made using the free-source idraw program. To learn how to install idraw, try: apt-cache search idraw, then use the apt-get install command to install as indicated. (This assumes you're using debian, otherwise you're on your own.)
You will likely want to just use LEDs connected, simply through resistors, to the parallel port, but in case you want to experiment, you can also use incandescent bulbs such as automotive lamps, or connections to electronic flash lamps, or other devices (e.g. one can put some devices on the internet), if you design appropriate driver and safety circuits, etc..
In this case, simple LEDs are used, but the circuit can obviously drive automotive light bulbs, large 120volt bulbs, (or even 240volt bulbs which respond faster than 120v bulbs for the same wattage) or flash lamps, such as 8 BFGs (big flash guns), to make a thunderbolt lighting chaser, or to simply control various household appliances. Safety first: note that if driving anything more than a simple LED, great care needs to be exercised in isolating the high voltage from the computer case,etc..
There are several pushbrooms in the lab, including one with nice bright light bulbs, as well as smaller ones to show the simple setup needed for driving LED's. Each of the pins from 2-9 carry data to one LED so a number sent to the parallel port would light up the LED's according to the bit pattern of that number.
Next, write a simple c program which turns on each LED and then turns it off (like the lights on the Knight rider car). This is commonly called a light chaser.
More info on parallel port: it's commonly used for plip, etc., but not at full speed. Modern parallel ports, following the ieee 1284 standard can run 2 to 4 mebaBYTES per second data rate, much higher than actually implemented by most programs. Try doing a WWW search, using your favorite search engine, on ieee 1284. Also try looking for something called the parallel port how-to and gnu Linux parallel port how-to.
More to thing about: What do you do if you want an LED to look half as bright. Implement a program which changes the brightness of an LED (this technique is commonly called pulse width modulation).
| Activity | Mark |
| Get computer running, demonstrate that you have a working computer. | |
| Be prepared to answer some questions on GNU Linux | |
| Build a pushbroom (row of LEDs) comprised of 8 lights. The simplest design is simply a resistor in series with each of 8 LEDs with the plus sides of the LEDs connected to a common positive voltage such as the +5 or +12 volt supply of the computer. A good value for resistors is one that's 500 to 1000 ohms, so that there is enough resistance to use either +5 or +12 volts. | |
| Answer some random questions about parallel ports, parallel port addressing, L.E.D.s, calculation of resistance values for L.E.D.s, or other materials you should know to do this lab in a timely fashion. If you thought about this lab and worked on it prior to coming to the lab, you will likely do well in the prelab. These questions will happen right near the beginning of the lab time so you will need to have studied the parallel port, etc., BEFORE arriving at the lab. | |
| Send information to the parallel port using outb. | |
| Implement a simple light chaser | |
| show us some timing, e.g. show us you understand the concept of pulse width modulation (PWM) control of the brightness of a pushbroom (loop delays, e.g. partial on of the lamps). for example, how would you get the lights to appear to be on at half brightness? hint: switch the light on and off rapidly so that it looks like it's partly on. | |
Total | 10 |