使用COM端口打开外部设备
本文关键字:外部设备 COM 使用 | 更新日期: 2023-09-27 18:16:25
是否可以使用串行端口的控制信号开/关外部继电器?我知道使用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();
您可以使用System.Io.Ports.Serialport
通过串行端口发送信息,但坦率地说,我们应该如何知道需要什么信号来打开外部设备?
时间已经很长了,但是我记得,当端口打开和关闭时,一些控件会改变状态。如果你在其中一条线路上加一个晶体管,它可以通过打开和关闭端口来提供足够的电流来打开/关闭继电器。
只要打开/关闭继电器所需的电压和电流额定值不超过串行端口规格,它就应该工作,但这是您自己的危险。我将有一个驱动电路。
在https://electronics.stackexchange.com/questions上提问
我已经在Visual Basic 6中这样做了。我制作了一个表单,并添加了Microsoft comm控件(mscomm32.ocx)。基本上我所做的就是打开通讯端口,当我退出表单时退出它。当通信端口打开时,通信端口的引脚4 (Data Terminal Ready)有5v电源。与地面一起,我把它连接到继电器上。这个有一个5V的连接开关,可以切换另一个电源连接到250V的5A。因此,如果你愿意,你可以关闭所有设备。
我使用的继电器是欧姆龙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。所以我不能在登录时打开继电器。我得再找一遍。这意味着有数据传输,或者我在某个地方找到了一个USB转换器。在这里:http://sigma-shop.com/product.php?ProductID=7