Здравствуйте!
У меня есть несколько вопросов по двигателю 28BYJ-48 на 5V.
- По поводу команд двигателя в библиотеке <AccelStepper.h>. Обрабатывают ли переменные, вычисляемые программой? (В данном случае у меня переменная В, сможет ли он прочитать её и переместить шаговик туда, куда надо?) Возможно ли в моём случае движение в разные стороны без дополнительных команд? Если нужны другие команды, то какие?
- На многих сайтах, в т.ч. с библиотеками Ардуино, встречал формулировки “абсолютно указанное положение” (команда
mystepper.moveTo(long absolute)
) и “относительно указанное положение” (командаmystepper.move(long relative)
). Можете, пожалуйста, объяснить, что такое абсолютное и относительное положение? - Команду
mystepper.run()
следует вызывать повторно каждый раз, даже если она находится в цикле? - Обязательно ли прописывать ускорение и максимальную скорость, если мне в моём случае эти значения не принципиальны? Мне нужно, чтобы шаговик просто двигался.
- Нужно ли здесь задавать количество шагов (4078) для мотора? (#define steps 4078)
#include <AccelStepper.h>
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
AccelStepper mystepper(8, IN1, IN3, IN2, IN4);
int A=1000; // исходная позиция двигателя
int B; // конечная позиция двигателя
int C=200; // смещение двигателя
void setup()
{
mystepper.setMaxSpeed(300.0);
mystepper.setAcceleration(200.0);
mystepper.setSpeed(200);
mystepper.moveTo(1000);
}
void loop ()
{
B=A-C;
mystepper.move (B);
A=B; // после перемещения присваиваем значение текущего положения переменной А, отвечающей за исходное (считаем положение, в которое только что переместились, исходным, чтобы следующее перемещение совершать, уже отталкиваясь от него, а не от 1000).
}
Заранее спасибо!