Последовательность работы сервоприводов.

yrok39

Привет всем! Суть вопроса, долго думал как это передать на словах. Пришлось смоделировать в 3D редакторе:

rutube.ru/…/1b7c3457c0fc77962ad625020a79ed12/?p=ze…

Нужно что бы первая серва сделала половину своего цикла и остановилась, а после полного цикла второй сервы, довершила свой цикл. Как это сделать? Найти готовый скетч и “подстроить” его под свой проект не получается. Везде только вот такое:

#include <Servo.h>

Servo servo1;

Servo servo2;

void setup() {

servo1.attach(9);

servo2.attach(10);

}

void loop() {

servo1.write(90);

delay(500);

servo1.write(0);

delay(500);

servo2.write(180);

delay(500);

servo2.write(0);

delay(30000);

}

Здесь они работают последовательно, полностью выполняя свой цикл, друг за другом…

Маркс

Временные рамки процессов есть?
Или чем быстрее тем лучше.

Маркс
#include <Servo.h>
Servo servo1;
Servo servo2;
void setup() 
{
servo1.attach(9);
servo2.attach(10);
}
void loop() 
{
servo1.write(90);   // первая в среднее положение
delay(500);
servo2.write(180);  // вторая в крайнее положение
delay(500);
servo2.write(0);      // вторая вернулась в начальное положение
delay(500);
servo1.write(0);      // первая в начальное положение
delay(30000);
}

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

delay() - это правило плохого тона в программировании )
А самое плохое, все эти действия будут повторятся каждые 30 секунд

yrok39

Спасибо огромное!!! Временные интервалы есть. Полный цикл - то что на видео и между этими циклами интервал порядка двух часов.

yrok39

Теперь на базе Вашего примера попробую подключить ещё третью серву и задать нужные интервалы и амплитуду поворотов! Потребуется ещё добавить замедление движения… Проект “Рука - манипулятор” которая должна работать по программе в течении дня. Всё это очень интересно, но я,к сожалению, не программист!

Маркс
yrok39:

Потребуется ещё добавить замедление движения… Проект “Рука - манипулятор” которая должна работать по программе в течении дня. Всё это очень интересно, но я,к сожалению, не программист!

потому и спрашивал про временные рамки.

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