Всем привет! Все сервомашинки подключены к потенциометрам и все работают, НО в спокойном состоянии очень дергаются. В чем может быть причина? Код (C++): #include <Servo.h> Servo servo1; Servo servo2; Servo servo3; Servo servo4; Servo servo5; void setup() { servo1.attach(4); servo2.attach(5); servo3.attach(6); servo4.attach(7); servo5.attach(8); } void loop() { int potent1 = analogRead(0); potent1 = map(potent1,0,1024,0,180); servo1.write(potent1); servo2.write(potent1); servo3.write(potent1); int potent2 = analogRead(1); potent2 = map(potent2,0,1024,0,180); servo4.write(potent2); int potent3 = analogRead(2); potent3 = map(potent3,0,1024,0,180); servo5.write(potent3); }
Шум АЦП - значения возвращаемые analogRead "в спокойном состоянии" незначительно отличаются. Вывести в монитор порта значения возвращаемые analogRead(). Посмотреть что получаем и что передаем в .servoХ.write() Сразу станет понятно, почему дергается серва. Как устранить - обработать значения получаемые от analogRead().
У вас какая модель ардуино? Нужно писать analogRead(A0), а не analogRead(0). A0 это макрос, который означает 14. Аналогично для других входов.