#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());
}
|