This is very much a work in progress, just to keep me thinking about it.
I have used Parallel Port controllers as a very simple switch and sensor, this project is to develop a very low-cost simple computer controller for robot of a reasonable size.

The basic circuit above only shows one relay, but this chip will support up to 7 relatively large 12V relays.

Above are two examples of previous projects, one is made inside a D Connector, and the other is a test unit with LEDs and terminal block.
Output
|
Pin
|
State = 0
|
State = 1
|
D0
|
2
|
Left motor power off
|
Left motor power on
|
D1
|
3
|
Right motor power off
|
Right motor power on
|
D2
|
4
|
Left motor forward
|
Left motor reverse
|
D3
|
5
|
Right motor forward
|
Right motor reverse
|
D4
|
6
|
Left motor slow
|
Left motor fast
|
D5
|
7
|
Right motor slow
|
Right motor fast
|
D6
|
8
|
Light On - OK
|
Sound Alarm - Not OK
|
D7
|
9
|
Regenerative Brake Off
|
Regenerative Brake On
|
Input
|
|
This is a very simple circuit.
|
0V=State 0, +5V=State 1
|
Acknowledge
|
10
|
Motor power is Off
|
Motor power is On
|
Busy
|
11
|
No Obstruction
|
Obstruction Rear
|
Paper Out
|
12
|
No Obstruction
|
Obstruction Left Front
|
Select
|
13
|
No Obstruction
|
Obstruction Right Front
|
Error
|
15
|
Distance Pulse Off
|
Distance Pulse On
|
Notes:
1. Main motor controls are not powered up until system in right state (so it does not matter if PC data pins change state at boot-up).
2. Start control software to sets parallel ports to the right state
3. Find someone to help write code ;-P