Работа двух шаговых двигателей
- Войдите на сайт для отправки комментариев
Добрый день, есть два шаговых дв. , светодиод, ардуинка. И какая цена за рабочий скетч?
Задачка такая:
ШД stepper1 поворачивается на определённое кол.шагов, останавливается, мигнёт светодиод на 1с. ,пауза - цикл 10раз.
stepper2 поворачивается на определённое кол.шагов, останавливается.
Реверс - stepper1 поворачивается в другую сторону на определённое кол.шагов, останавливается, мигнёт светодиод на 1с. ,пауза - цикл 10раз.
stepper2 поворачивается на определённое кол.шагов, останавливается.
Опять реверс - stepper1 поворачивается в другую сторону на определённое кол.шагов, останавливается, мигнёт светодиод на 1с. ,пауза - цикл 10раз.
stepper2 поворачивается на определённое кол.шагов, останавливается.
Я так понимаю здесь без "millis" и счётчиков не обойтись.
include<AccelStepper.h>
#define motor1Pin1 8 // IN1
#define motor1Pin2 9 // IN2
#define motor1Pin3 10 // IN3
#define motor1Pin4 11 // IN4
AccelStepper stepper1(8, motor1Pin1, motor1Pin3, motor1Pin2, motor1Pin4);
#define motor2Pin1 2 // IN1
#define motor2Pin2 3 // IN2
#define motor2Pin3 4 // IN3
#define motor2Pin4 5 // IN4
AccelStepper stepper2(8, motor2Pin1, motor2Pin3, motor2Pin2, motor2Pin4);
const int led = 13;
void setup() {
pinMode(led, OUTPUT);
stepper1.setMaxSpeed(600);// Задаём максимальную скорость двигателя1
stepper2.setMaxSpeed(500);// Задаём максимальную скорость двигателя2
stepper1.setAcceleration(1000);// Задаём ускорение двигателя1
stepper2.setAcceleration(1000);// Задаём ускорение двигателя2
//stepper1.setSpeed(1000); // Установим скорость в шагах за секунду
// stepper2.setSpeed(500); // Установим скорость в шагах за секунду
stepper1.moveTo(500); // Перемещаем в абсолютно указанное положение
stepper2.moveTo(1500); // Перемещаем в абсолютно указанное положение
}
void loop()
{
//1//
digitalWrite(led, LOW);
delay(1000);
digitalWrite(led, HIGH);
stepper1.runToPosition();
delay(1000);
//2//
digitalWrite(led, LOW);
delay(1000);
digitalWrite(led, HIGH);
stepper1.runToPosition();
delay(1000);
//и т.д. 10раз
//цикл со stepper1 10 циклов, далее включаем stepper2 1цикл//
stepper2.runToPosition();
//Далее stepper1 10 циклов уже в другую сторону//
//-1//
digitalWrite(led, LOW);
delay(1000);
digitalWrite(led, HIGH);
stepper1.runToPosition();
delay(1000);
//-2//
digitalWrite(led, LOW);
delay(1000);
digitalWrite(led, HIGH);
stepper1.runToPosition();
delay(1000);
//и т.д. -10раз
//stepper2 1цикл//
stepper2.runToPosition();
//и последний раз реверс на 10циклов //
//1//
digitalWrite(led, LOW);
delay(1000);
digitalWrite(led, HIGH);
stepper1.runToPosition();
delay(1000);
//2//
digitalWrite(led, LOW);
delay(1000);
digitalWrite(led, HIGH);
stepper1.runToPosition();
delay(1000);
//и т.д. 10раз
}
день добрый! Цена или сделать ?
Всем спасибо за опперативность, исполнитель найден.
Всем спасибо за опперативность, исполнитель найден.
оперативно.