Серовомото 9g

ryskin
Offline
Зарегистрирован: 30.05.2016

Я начал собирать гексопод и я не понимаю как крепить направляющую на сервопривод (плечо). Даже незнаю как объяснить. Как определить нулевое что-ли положение сервопривода. У него оно вообще имеется? 

uragan
Offline
Зарегистрирован: 23.02.2015

Собрать,  програмно задавать разные углы и смотреть.

ryskin
Offline
Зарегистрирован: 30.05.2016

Дело в том, что плечо вставить в сервомотор, а потом хрен его выдерешь, а двигать силой шестерни в нужно положение не рекомендуется. Вот интересно он из любого положения работает во всем диапазоне или есть "стартовое/нулевое" положение? 

uragan
Offline
Зарегистрирован: 23.02.2015

Смотреть без вставленного плеча.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Есть нулевое.

Через библиотеку Servo: servo.writeMicroseconds(1500);

Вроде так.

ryskin
Offline
Зарегистрирован: 30.05.2016

Он в уваковке я так понимаю в нулевом положении идет и надо крепить плечо (или как там его) параллельно корпусу. Верно?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

В какрм положении оно в упаковке - никто не гарантирует.

Выше прозвучал правильный совет - подключить, попробовать и установить самому в нулевое положение. Точнее, в то положение, которое в дальнейшем программа будет считать нулевым.

ryskin
Offline
Зарегистрирован: 30.05.2016

Да это единственный вариант и в принципе не долго, спасибо.

ryskin
Offline
Зарегистрирован: 30.05.2016

Нифига, я загружаю в arduino программу  

val = 90;
myservo.write(val);

Он передвигается на 90 градусов. Но если снова загружаю код на arduino сервомотор снова двигается на 90 градусов, а не занимает среднее (нулевое положение) причем упиратеся в блокировку шестеренок. Как быть? Соберу квадропода с 12 моторами и потом разбирать 10 раз не хочется, тем более так легко сбивается. У кого есть реальный опыт?

ryskin
Offline
Зарегистрирован: 30.05.2016

тупанул, не в loop надо, а в setup. Как на оф. сайте arduino )

void setup() {
  myservo.attach(9);  // 9 пин для управления
  myservo.write(90); // средняя позиция
}