/*
Example sketch to control a stepper motor with A4988 stepper motor driver,
AccelStepper library and Arduino: continuous rotation.
More info: https://www.makerguides.com
*/
// Include the AccelStepper library:
#include "AccelStepper.h"
// Define stepper motor connections and motor interface type.
// Motor interface type must be set to 1 when using a driver
#define dirPin 2
#define stepPin 3
#define motorInterfaceType 1
#define uppin 8
#define downpin 7
#define leduppin 9
#define leddownpin 6
// Create a new instance of the AccelStepper class:
AccelStepper stepper = AccelStepper(motorInterfaceType, stepPin, dirPin);
void setup() {
pinMode(uppin,INPUT_PULLUP);
pinMode(downpin,INPUT_PULLUP);
pinMode(leduppin, OUTPUT);
pinMode(leddownpin, OUTPUT);
// Set the maximum speed in steps per second:
stepper.setMaxSpeed(100);
}
void loop() {
static int16_t sp=5;
// Set the speed in steps per second:
stepper.setSpeed(sp);
// Step the motor with a constant speed as set by setSpeed():
stepper.runSpeed();
if(digitalRead(uppin) == LOW) {
stepper.setSpeed(30);
stepper.runSpeed();
}
if(digitalRead(downpin) == LOW) {
sp = 1;
}
if(digitalRead(downpin) == HIGH) {
sp = 5;
}
//LEDEK
if (digitalRead(uppin) == LOW) {
digitalWrite(leduppin, HIGH);
}
else {
digitalWrite(leduppin, LOW);
}
if (digitalRead(downpin) == LOW) {
digitalWrite(leddownpin, HIGH);
}
else {
digitalWrite(leddownpin, LOW);
}
}