[Motion86]
Description
Use clockwise arc or counterclockwise to draw a complete circle. The direction is viewed from the positive direction of the Z-axis where the circular motion occurs.
This method uses a circular pattern to control the path of the arc, and because it is a complete circular motion, the target position will return to the starting position.
For more information about the various motion methods, please see the Motion Methods explanation page.
Syntax
machine.circleXY(cX, cY);
machine.circleXY(cX, cY, revDir);
machine.circleXY(cX, cY, revDir, feedrate);
Parameters
machine
: Machine object.cX
: The center X coordinate in center mode.cY
: the center Y coordinate of the circle in circle mode.revDir
: reversing direction, use true when counterclockwise, use false when clockwise, default is clockwise.feedrate
: Feedrate, the last recorded feedrate will be used when no parameter is passed.
Returns
bool:
- true: The machine exists and was created successfully.
- false: The machine does not exist or failed to be created.
Example
Set the basic parameters of the machine and round the machine in the XY plane.
#include "Motion86.h" // Generate machine objects, up to machine 0~2 three machines, each machine has three axes. Machine machine(0); // Stepper motor enable pin. int EnablePin = 4; void setup() { while (!Serial); pinMode(EnablePin, OUTPUT); // If necessary, the motion direction of the motion axis can be reversed. // In this example, the direction of x-axis and y-axis should be reversed. machine.config_ReverseDirection(AXIS_X); machine.config_ReverseDirection(AXIS_Y); // PPU (pulse per unit) is a virtual length unit, depending on different requirements. // In this example, the unit length of x-axis is set to 80 pulses, which corresponds to 1 mm in real application. machine.config_PPU(AXIS_X, 80.0); machine.config_PPU(AXIS_Y, 80.0); machine.config_PPU(AXIS_Z, 1600.0); // The machine must be started before control. machine.machineOn(); machine.setDefaultFeedrate(400); // Start the stepper motor. digitalWrite(EnablePin, LOW); } void loop() { // Move a circle clockwise with the center of the circle (0, 10, 0). machine.circleXY(0, 10, true); // Move a circle counterclockwise with the center of the circle (0, 10, 0). machine.circleXY(0, 10, false); // Wait until the planned movement is complete. while (machine.isMoving()); }
See also
Libraries Reference Home
The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.