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.