外观
踩坑Robotics Stack Exchange2017-09-18
如何用 MATLAB 经 Arduino 发送 G132 驱动伺服
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Driving Rhino DC servo motor using Arduino through commands sending from MATLAB(Robotics Stack Exchange #12583)
状态:已解决
问题
手动在终端输入 G400、R821 可驱动电机,但希望将 MATLAB 计算出的角度自动转换为计数值并发送给电机,例如 26.4° 对应 132 counts,即发送 G132。
环境
嵌入式控制器 / 串口通信
解决办法
- 在 Arduino Mega 上用
Serial接收 MATLAB 数据,用Serial1连接电机驱动;在循环中用Serial.parseFloat()读取d1、d2、d3、d4。 - 单电机测试时将
d1拼成stringG1 = "G" + String(d1),再用Serial1.println(stringG1)发送给驱动。 - MATLAB 先创建并打开串口:
s = serial('COM9','BaudRate',9600,'Terminator','LF'),设置s.timeout = 1,执行fopen(s);失败时先delete(s)再fopen(s)。 - 先单独运行建连段,连接建立后反复运行
angle = [250,200,50,120]和fprintf(s,'%d\n',angle)发送值;最后用fclose(s)并 `delete(inst…
原问题作者:Naseeb Gill;采纳答案作者:Naseeb Gill。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。