使用COM端口在外部设备上切换

时间:2011-11-30 10:41:46

标签: c# serial-port

是否可以使用串口控制信号打开/关闭外部继电器? 我知道使用UART是可能的。但在这里,我需要在不使用微控制器的情况下这样做。

更好的是有人可以在C#中提供示例代码

感谢。

//Here is my code
serialPort1.BaudRate = 9600;
serialPort1.PortName = "COM3";

serialPort1.Open();
serialPort1.DtrEnable = true; //High (On)

Thread.Sleep(1000); //Delay a Second
serialPort1.DtrEnable = false; //Low (Off)
serialPort1.Close();

4 个答案:

答案 0 :(得分:1)

您可以使用System.Io.Ports.Serialport通过串口发送信息,但坦率地说我们应该知道打开外部设备需要什么信号?

答案 1 :(得分:0)

只要打开/关闭继电器所需的电压和电流额定值不超过串行端口规格,它应该可以工作,但这是你自己的危险。我会有一个驱动电路。

https://electronics.stackexchange.com/questions

提出问题

答案 2 :(得分:0)

已经很长时间了,但我记得,当端口打开和关闭时,一些控件会改变状态。如果在其中一条线路上添加一个晶体管,它可以提供足够的电流,通过打开和关闭端口来打开/关闭继电器。

答案 3 :(得分:0)

我在Visual Basic 6中完成了这个。我制作了一个表单并添加了Microsoft comm控件(mscomm32.ocx)。基本上我所做的是将通讯端口打开并在退出表单时退出它。当通信端口打开时,通信端口的引脚4(数据终端就绪)有5v电源。与地面一起,我将它连接到继电器。这有一个5V连接,可以切换另一个高达250V 5A的电源连接。因此,如果您愿意,可以关闭所有设备。

我使用的继电器是Omron G5NB-1A-E PCB继电器。 1个小站点上的2个引脚为5V。另一方面是用于切换外部设备

这是我的代码

Private Sub Form_Load()

    MSComm1.PortOpen = True 'Not MSComm1.PortOpen

    If Err Then MsgBox Error$, 48

End Sub


Private Sub Form_Unload(Cancel As Integer)

    MSComm1.PortOpen = 0  '(=False)

    End

End Sub

更新:5月25日。 我注意到,当你的电脑启动时,你正在登录继电器开关几次。 在我的情况下,我想用继电器重新启动另一台PC。 我想要这个横向。另一台PC必须能够重启这台PC。所以登录时我无法启用继电器。 我必须进一步搜索。 Tha意味着数据传输或i.ve在某处找到了USB切换器。 就在这里:http://sigma-shop.com/product.php?ProductID=7