Работа двух шаговых двигателей
- Войдите на сайт для отправки комментариев
Добрый день, есть два шаговых дв. , светодиод, ардуинка. И какая цена за рабочий скетч?
Задачка такая:
ШД 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раз }
день добрый! Цена или сделать ?
Всем спасибо за опперативность, исполнитель найден.
Всем спасибо за опперативность, исполнитель найден.
оперативно.