Joy Yokley - 将文档从 Linuxdoc 转换为 DocBook v4.1 (SGML)。
2003-02-08
修订历史 | ||
---|---|---|
修订版本 0.008 | 2003-02-08 | 修订者: Goldencat |
修订版本 0.007 | 2002-02-12 | 修订者: RL |
修订版本 0.006 | 2001-06-27 | 修订者: JEY |
修订版本 0.005 | 2001-06-13 | 修订者: RL |
修订版本 0.004 | 2001-06-12 | 修订者: JEY |
很多人问我,“是否可以使用家用电脑控制一些电器设备[例如灯、收音机、电视等]?” 答案是肯定的。这个过程非常简单,任何人都可以做到。
在阅读了 Coffee Machine Mini-HOWTO 后,我得到了如何控制我的家用电器的想法。我对 Coffee Machine Mini-HOWTO 中讨论的电路进行了一些修改,并编写了一个简单的程序。这个电路可以控制许多小型电器设备。^_^ 你可以使用 crontab 来设置你的灯自动打开或打开你的空调。我用它来控制我的 VCR 和 VCD(我仍然需要对 VCR/VCD 进行一些修改)。通过编写一个简单的程序,你可以通过网络控制一切。你可以使用带有 SSH 的 telnet 和你的电话拨号来控制你电路上的所有电器。
这个电路非常简单。即使你对电路一无所知,你也可以搭建这个电路。
任何运行 Linux 并具有可用并行端口的计算机即可。:) 我正在使用一台配备 4MB RAM 和 40MB 硬盘的 386DX。 你将需要 gcc 来编译程序。 如果你想使用 telnet 或 SSH,你还需要 telnetd 或 sshd。 你可以使用 ioperm 和 outb 编写你自己的程序。 如果你想使用我的程序,你将需要 g++。
点击以下链接下载我的程序。 你将需要 g++ 来编译它。 edc.sourceforge.net/paralle.tar.gz。
并行端口的数据线可以提供 0 到 5 伏之间的电压。因此,我们可以使用这条线来控制继电器,并让继电器控制电器设备。
使用引脚 2 到 9 获取 +5V 电压
使用引脚 18 到 25 作为接地
____________________________________________________________ / \ \ 13 12 11 10 9 8 7 6 5 4 3 2 1 / \ / \ 25 24 23 22 21 20 19 18 17 16 15 14 / \______________________________________________________/ | Vcc for Relay | | / -------+--------| |---------| P data 4.7K B / c | 1N4002 |_| |------- -----------/\/\/\/\---------+-----| NPN _____ | relay |home device | \ e /_\ |-| |------- LED X \ +--------| |---------| P Ground | | | ----------------------------+-------+--------+ Relay Ground | ---------------------------------------------+ |
以下是上面图表的图例
P data parallel port data line(pin 2 to pin 9, use any) P Ground parallel port ground (pin 18 to pin 25, use any) Vcc depends on the type of your relay. I'm using 12VDC Relay Ground the ground for 12VDC 4.7k 4.7K resistor NPN C2235 NPN transistor 1N4002 1N4002 diode LED light emitting diode relay a coil relay |
来自并行端口的 +5 伏电压将开启继电器。一旦继电器开启,连接到该继电器的设备将开启。当并行端口的数据线回到 0 时,它将关闭继电器,设备也将关闭。
下面的图表用于解释继电器的工作原理。
继电器本身只是一个开关,如下图所示
relay power off relay power on |3 |3 | | | | o o \ | o \ o | | | | | | |4 |4 |
下图演示了 4 针继电器的设置。
____________________________ | | 1 | | 3 -----|---------s o----------|------- | coil s \switch | 2 | s \ | 4 -----|---------s o- \-------|------- | | | | | | |__________________________| |
在上图中,引脚 3 和引脚 4 默认断开。当你在引脚 1 和引脚 2 之间发送 +12V 电压时,它将打开一个开关,引脚 3 和 4 现在连接。
以下是一个 5 针继电器
_______________________________ | | 1 | | 5 ---------|---+ o------------|---------------- | |-----------/---- s | | / s | 3 | / s | ---------|-----------o/ coil s | 4 | o---s-------|---------------- | | | | | | 2 | | | ----------|---------------------+ | |_____________________________| |
在上面的图中,引脚 3 默认连接到引脚 5。通过在引脚 1 和引脚 2 之间发送 +12V 电压,你将打开一个开关。引脚 1 和引脚 2 将断开,引脚 5 和引脚 4 将连接。
relay power off relay power on |5 |5 | | | | o o \ | o \ o o | o | | | | | | | | | | 4| |3 4| |3 |
有些继电器可能有超过 5 个引脚。更多的引脚只意味着有更多的开关。
我编写了一个简单的程序,可以控制 8 个继电器。该程序可在以下位置获得,并且需要 g++ 才能使用此程序。 http://edc.sourceforge.net/paralle.tar.gz
一个完整的电路可以控制多达八个继电器,这意味着一个完整的电路可以控制八个不同的设备。 你将需要一个 DB25 连接器。 使用并行开关电缆,将此继电器板连接到你的计算机。 我将继电器板放在一个盒子中,并使用并行开关电缆将其连接到我的 Linux 机器
Panel: LED, Switch Back: DB25 connector |
下面是如何将继电器板与你的电器设备连接的示例
CONNECTED RELAY BOARD +-----+ power outlet 1 _______3 | __|________ || || --| |---------+ | | | || || 2 |relay|4 | (o) (o) | _||___||__ --|_____|----+ |------|---| | | | | | | | +------------+ | | plug ground | | hot | | | | | | __|_|__ | | | | | | |________| | | | | plug | | | | |_|_|_| (i know it doesn't look like a plug, but it's a plug :-) ) || || || || |
要连接系统,只需将你的家用电器设备连接到电源插座即可。 就这样! 你无需对电器设备进行任何更改。 你可以将任何类型的设备连接到该电源插座。 将此电源插座插入任何墙壁插座。
要查看成品外观的照片,请访问以下站点
以下 URL 显示了一个完整的电子电路(控制 8 个设备): http://edc.sourceforge.net/01.png