Может ли серво и пошаговый мотор работать одновременно

привет я использовал ардуино уно но почему то они работают поочередно как единый цикл
и если можно то как сделать так что бы горел еще и лэд без задержек

я использовал
#include <Stepper.h> // библиотека для шагового двигателя

// количество шагов на 1 оборот, измените значение для вашего мотора
const int stepsPerRevolution = 4;

// устанавливаем порты для подключения драйвера
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
myStepper.setSpeed(6000); // устанавливаем скорость 60 об/мин
}

void loop() {
// поворачиваем ротор по часовой стрелке
myStepper.step(stepsPerRevolution);
delay(1);

// поворачиваем ротор против часовой стрелки
myStepper.step(-stepsPerRevolution);
delay(1);
}
и
#include <Servo.h> //используем библиотеку для работы с сервоприводом

Servo servo; //объявляем переменную servo типа Servo

void setup() //процедура setup

{

servo.attach(3); //привязываем привод к порту 10

}

void loop() //процедура loop

{

servo.write(0); //ставим вал под 0

delay(5); //ждем 2 секунды

servo.write(90); //ставим вал под 90

delay(5); //ждем 2 секунды

}

Может

Можно. Если что, скажете, что я разрешил.

==========================

А код-то Ваш где?

Если что, то вот это

не код!

О-па! Так, оказывается, Вы умеете правильно выкладывать код! Значит, это не “неумение” а умышленный троллинг форума!

Ну, тогда удачи Вам в получении помощи!

#include <Stepper.h> // библиотека для шагового двигателя

// количество шагов на 1 оборот, измените значение для вашего мотора
const int stepsPerRevolution = 4;

// устанавливаем порты для подключения драйвера
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
myStepper.setSpeed(6000); // устанавливаем скорость 60 об/мин
}

void loop() {
// поворачиваем ротор по часовой стрелке
myStepper.step(stepsPerRevolution);
delay(1);

// поворачиваем ротор против часовой стрелки
myStepper.step(-stepsPerRevolution);
delay(1);
}
#include <Servo.h> //используем библиотеку для работы с сервоприводом

Servo servo; //объявляем переменную servo типа Servo

void setup() //процедура setup

{

servo.attach(3); //привязываем привод к порту 10

}

void loop() //процедура loop

{

servo.write(0); //ставим вал под 0

delay(5); //ждем 2 секунды

servo.write(90); //ставим вал под 90

delay(5); //ждем 2 секунды

}

извините, просто забыл

ну-ну…

Вы сами-то хоть понимаете, что в этих двух скетчах написано?

я просто под себя значения редактировал
а скетчи брал с сайтов

А сами эти 20 строчек не пробовали написать?

я про существование ардуино недавно узнал и кодить пока только учусь

Отличная задачка для обучения. Только надо учиться, а не искать готовые коды в инете - точно подходящие вам все равно не найдете.

извиняюсь но мне как человеку который ходит на курсы за счет государства надо участвовать на всяких выставках как знак того что я учусь и надо к следующей конференции подготовить проект с этими моторами

Деньги на ветер !!!

1 лайк

это специальная программа которая несовершеннолетним даёт право на 1-2 бесплатных кружка

Нам государство не платит за ваше обучение ! Если вас на курсах не научили или вы забили на учёбу болт - мы тут ни при чём !!!

2 лайка

Чтобы показать, что вы чему-то научились - готовить надо СВОЙ проект, а не списанный у кого-то в сети.
А коли не научились - так и не занимайте место, оно может нужно кому-то более способному.

2 лайка

Во первых кто угодно может просто придти и заниматься вместе со мной, мест там где я учусь вполне достаточно но я ещё не встречал человека которому это интересно

Во вторых я просто попросил помочь именно в том в чем у меня проблемы так как всё остальное я собираюсь делать без посторонней помощи

Скетчи из инета я брал тупо потому что у меня самого нет компа, а времени у меня на курсах хватает лишь на то что бы сидеть и искать инфу самому через интернет ибо там скорее не учитель а наставник который максимум говорит максимум пару советов

Беги оттуда! Ничего хорошего при таком “современном” подходе не получится.
Лучше книжки читай (их и в печатном виде полно).

Много писанины, но ни одного совета по делу так и не увидел.

  1. Вы используете библиотеки которым надо скормить конечные параметры.
  2. Эти библиотеки не знают о существовании соседней да еще и для другого типа привода.
  3. При работе с приводами никаких delay использовать нельзя - синхронизацию даже мнимую не получите.

Изучите как работают библиотеки. Сделайте смешанную библиотеку или просто используйте принцип их работы для организации движения каждого привода.
Ну вы ведь знаете что хотите получить в результате? Этого я не увидел. Если сделать синхронно оборот ШД + поворот на 90гр сервы и обратно, то это одно, а если вам надо синхронизировать движения подавая разные параметры в ПО это другое.

Блинк освоили? Сделайте блинк через ШИМ. Это в целом и есть основа для управления ШД и сервоприводом. Учтите что ШД бывают униполярные (могут управляться как драйвером так и “напрямую” через 4 ноги ардуины) и биполярные (управляются драйвером).