Всем привет. Сразу к делу. При эксперементировании с 4х канальной аппаратурой на ардуинке, все значения мониторятся на компе и совершенно идеальны (ну разброс минимален), но при подаче их на сервы они принимают их, но постоянно дергаются. Сервы питаю от отдельного и надежного источника. Вот то что передает передатчик Код (Text): 75 75 75 75 75 75 75 75 75 75 78 82 93 101 101 101 101 101 Что получает приемник Код (Text): 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 77 77 77 77 77 77 77 100 100 100 100 100 100 Естественно я мониторю только одну серву. Жду ваших предположений...
Вы так быстро к делу подошли, что я даже не понял - что откуда берется? сервы цифровые что-ли? или это вы ширину пулься как-то меряете? (в таком случае стандартный вопрос - земли объединяли ли?)
Сервы аналоговые. Управляю сей библиотекой <Servo.h> . Конечно общий провод (земля) подключен как надо ) Вот участки кода для работы с серво Код (Text): #include <Servo.h> Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; int a=0; int b=0; int c=0; int d=0; int i=0; ///////////////////// void setup() { myservo1.attach(9); myservo2.attach(10); myservo3.attach(11); myservo4.attach(12); pinMode(2, OUTPUT); Serial.begin(9600); } void loop() { a=Array[0]*100+Array[1]*10+Array[2]; //Шаманский способ переделки аски текста в обычные символы a = map(a, 5328, 5508, 0, 179); b=Array[3]*100+Array[4]*10+Array[5]; b = map(b, 5330, 5507, 0, 179); c=Array[6]*100+Array[7]*10+Array[8]; c = map(c, 5325, 5508, 0, 179); d=Array[9]*100+Array[10]*10+Array[11]; d = map(d, 5515, 5299, 0, 179); Serial.println(a); myservo1.write(a); myservo2.write(b); myservo3.write(c); myservo4.write(d); i=0; } ( Я удалил участок кода, в котором происходит синхронизация)