circleXZ()

説明

時計回りまたは反時計回りの円弧を使用して、完全な円を描きます。方向は、円運動が発生するY軸の正方向からとなります。
この方法では、円の中心モードを使用して円弧のパスを制御します。完全な円運動であるため、目標位置は開始位置に戻ります。
さまざまな動作方法の詳細については、動作方法の説明ページを参照してください。

構文

machine.circleXZ(cX, cZ); machine.circleXZ(cX, cZ, revDir); machine.circleXZ(cX, cZ, revDir, feedrate);

パラメータ

machine: Machine オブジェクト。

cX: 円中心モードにおける円の中心のX座標。

cZ: 円中心モードにおける円の中心のZ座標。

revDir: 方向を反転します。反時計回りの場合は true、時計回りの場合は false を使用します。デフォルトは時計回りです。

feedrate: 送り速度。パラメータが渡されない場合、最後に記録された送り速度が使用されます。

戻り値

bool:

true: マシンが存在し、正常に作成されました。
false: マシンが存在しないか、作成に失敗しました。

マシンの基本パラメータを設定し、マシンがXZ平面上に円を描画するようにします。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

#include "Motion86.h"

 

// マシンオブジェクトを生成します。マシン0~2まで、それぞれ3軸のマシンを最大3台使用できます。

Machine machine(0);

 

// ステッピングモーターの有効ピン。

int EnablePin = 4;

 

void setup() {

  while (!Serial);

  pinMode(EnablePin, OUTPUT);

 

  // 必要に応じて、モーション軸の方向を反転できます。

  // この例では、X軸とY軸の方向を反転する必要があります。

  machine.config_ReverseDirection(AXIS_X);

  machine.config_ReverseDirection(AXIS_Y);

 

  // PPU(パルス/ユニット)は、さまざまなニーズに応じた仮想的な長さの単位です。

  // この例では、X軸の単位長さは80パルスに設定されており、これは実際のアプリケーションでは1mmに相当します。

  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(400);

 

  // ステッピングモーターを起動します。

  digitalWrite(EnablePin, LOW);

 

 

void loop() {

  // (0, 0, 10) を中心として時計回りに円を描きます。

  machine.circleXZ(0, 10, true);

 

  // 中心 (0, 0, 10) を持つ円を反時計回りに移動します。

  machine.circleXZ(0, 10, false);

 

  // 計画された動作が完了するまで待機します。

  while (machine.isMoving());

code>

参照

circleXY()
circleYZ()


ライブラリ参考

86Duinoの参考資料のテキストはクリエイティブ・コモンズの表示に従っています-Creative Commons Attribution-ShareAlike 3.0 License。参考資料内のコード例はパブリック ドメインにリリースされています。