Нужна помощь по коду и серво

Всем привет, у меня такая проблема, когда я подключаю 2 и более серво то они начинают дрожать и сходят с ума, и когда я поворачиваю ручку потенциометра то двигаются все серво, а не один, помогите пожалуйста. Вот видео Видео

![Схема|614x500](upload://xKaddNt6Rn5E80Q6aQdukQSPQlm.png)
// Управление 6 серво с помощью 6 потенциометров 10-22 ком 


#include <Servo.h> 
 
Servo myservo1;  
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
Servo myservo6;
 
#define potpin1 A1 // подключаем потенциометры к выводам А1,А2,А3,А4,А5,А6
#define potpin2 A2
#define potpin3 A3
#define potpin4 A4
#define potpin5 A5
#define potpin6 A6

int val1;    
int val2;
int val3;
int val4;
int val5;
int val6;
 
void setup() 
{ 
  myservo1.attach(3);  // подключаем серво к выводам D3,D5,D6,D9,D10,D11
  myservo2.attach(5); 
  myservo3.attach(6);
  myservo4.attach(9);
  myservo5.attach(10);
  myservo6.attach(11);
} 
 
void loop() 
{ 
  val1 = analogRead(potpin1);           
  val2 = analogRead(potpin2);
  val3 = analogRead(potpin3);
  val4 = analogRead(potpin4);
  val5 = analogRead(potpin5);
  val6 = analogRead(potpin6);
  
  val1 = map(val1, 0, 1023, 0, 179);     
  val2 = map(val2, 0, 1023, 0, 179);
  val3 = map(val3, 0, 1023, 0, 179);
  val4 = map(val4, 0, 1023, 0, 179);
  val5 = map(val5, 0, 1023, 0, 179);
  val6 = map(val6, 0, 1023, 0, 179);
  
  myservo1.write(val1); 
  myservo2.write(val2);
  myservo3.write(val3);
  myservo4.write(val4);
  myservo5.write(val5);
  myservo6.write(val6);
  
  delay(15);                            
} 

Схема не грузится

1 лайк

Это уже третья Ваша тема про эти сервы. Что не так с первыми двумя темами? Решили зафлудить форум?

заблокировали

Вопрос - У вас точно подключено к A1 - A6 а не к A0 - A5? Как подается питание на Сервы, должно быть отдельным с общей землей.

Рекомендация. Для отладки выводите считанные с АЦП значения в SERIAL, так вы увидите, стабильно ли считывается значение с потенциометра, и если нет, то как влияет отключение серв, изменение схемы питания и т.д.

Сервы должны питаться от отдельного источника. Сначала своим скетчем проверьте одну пару - серва,потенциометр.

100500 блокирующих функций… Это…нечто точно должно работать в принципе?

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

ну да

Лень проверять, но сдаётся мне что эти крутилки должны страшно лагать.

А тут, очевидно же, МК ресетится из-за проблем с питанием. Готов поспорить на 100 рублей)))

а можете помочь, как это проверить?

неее, каждую крутилку я проверил, и они прекрасно работают

Тебе же сказали сначала в монитор выводи состояние крутилок БЕЗ ПОДКЛЮЧЕНИЯ СЕРВЫ.
А далее от отдельного БП подключать по одной серве.

блин, я просто пипец какой ноль в этой теме, мне ничего не понять

Оффсайт Гайвера посмотри, там и про отладку через порт и про сервы вся необходимая информация.
Иначе остаётся и код и “железо” сделать за тебя. Увы, альтруистов здесь нет.
Кстати, вот для изучения полезно.

1 лайк

Зачем брать проект если полный нихтферштейн? И как тебе можно помочь?..
Схема с ошибкой по питанию.
Вот как надо:

спасибо за полезную инфу)

а как подключить несколько серво и потенц? и если что у меня серво MG996R

Сначала надо найти источник питания - старый адаптер на 5 В с током хотя бы 800мА (данные написаны на шильдике, на корпусе).