#include "Motion86.h"
// 产生机器物件,最多可使用 machine 0~2 三台机器,每台机器三轴。
Machine machine(0);
// 步进马达 enable pin。
int EnablePin = 4;
void setup() {
while (!Serial);
pinMode(EnablePin, OUTPUT);
// 若有需要,可以反转运动轴的运动方向。
machine.config_ReverseDirection(AXIS_X);
machine.config_ReverseDirection(AXIS_Y);
// PPU (pulse per unit) 是一虚拟长度单位,依照不同需求而定。
// 此例机器将 x 轴的单位长度设定为 80 pulses,对应到实际应用为 1 mm。
machine.config_PPU(AXIS_X, 80.0);
machine.config_PPU(AXIS_Y, 80.0);
machine.config_PPU(AXIS_Z, 1600.0);
// 控制之前,必须启动机器。
machine.machineOn();
// 设定预设的进给速率。
machine.setDefaultFeedrate(600);
// 启动步进马达。
digitalWrite(EnablePin, LOW);
// 以 home 点为基准,采用绝对座标值规划运动。
// 若无另外设定 home 点,则 home 点为开机当下之位置。
machine.setAbsolute();
// 使用绝对坐标值,移动到中心位置。
machine.line(170,100,10,400);
machine.line(170,100,10,800);
machine.line(170,100,0,400);
}
void loop() {
// 移动到该绝对位置,此处无设定进给速率代表采用预设值。
machine.line(170,100,0);
machine.line(180,100,0);
machine.line(180,110,0);
machine.line(170,110,0);
// 等待直到已规划之运动完成。
while (machine.isMoving());
}
|