Подключение 2х сервов

npu3paks
npu3paks аватар
Offline
Зарегистрирован: 02.11.2012

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

Как управлять сразу 2-ми сервами?
Задача 1. Один работает, второй удерживает свое положение (как в примере)
Задача 2. Работают оба одновременно, причем каждый работает по своему закону (не совпадающему - например 
1й - 3град\такт 2й-5град\такт)

И по применению - купил 2 серва DGServo 8G но у них шлейф коричневый\красный\оранжевый - никто не встречался с такой марктровкой??

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

 Задача 1 - решена в примере. Точнее, установили угол у второй и работаете с первой. Вторая серва будет держать угол.
Задача 2 - В цикле с задержкой через одинаковые промежутки времени устанавливаете новый (расчитанный по Вашему закону) угол у каждой сервы. Такт - переменная цикла.

Сервы стандартные:
коричневый GND
красный +5V
оранжевый - сигнальный

npu3paks
npu3paks аватар
Offline
Зарегистрирован: 02.11.2012

Если не трудно - приведите пример..
просто не пойму как инициализировать обе машинка (порт 12 и 13)
а потом к ним обращаться или переключаться между обращениями

[quote=AlexFisher] Задача 1 - решена в примере. Точнее, установили угол у второй и работаете с первой. Вторая серва будет держать угол.
Задача 2 - В цикле с задержкой через одинаковые промежутки времени устанавливаете новый (расчитанный по Вашему закону) угол у каждой сервы. Такт - переменная цикла.

maksim
Offline
Зарегистрирован: 12.02.2012

npu3paks пишет:
Если не трудно - приведите пример..
просто не пойму как инициализировать обе машинка (порт 12 и 13)
а потом к ним обращаться или переключаться между обращениями

#include <Servo.h> 

Servo servo_1;  
Servo servo_2;
Servo servoTRI;

void setup() 
{ 
  servo_1.attach(12); 
  servo_2.attach(13); 
  servoTRI.attach(5); 
  ..........

void loop() 
{    
  servo_1.write(60);      
  servo_2.write(120); 
  servoTRI.writeMicroseconds(1500);   
  ..........
AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Я имел в виду немножко другое:

#include <Servo.h> 

#define TICK 100 
Servo servo_1;  
Servo servo_2;

void setup() 
{ 
  servo_1.attach(12); 
  servo_2.attach(13); 
}

void loop() 
{    
  for (int i=0; i<1000; i++)
  {
     servo_1.write(F1(i));      
     servo_2.write(F2(i)); 
     delay(TICK);
  }
}
npu3paks
npu3paks аватар
Offline
Зарегистрирован: 02.11.2012

а не подскажите, где взять описание всех команд для сервы??

в кратком справочнике на этом сайте их нет

maksim
Offline
Зарегистрирован: 12.02.2012

Как так нет??? Не внимательно смотрите. Библиотека Servo раздел Функции.