farmbot开发入门教程-固件
说明:
通过串行线路执行类似 g 代码的命令来移动 FarmBot 并操作其外围设备。GitHub存储库。
固件在 Arduino 微控制器上运行,用 C++ 编写。固件通常通过 FarmBot OS 刷入 Arduino。
发送命令
\r\n使用命令代码和编号、任何参数(以空格分隔)以及 CR/NL( )将命令发送到 Arduino 。
例如,要将参数编号设置101为1,您需要发送F22 P101 V1\r\n,其中F22是写入参数命令,P101是参数参数,V1是值参数,\r\n是 CR/NL。
对于此示例,固件将响应(不包括注释):
R08 *F22 P101 V1* // the command received (echo)
R01 Q0 // command started
R21 P101 V1 Q0 // report parameter 101 value: 1
R02 Q0 // command finished successfully
响应Q末尾的指定命令队列编号。Q+ 可以将数字附加到发送的任何命令,并且响应将包含Q提供的相同数字。
可以发送的命令以G或开头F。从 Arduino 收到的响应和状态报告以 开头R。
一般命令响应 描述
R08 回声
R09 无效的
R01 已开始
R04 跑步
R02 圆满结束
R03 已完成但有错误
R07 移动重试空闲和状态响应 描述
R00 准备好
R87 已锁定
R88 配置未获批准(用于F22 P2 V1手动批准)
紧急停止
命令 描述
埃 紧急停止
R87 已锁定
F09 重置紧急停止(解锁)
移动
运动报告 X 是 是
R81:报告终点停止点 XA:终点停止位 1 (0/1)
XB:终点停止位 2 (0/1) YA:终点止动装置 1 (0/1)
YB:终点止动装置 2 (0/1) ZA:终点挡块 1 (0/1)
ZB:终点挡块 2 (0/1)
R82: 当前位置(mm) X 是 是
R84:编码器位置(mm) X 是 是
R85:编码器位置(边缘) X 是 是
暂停 R71 R72 R73
R05:轴状态 X0:怠速
X1:启动电机
X2:加速
X3:巡航
X4:减速
X5:停止电机
X6:爬行 Y0:怠速
Y1:启动电机
Y2:加速
Y3:巡航
Y4:减速
Y5:停止电机
Y6:爬行 Z0:怠速
Z1:启动电机
Z2:加速
Z3:巡航
Z4:减速
Z5:停止电机
Z6:爬行
搬去
G00:移动到指定位置 X 是 是
轴位置
单位: mm
默认值: 0 X 是 是
速度
单位:步数/秒
默认:最大速度
例子:
// Move to (0, 0, 0) at normal speed
G0
// Move to (100, 200, 300) at normal speed
G00 X100 Y200 Z300
// Move to (100, 200, 300) at specified axis speeds
G00 X100 Y200 Z300 A400 B500 Z600
命令 描述
G28 按顺序将每个轴移动到原点(零点):Z、Y、X
归巢
查找轴的零点。需要使用编码器或限位装置。有关更多信息,请参阅校准和归位。
找到家(零) X 是 是
命令 F11 F12 F13
响应:归位完成 R11 R12 R13
校准轴
测量轴的长度,然后找到该轴的零点。需要使用编码器或限位装置。有关更多信息,请参阅校准和归位。
校准轴 X 是 是
命令 F14 F15 F16
回复:R06 R06 X0:空闲
R06 X1:移动到主页
R06 X2:移动到结束 R06 Y0:空闲
R06 Y1:移动到主页
R06 Y2:移动到结束 R06 Z0:空闲
R06 Z1:移动到主页
R06 Z2:移动到结束
零轴
将轴设置为零。有关更多信息,请参阅校准和归位。
命令 X 是 是
F84 X1:设置为零
X0:不设置为零 Y1:设置为零
Y0:不设置为零 Z1:设置为零
Z0:不设置为零
引脚控制
命令 密码 价值 模式
读取引脚 F42 磷 M0:数字
M1:模拟
写入密码 F41 磷 V(0-1 数字,0-255 模拟) M0:数字
M1:模拟
设置引脚输入/输出模式 F43 磷 M0:输入
M1:输出
M2:输入上拉
设置伺服角度
(仅限引脚 4、5、6 和 11) F61 磷 垂直 (0-180)
响应(报告引脚值) R41 磷 V(0-1 数字,0-1023 模拟)
引脚分配
- 有关 Arduino 和 Farmduino 板引脚分配,请参阅src/pins.h。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号