три потенциометра на три сервопривода

almaz80
Offline
Зарегистрирован: 09.02.2019

здравствуйте.

помогите со скетчом, нужно тремя потенциометрами упровлять тремя сервоприводами, гдето ошибка? работает только один потенциометр

int valpot_1 = A0;
int valpot_2 = A1;
int valpot_3 = A2;

int angleServo_1 = 0;
int angleServo_2 = 0;
int angleServo_3 = 0;

void setup(){
  myservo_1.attach(3);
  myservo_2.attach(4);
  myservo_3.attach(5);
}

void loop(){
  valpot_1 = analogRead(pot_1);
  valpot_2 = analogRead(pot_2);
  valpot_3 = analogRead(pot_3);

  angleServo_1 = map(valpot_1, 0, 1023, 0, 180);  
  angleServo_2 = map(valpot_2, 0, 1023, 0, 180);  
  angleServo_3 = map(valpot_3, 0, 1023, 0, 180);  

  myservo_1.write(angleServo_1);
  delay(15);
  myservo_2.write(angleServo_2);
  delay(15);
  myservo_3.write(angleServo_3);
  delay(15);
}

 

bwn
Offline
Зарегистрирован: 25.08.2014

Это раздел для готовых проектов. В "Песочницу".

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Да он, как бы вообще работать не должен. Даже компилиться.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, а раз не должен, то и не компилится.

ТС, Вы нам подсунули не тот скетч, который запускали? Или пошутили, что он с одним работает?

Гриша
Offline
Зарегистрирован: 27.04.2014

ЕвгенийП пишет:

Ну, а раз не должен, то и не компилится.

ТС, Вы нам подсунули не тот скетч, который запускали? Или пошутили, что он с одним работает?

Вангую - при копипасте потерена 5-6 строк... учитывая, что скетч имел некоторую доработку, то и 

almaz80 пишет:

 гдето ошибка? работает только один потенциометр

собственно оригинал на одну серву и рабоатет, а вот "из под напильника" уже нет - много стружки снято.  

Гриша
Offline
Зарегистрирован: 27.04.2014

almaz80 пишет:

здравствуйте.

помогите со скетчом...

помогаю, напишите коментарий к каждой строке - т.е. для чего строка вами написана и что должна делать. 

almaz80
Offline
Зарегистрирован: 09.02.2019

скетч компилится, но работает от одного потенциометра и все три сервы крутит, мне знакомый написал, сам я не бум бум скетчи писать, просто мне нужно

almaz80
Offline
Зарегистрирован: 09.02.2019

мне просто нужно управлять тремя сервоприводами от трех потенциометров, в инете нашел скетч только на два

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

almaz80 пишет:

скетч компилится

Скетч из стартового поста НЕ компилируется. Просто возмите его оттуда, вставьте в IDE и убедитесь. Может, у Вас есть какой-то другой скетч, того нам не ведомо, но этот - не компилируется.

almaz80 пишет:

мне знакомый написал, сам я не бум бум скетчи писать, просто мне нужно

Тогда, либо обратитесь к своему знакомому, либо в платный раздел форума. Просто так Вам тут никто скетчи писать не будет. А с чего, собственно?

almaz80 пишет:

мне просто нужно управлять тремя сервоприводами 

Ну, а какому-то парню в платном разделе просто нужно пару килорублей на пиво или ещё на что. Идите туда и договавривайтесь с ним.

almaz80
Offline
Зарегистрирован: 09.02.2019
#include <Servo.h>
Servo myservo_1;
Servo myservo_2;
Servo myservo_3;

#define pot_1 6
#define pot_2 7
#define pot_3 8

int valpot_1 = A0;
int valpot_2 = A1;
int valpot_3 = A2;

int angleServo_1 = 0;
int angleServo_2 = 0;
int angleServo_3 = 0;

void setup(){
  myservo_1.attach(3);
  myservo_2.attach(4);
  myservo_3.attach(5);
}

void loop(){
  valpot_1 = analogRead(pot_1);
  valpot_2 = analogRead(pot_2);
  valpot_3 = analogRead(pot_3);

  angleServo_1 = map(valpot_1, 0, 1023, 0, 180);  
  angleServo_2 = map(valpot_2, 0, 1023, 0, 180);  
  angleServo_3 = map(valpot_3, 0, 1023, 0, 180);  

  myservo_1.write(angleServo_1);
  delay(15);
  myservo_2.write(angleServo_2);
  delay(15);
  myservo_3.write(angleServo_3);
  delay(15);
}

я извеняюсь что то не то загрузил первый раз, часть не скопировал

sadman41
Offline
Зарегистрирован: 19.10.2016

Функция analogRead() не работает ожидаемым образом с входами 6, 7, 8.

almaz80
Offline
Зарегистрирован: 09.02.2019

нужно пины другие или ?

sadman41
Offline
Зарегистрирован: 19.10.2016

Что замените вместо них? https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/ -> ^F USABLE PINS

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Почитайте про analogRead() строки 25-27

almaz80
Offline
Зарегистрирован: 09.02.2019
#include <Servo.h>

  Servo myservo; 
  Servo myservo2;
  Servo myservo3;
 
  #define pinpot  A0
  #define pinpot2 A1
  #define pinpot3 A2
 
 void setup(){
    myservo.attach(3);
    myservo2.attach(4);
    myservo3.attach(5);
  }
  void loop(){
    myservo.write(map(analogRead(pinpot), 0, 1023, 0, 180)); 
    myservo2.write(map(analogRead(pinpot2), 0, 1023, 0, 180));  
    myservo3.write(map(analogRead(pinpot3), 0, 1023, 0, 180)); 
    delay(15);
  }

 

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

bwn
Offline
Зарегистрирован: 25.08.2014

almaz80 пишет:

скетч компилится, но работает от одного потенциометра и все три сервы крутит, мне знакомый написал, сам я не бум бум скетчи писать, просто мне нужно

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Как не помогли? Помогли - научили добывать сведения самостоятельно. Жаль, конечно, что только списывать.

Гриша
Offline
Зарегистрирован: 27.04.2014

almaz80 пишет:

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

У нас разные понятия " помочь" и "сделать вместо". код простейший, и помогали как умели...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

almaz80 пишет:
Сбасибо , ни кто не помог,барыги что ли тут одни
Та, сволочи, хренли!