#include <Stepper.h> //подключение библиотеки
const int stepsPerRevolution = 200; //количество шагов на оборот
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); //управление выводами 8 - 11
int stepCount = 0; //количество шагов, которое сделал двигатель
const int StartStopButton = 2;
const int DirectionButton = 3;
bool work = false;
int step = 100;
void setup()
{
myStepper.setSpeed(50);
pinMode(StartStopButton, INPUT_PULLUP); // подтягивающий резистор на входе прерывания
pinMode(DirectionButton, INPUT_PULLUP);
attachInterrupt(0, StartStop, FALLING); //разрешение внешнего прерывания (вывод 2 Arduino UNO)
attachInterrupt(1, DirectionSwitch, FALLING);
}
void loop()
{
if(work == true){
myStepper.step(stepsPerRevolution / step);
}
}
void StartStop(){
work = !work;
}
void DirectionSwitch(){
step = step*(-1);
}