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
|
|
|
|
}
|