USB relay not working
10 次查看(过去 30 天)
显示 更早的评论
I am using this USB relay:
SMAKN LCUS-1 type USB relay module USB intelligent control switch USB switch
To power a dosing pump:
Gikfun 12V DC Dosing Pump Peristaltic Dosing Head with Connector For Arduino Aquarium Lab Analytic Diy AE1207
This is the python code that gets it working and also has this .exe installed (SerialSend.exe; https://batchloaf.wordpress.com/serialsend/):
subprocess.check_output("serialsend.exe /baudrate 9600 /hex \\xA0\\x01\\x01\\xA2", shell=True)
time.sleep(10)
subprocess.check_output("serialsend.exe /baudrate 9600 /hex \\xA0\\x01\\x00\\xA1", shell=True)
Any tips in converting this to Matlab? I’ve tried this but nothing happens:
relayopen='\\xA0\\x01\\x01\\xA2';
relayclose='\\xA0\\x01\\x00\\xA1';
Ports=serialportlist;
JuicePort=Ports(3);
s=serial(JuicePort);
fopen(s)
fprintf(s,relayopen)
fclose(s)
0 个评论
回答(1 个)
Walter Roberson
2022-8-27
relayopen = '\xA0\x01\x01\xA2';
relayclose = '\xA0\x01\x00\xA1';
Ports = serialportlist;
JuicePort = Ports(3);
s = serial(JuicePort, 'BaudRate', 9600);
fopen(s)
fprintf(s,relayopen)
fclose(s)
Note that serial() is going to go away, and you should change to serialport()
3 个评论
Walter Roberson
2022-8-28
relayopen = 0xA00101A2;
relayclose = 0xA00100A1;
Ports = serialportlist;
JuicePort = Ports(3);
s = serial(JuicePort, 'BaudRate', 9600, 'ByteOrder', 'bigendian');
fopen(s);
fwrite(s, relayopen);
sleep(5);
fwrite(s, relayclose);
fclose(s)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 String Parsing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!