//#define GS_NO_ACCEL
#include "GyverStepper2.h"
GStepper2< STEPPER2WIRE> stepper(200, 5, 4, 6);
void motor (uint32_t step, uint16_t speed, int8_t dir, uint16_t acs = 500) {
//задаем шаги, скорость в с-1, направление плюс/минус 1, ускорение, по умолчанию 500
stepper.setTarget(dir * step); // устанвливаем целевое количество шагов
stepper.setMaxSpeed(speed); // скорость движения к цели
stepper.setAcceleration(acs);
}
void setup() {
Serial.begin(9600);
Serial.setTimeout(50);
// stepper.disable();
stepper.setMaxSpeed(3200); // скорость движения к цели
stepper.setAcceleration(500); // ускорение
// stepper.setTarget(3200); // цель
}
void loop() {
if (Serial.available()>0) {
char data[30];
int amount = Serial.readBytesUntil(';',data,30);
data[amount]=NULL;
int val = atoi(data);
Serial.println(val);
motor (val,1500,1,500);
}
stepper.tick(); // мотор асинхронно крутится тут
}