I am no longer maintaining the electronics sections of this site. For an explanation, see the electronics contact page. If you need help, you can ask your question in The Forum.

Computerize Your Room/House


So you've read about my Computerized Room or have seen those nifty home automation products advertised in the back of electronics magazines? Or perhaps someone you know has done something similar. At any rate, you have decided to try it yourself. The first thing I will say, however is that it is not cheap.

You will first need a computer, but since your reading this, I assume that you already have that taken care of. Second, you will have to buy about 20 IC's and a very expensive ISA experimenters prototyping board. These boards cost anywhere from $16 to $45, and can be purchased from your local electronics store or from Jameco Electronics (See Where To Get Parts). They have a fairly wide selection. Buy the 8 bit version, the 16 bit varsion is not needed for this project.

Since this is a major project, it will be presented in sections, starting with the Simple Parallel Port Interface. The 8 Bit Output Card will come next, followed by the 8 Bit Input Card. All three interfaces came from the book "The Robot Builders Bonanza", by Gordan McComb.

I must also stress that this is a major project and should not be attempted unlesss you have a good understanding of electronics. If done wrong, you run the risk of not only destroying the circuit, by also destroying an expensive computer as well. Double, no, triple check your work to make absolutely sure that is free from errors before installing it in any computer.

DISCLAIMER: I am not responsible for any damages caused due to a lack of knowledge or mistakes in the circuit when building and using these projects.

Now then, with that out of the way, on to the Parallel Port Interface.

Parallel Port Interface

Description

This is about the most basic interface you will see. It uses only 3 74376's (74LS367). This interface provides 8 outputs (plus 3 address lines) and 5 inputs. This is usually enough for one room, providing you make use of some demultiplexers and the address lines. You could have up to 128 output lines using the address lines, a 74LS138 and 8 74LS154's.

Begin construction by mounting the IC sockets on the board. I used a experimenters universal solder board due to the large number of wires that must cross. If a PC board were used, you would need either a multi-layer board or many, many jumpers.

Now, solder wires along the top and bottom of the board, making all the connections between the IC sockets. Do not install the IC's yet. Assemble the cable using 26 conductor ribbon cable and a 25 pin crimp connector. You will have one conductor left over so just "peel" it off. Connect the cable to the board and wire it into the circuit. I used an 18 pin socket to make connections to the outputs and inputs on the interface easy. You could do the same if you like, or use a terminal strip.

Schematic Of The Parallel Port Interface


This is the schematic of the parallel port interface

Parallel Port Pin-Out


This is the pin-out of a standard parallel port

Parts:


Part
Total Qty.
Description
Substitutions
U1,U2,U3374LS367. Buffer 7437, 74HC37
MISC1Sockets, 18 Pin Socket (For Output), Board, Ribbon Cable, 25 Pin Connector

You operate the interface by sending bit patterns to the printer port. BASIC, GWBASIC or QBasic are the languages of choice since most computers already have them installed (in your DOS directory). If you wish, you can download control software from my files section.

The command you use is the OUT command. The decimal address of most printer ports (assuming LPT1) is 888. Use this with the OUT like this:

OUT 888,X

X is a number from 0 to 255 that represents the binary bit pattern.

Although designed primarily to get data out of the computer, the printer port has 5 input lines (on some computers it could be less). You access these lines with the INP function. This time, however, the decimal address is 889. The syntax of the INP command is:

Y=INP(X)

Y is the variable used to store the decimal value that is returned. X is the port number, which in this case is 889.

You may also use the OUT command to send data to the address lines. Just use address 890 instead of 888. Remember that there are only 4 address lines.

8 Bit Output Card

OK. With the basic parallel port interface done, you can build the more advanced 8 Bit Output Card.

Description

This is much more complicated then the parallel port interface, mostly because of the address lines used by the computer to send data to different devices plugged into it's bus.

This interface is constructed on an IBM 8 bit prototyping board. These are available from Jameco Electronics (see Where To Get Parts).Connections are made with point to point soldering or wire wrap. Note that if you use the wire wrap method the board will require about 1/2 inch clearence on the connection side.

Use sockets for all IC's. Begin construction by first mounting the sockets. Depending on which board you buy, you might have lots or very little space. Connect the IC's together using either point to point or wire wrap. I used a 36 pin connector to facilitate connection to the back of the computer, but you can use any other method. Whatever the method, install that connector and wire it into the circuit now. You may now wire the connections to the bus (the gold contacts on the bottom of the card). If you need a reference as to what the bus connections are, check out The IBM Bus Pinout (I apologize for the poor image quality). It is a good idea to bypass power supply pins with .1uf capacitors to avoid problems with interference, power supply spikes, etc. Triple check your work before installing the circuit in any computer. The simple circuit to connect the interface to relay's is showen after the schematic.

Schematic


This is the schematic of the 8 bit output card

Parts:


Part
Total Qty.
Description
Substitutions
U1174LS04 Inverter7404, 74HC04
U2174LS00 NAND Gate7400, 74HC00
U3174LS32 OR Gate7432, 74HC32
U4174LS374 Buffer74374, 74HC374
U5174LS30 8 Input NAND Gate7430, 74HC30
MISC18 Bit IBM Prototyping Board, Connector (For Output/Input), Sockets, Capacitors For IC Bypass, Wire.

IC Power Pins

The power connections were left off the schematic for clarity. Here they are:
Chip
Vcc
GND
7400147
7404147
7430147
7432147
743742010

Relay Driver Circuit


This is the schematic of the relay driver circuit

8 Bit Input Card

This input circuit can be built on the same board as the output circuit, and share the same bus connections. This circuit is necessary if you wish to use almost any type of remote control circuit, which will most likely require more then 5 inputs as provided by the printer port.

Description

Since this is quite similar to the output circuit, I won't go into the details again. Only the parts list and schematic will be showen, as well as the "power pins" chart.

Schematic Of The 8 Bit Input Card

This is the schematic of the input circuit

CAUTION: Be sure that the signals being sent to the input card do not exceed 5 volts or fall below ground!

Parts:


Part
Total Qty.
Description
Substitutions
U1174LS04 Inverter7404, 74HC04
U2174LS00 NAND Gate7400, 74HC00
U3174LS32 OR Gate7432, 74HC32
U4174LS244 Buffer74224, 74HC224
U5174LS30 8 Input NAND Gate7430, 74HC30
MISC18 Bit IBM Prototyping Board, Connector (For Output/Input), Sockets, Capacitors For IC Bypass, Wire.

The power connections were left of the schematic for clarity. Here they are:
Chip
Vcc
GND
74LS00147
74LS04147
74LS30147
74LS32147
74LS2242010

Controlling The Input And Output Cards

Controlling the cards is straight forward, using the basic INP and OUT statements as explained in the Simple Parallel Port Interface. The only difference is the address. The address for the input card is decimal 701 while the output card is decimal 703.

Choosing The Right Computer

This is the last section of this document. Choosing the right computer is not that big of a concern. Anything from an old 8086 to IBM's new Deep Blue supercomputer will work. Just make sure that you triple check your work before installing it into any computer.

Well, thats it. For more information on programming the parallel port, see Programming The Parallel Port In QBasic or Programming The Parallel Port In Visual Basic.

Back To Circuits Page | Mail Me | Search