初始化提交
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
// ConstantSpeed.pde
|
||||
// -*- mode: C++ -*-
|
||||
//
|
||||
// Shows how to run AccelStepper in the simplest,
|
||||
// fixed speed mode with no accelerations
|
||||
// Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library)
|
||||
// And AccelStepper with AFMotor support (https://github.com/adafruit/AccelStepper)
|
||||
// Public domain!
|
||||
|
||||
#include <AccelStepper.h>
|
||||
#include <AFMotor.h>
|
||||
|
||||
AF_Stepper motor1(200, 1);
|
||||
|
||||
|
||||
// you can change these to DOUBLE or INTERLEAVE or MICROSTEP!
|
||||
void forwardstep() {
|
||||
motor1.onestep(FORWARD, SINGLE);
|
||||
}
|
||||
void backwardstep() {
|
||||
motor1.onestep(BACKWARD, SINGLE);
|
||||
}
|
||||
|
||||
AccelStepper stepper(forwardstep, backwardstep); // use functions to step
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600); // set up Serial library at 9600 bps
|
||||
Serial.println("Stepper test!");
|
||||
|
||||
stepper.setSpeed(50);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
stepper.runSpeed();
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
// MultiStepper
|
||||
// -*- mode: C++ -*-
|
||||
//
|
||||
// Control both Stepper motors at the same time with different speeds
|
||||
// and accelerations.
|
||||
// Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library)
|
||||
// And AccelStepper with AFMotor support (https://github.com/adafruit/AccelStepper)
|
||||
// Public domain!
|
||||
|
||||
#include <AccelStepper.h>
|
||||
#include <AFMotor.h>
|
||||
|
||||
// two stepper motors one on each port
|
||||
AF_Stepper motor1(200, 1);
|
||||
AF_Stepper motor2(200, 2);
|
||||
|
||||
// you can change these to DOUBLE or INTERLEAVE or MICROSTEP!
|
||||
// wrappers for the first motor!
|
||||
void forwardstep1() {
|
||||
motor1.onestep(FORWARD, SINGLE);
|
||||
}
|
||||
void backwardstep1() {
|
||||
motor1.onestep(BACKWARD, SINGLE);
|
||||
}
|
||||
// wrappers for the second motor!
|
||||
void forwardstep2() {
|
||||
motor2.onestep(FORWARD, SINGLE);
|
||||
}
|
||||
void backwardstep2() {
|
||||
motor2.onestep(BACKWARD, SINGLE);
|
||||
}
|
||||
|
||||
// Motor shield has two motor ports, now we'll wrap them in an AccelStepper object
|
||||
AccelStepper stepper1(forwardstep1, backwardstep1);
|
||||
AccelStepper stepper2(forwardstep2, backwardstep2);
|
||||
|
||||
void setup()
|
||||
{
|
||||
stepper1.setMaxSpeed(200.0);
|
||||
stepper1.setAcceleration(100.0);
|
||||
stepper1.moveTo(24);
|
||||
|
||||
stepper2.setMaxSpeed(300.0);
|
||||
stepper2.setAcceleration(100.0);
|
||||
stepper2.moveTo(1000000);
|
||||
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// Change direction at the limits
|
||||
if (stepper1.distanceToGo() == 0)
|
||||
stepper1.moveTo(-stepper1.currentPosition());
|
||||
stepper1.run();
|
||||
stepper2.run();
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
// Adafruit Motor shield library
|
||||
// copyright Adafruit Industries LLC, 2009
|
||||
// this code is public domain, enjoy!
|
||||
|
||||
#include <AFMotor.h>
|
||||
#include <Servo.h>
|
||||
|
||||
// DC motor on M2
|
||||
AF_DCMotor motor(2);
|
||||
// DC hobby servo
|
||||
Servo servo1;
|
||||
// Stepper motor on M3+M4 48 steps per revolution
|
||||
AF_Stepper stepper(48, 2);
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600); // set up Serial library at 9600 bps
|
||||
Serial.println("Motor party!");
|
||||
|
||||
// turn on servo
|
||||
servo1.attach(9);
|
||||
|
||||
// turn on motor #2
|
||||
motor.setSpeed(200);
|
||||
motor.run(RELEASE);
|
||||
}
|
||||
|
||||
int i;
|
||||
|
||||
// Test the DC motor, stepper and servo ALL AT ONCE!
|
||||
void loop() {
|
||||
motor.run(FORWARD);
|
||||
for (i=0; i<255; i++) {
|
||||
servo1.write(i);
|
||||
motor.setSpeed(i);
|
||||
stepper.step(1, FORWARD, INTERLEAVE);
|
||||
delay(3);
|
||||
}
|
||||
|
||||
for (i=255; i!=0; i--) {
|
||||
servo1.write(i-255);
|
||||
motor.setSpeed(i);
|
||||
stepper.step(1, BACKWARD, INTERLEAVE);
|
||||
delay(3);
|
||||
}
|
||||
|
||||
motor.run(BACKWARD);
|
||||
for (i=0; i<255; i++) {
|
||||
servo1.write(i);
|
||||
motor.setSpeed(i);
|
||||
delay(3);
|
||||
stepper.step(1, FORWARD, DOUBLE);
|
||||
}
|
||||
|
||||
for (i=255; i!=0; i--) {
|
||||
servo1.write(i-255);
|
||||
motor.setSpeed(i);
|
||||
stepper.step(1, BACKWARD, DOUBLE);
|
||||
delay(3);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
// Adafruit Motor shield library
|
||||
// copyright Adafruit Industries LLC, 2009
|
||||
// this code is public domain, enjoy!
|
||||
|
||||
#include <AFMotor.h>
|
||||
|
||||
AF_DCMotor motor(4);
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600); // set up Serial library at 9600 bps
|
||||
Serial.println("Motor test!");
|
||||
|
||||
// turn on motor
|
||||
motor.setSpeed(200);
|
||||
|
||||
motor.run(RELEASE);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
uint8_t i;
|
||||
|
||||
Serial.print("tick");
|
||||
|
||||
motor.run(FORWARD);
|
||||
for (i=0; i<255; i++) {
|
||||
motor.setSpeed(i);
|
||||
delay(10);
|
||||
}
|
||||
|
||||
for (i=255; i!=0; i--) {
|
||||
motor.setSpeed(i);
|
||||
delay(10);
|
||||
}
|
||||
|
||||
Serial.print("tock");
|
||||
|
||||
motor.run(BACKWARD);
|
||||
for (i=0; i<255; i++) {
|
||||
motor.setSpeed(i);
|
||||
delay(10);
|
||||
}
|
||||
|
||||
for (i=255; i!=0; i--) {
|
||||
motor.setSpeed(i);
|
||||
delay(10);
|
||||
}
|
||||
|
||||
|
||||
Serial.print("tech");
|
||||
motor.run(RELEASE);
|
||||
delay(1000);
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
// Adafruit Motor shield library
|
||||
// copyright Adafruit Industries LLC, 2009
|
||||
// this code is public domain, enjoy!
|
||||
|
||||
#include <AFMotor.h>
|
||||
|
||||
// Connect a stepper motor with 48 steps per revolution (7.5 degree)
|
||||
// to motor port #2 (M3 and M4)
|
||||
AF_Stepper motor(48, 2);
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600); // set up Serial library at 9600 bps
|
||||
Serial.println("Stepper test!");
|
||||
|
||||
motor.setSpeed(10); // 10 rpm
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Serial.println("Single coil steps");
|
||||
motor.step(100, FORWARD, SINGLE);
|
||||
motor.step(100, BACKWARD, SINGLE);
|
||||
|
||||
Serial.println("Double coil steps");
|
||||
motor.step(100, FORWARD, DOUBLE);
|
||||
motor.step(100, BACKWARD, DOUBLE);
|
||||
|
||||
Serial.println("Interleave coil steps");
|
||||
motor.step(100, FORWARD, INTERLEAVE);
|
||||
motor.step(100, BACKWARD, INTERLEAVE);
|
||||
|
||||
Serial.println("Micrsostep steps");
|
||||
motor.step(100, FORWARD, MICROSTEP);
|
||||
motor.step(100, BACKWARD, MICROSTEP);
|
||||
}
|
||||
Reference in New Issue
Block a user