Есть 2 сервопривода, стоят по бокам. 1-ый должен вращаться от 0 до 90 градусов, в это же время 2-ой от 90 до 0. Все это происходит в один момент. Может кто-знает как реализовать данную процедуру.
А на чем творческое вдохновение закончилось? На подключении, в коде или дошли до проблемы что сервы работают не одинаково и перекашивают ось?
Вопрос решен с помощью библиотеки VarSpeedServo.h. Решение взято из примера SweepTwoServos. Код программы: #include <VarSpeedServo.h> VarSpeedServo myservo1; VarSpeedServo myservo2; const int servoPin1 = 30; const int servoPin2 = 31; void setup() { myservo1.attach(servoPin1); myservo1.write(0,0,true); myservo2.attach(servoPin2); myservo2.write(60,0,true); } void loop() { myservo1.write(0,30); myservo2.write(60,40); delay(2000); myservo1.write(50,30); myservo2.write(0,40); delay(2000); }
void loop() { myservo1.write(180,127,false); myservo2.write(180,127,true); myservo1.write(0,30,false); myservo2.write(0,30,true); } это из примера библиотеки - разницу видите? В сетапе вы написали, а в лупе уже по другому.
посмотрите до конца описание библиотеки <VarSpeedServo.h>, если мы хотим что бы сервопривода работали одновременно то нам можно использовать команду: write(value, speed) или write(value, speed, wait), под переменой wait подразумевается: одновременное выполнения или последовательное выполнение.