gcode()

描述

輸入 G-Code 控制 Machine。
Motion86 支援的 G-Code 如下:

請參照 G-Code 參考表

G-Code 說明
G1 直線運動
G2 順時針圓弧運動
G3 逆時針圓弧運動
G4 暫停命令
G17 選擇 XY 平面作圓弧運動
G18 選擇 XZ 平面作圓弧運動
G19 選擇 YZ 平面作圓弧運動
G90 絕對位置模式
G91 相對位置模式
G90.1 弧線圓心絕對位置模式
G91.1 弧線圓心相對位置模式
G92 坐標系偏移

語法


machine.gcode(cmd);

參數

machine:為 Machine物件。

cmd:欲發送的 G-Code 字串。

回傳

bool:

true: 機器存在且創建成功。

false: 機器不存在或創建失敗。

範例

 
#include "Motion86.h"

// 產生機器物件,最多可使用 machine 0~2 三台機器,每台機器三軸。 
Machine machine(0);

// 步進馬達 enable pin。
int EnablePin = 4;

void setup() {
  while (!Serial);
  pinMode(EnablePin, OUTPUT);

  // 若有需要,可以反轉運動軸的運動方向。
  // 在此範例中,需要反轉 x 軸和 y 軸的方向。
  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();

  // 啟動步進馬達。
  digitalWrite(EnablePin, LOW);
}

void loop() {
  // 向左移到 (-10, 0)。
  machine.gcode("G1 X-10 Y0 F400");

  // 以半徑 10 順時針移動 90 度到 (0, 10)。
  machine.gcode("G2 X0 Y10 R10 F400");

  // 向下移到 (0, -10)。
  machine.gcode("G1 X0 Y-10 F400");

  // 以半徑 10 逆時針移動 90 度到 (10, 0)。
  machine.gcode("G3 X10 Y0 R10 F400");

  // 向左移到 (0, 0)。
  machine.gcode("G1 X0 Y0 F400");

  // 等待直到已規劃之運動完成。
  while (machine.isMoving());
}

函式庫參考主頁面

The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.