Reaching the real world
tom at dtsam.com
Tue Jan 4 20:19:39 CET 2005
"Fuzzyman" <fuzzyman at gmail.com> wrote in message
news:1104850540.610295.152240 at f14g2000cwb.googlegroups.com...
> I have a friend who would like to move and program lights and other
> electric/electro-mechanical devices by computer. I would like to help -
> and needless to say Python would be an ideal language for the
> 'programmers interface'.
> What I'd like is an electronic interface that connects to several
> relays and a python extension module to switch on and off the relays.
> I've had a quick google and can't see anything too similar to what I
> want. pyro (python robotics) seems to require expensive (relatively)
> robotic equipment.
Loosely, what you are looking for is Data Acquisition (DAQ) , Digital I/O,
and control that you can do from your pc. Those are the keywords you want to
Look at www.ni.com and poke around. They will have some introductory
Look at www.circuitcellar.com . It may look a bit overwhelming at first but
look at the ads for pc equipment. These should also lead you to some
You are looking for simple digital output. You can use an existing serial or
parallel port with a bit of external hardware from radio shack to control
relays on the cheap.
You can purchase a Digital I/O adaptor that will plug into your computer bus
and give you outputs to control your relays. You will also get
instructions and some software to interface (talk!) to the adaptor.
Typically you will read and write to the I/O ports on your computer to flip
OR perhaps the easiest and most effective
These would be smart devices that talk to your Python (or whatever!)
software via the serial port. You would throw simple string commands (eg
"ChannelB ON") at the serial port and the microprocessor based controller
will turn on the appropriate relay.
Your challenge from Python will be to control the computers I/O ports or to
communicate with one of the serial ports. I'm sure someone else will point
to libraries that will help you with this.
Much *much* more but you have to start somewhere :-)
More information about the Python-list