41 lines
1.0 KiB
Plaintext
41 lines
1.0 KiB
Plaintext
|
// Quickstop.pde
|
||
|
// -*- mode: C++ -*-
|
||
|
//
|
||
|
// Check stop handling.
|
||
|
// Calls stop() while the stepper is travelling at full speed, causing
|
||
|
// the stepper to stop as quickly as possible, within the constraints of the
|
||
|
// current acceleration.
|
||
|
//
|
||
|
// Copyright (C) 2012 Mike McCauley
|
||
|
// $Id: $
|
||
|
|
||
|
#include <AccelStepper.h>
|
||
|
|
||
|
// Define a stepper and the pins it will use
|
||
|
AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5
|
||
|
|
||
|
void setup()
|
||
|
{
|
||
|
stepper.setMaxSpeed(150);
|
||
|
stepper.setAcceleration(100);
|
||
|
}
|
||
|
|
||
|
void loop()
|
||
|
{
|
||
|
stepper.moveTo(500);
|
||
|
while (stepper.currentPosition() != 300) // Full speed up to 300
|
||
|
stepper.run();
|
||
|
stepper.stop(); // Stop as fast as possible: sets new target
|
||
|
stepper.runToPosition();
|
||
|
// Now stopped after quickstop
|
||
|
|
||
|
// Now go backwards
|
||
|
stepper.moveTo(-500);
|
||
|
while (stepper.currentPosition() != 0) // Full speed basck to 0
|
||
|
stepper.run();
|
||
|
stepper.stop(); // Stop as fast as possible: sets new target
|
||
|
stepper.runToPosition();
|
||
|
// Now stopped after quickstop
|
||
|
|
||
|
}
|