Смотрел код для похожего проекта, пол дня потратил, Там все на многомерных массивах построено, пробовал подстраивать, менять, серво так выкручивало, что я решил свои эксперименты закончить. А когда робот построен, каким бы он ни был ужасным и не красивым, а созданное своими, руками таким не кажется (хотя он достаточно крепкий на удивление) возникает сильное желание уже начать действовать и как можно скорей. Начал писать свой код, он конечно очень примитивный, тяжело с ним работать, наверняка так даже не делается, все через циклы for. Чем дальше, тем больше надо запоминать переменных или это из за того что я не вставал часов 5 из за компа. Конечно очень круто было бы все на инверсной кинематике построить, но это пока не для моих знаний, формулы, все есть, все так на вскидку понятно и лекции читал разные, но для кода как это применимо пока не ясно.
Да и с моим кодом беда. Не знаю почему, но две правых ноги выполняют цикл нормально, а левые на отрезок не хотят, просто простаивают свою паузу в исходном положении, странно, хотя все идентично, разве что это зеркальная копия правых, но ведь они двигаться то должны.
Вот код, поправьте пожалуйста, если свяжете все в одно, больно уж много не нужных строк, как чувствую.
Мульти серво используетсЯ с амперки, на 18 серв, с горечя заказал.
#include <Wire.h>
#include <Multiservo.h>
// Название сервоприводов
Multiservo servo1;
Multiservo servo2;
Multiservo servo3;
Multiservo servo4;
Multiservo servo5;
Multiservo servo6;
Multiservo servo7;
Multiservo servo8;
int pos2 = 180; //Максимальное значение серв
int pos1= 0; //Минимальное значение
int s1 = pos2 - 155; //65 Изначальная стойка
int s2 = pos1 + 90; //0
int s3 = pos2 - 155; //65
int s4 = pos1 + 50; //40
int s5 = pos2 - 25; //65
int s6 = pos1 + 130; //40
int s7 = pos2 - 25; // 65
int s8 = pos1 + 95; //5
int z1; // переменные для цикла for верх
int z2;
int z3;
int z4;// for низ
int r1=70; //переменная хотьбы для изменения угла ног (for)
int t1=120;
int r2=90;
int t2=60;
int r3=90;
int t3=90;
int r4=110;
int t4=90;
void setup(){
Wire.begin();
Serial.begin(9600);
servo1.attach(15); // П В Зад
servo2.attach(2); // П Н Зад
servo3.attach(16); // П В Перед
servo4.attach(1); // П Н перед
servo5.attach(17); // Л В перед
servo6.attach(0); // Л Н перед
servo7.attach(14); // Л В зад
servo8.attach(3); // Л Н зад
servo1.write(s1); //больше разгиб
servo2.write(s2); //больше сгиб
servo3.write(s3); //больше сгиб
servo4.write(s4);
servo5.write(s5); //больше разгиб
servo6.write(s6);
servo7.write(s7); //больше сгиб
servo8.write(s8); //больше разгиб
delay(100);
}
void loop(){
while(Serial.available() == 0);
int val = Serial.read() - '0'; // Обратная cвязь
if (val == 1)
{
Serial.println(val);
// Правая задняя нога
for(z2=s2; z2<=t1; z2+=1){
servo2.write(z2);
delay(20);
}
for(z1=s1; z1<=r1; z1+=1){
servo1.write(z1);
delay(20);
}
for(z2=t1; z2>=s2; z2-=1){
servo2.write(z2);
delay(20);
}
for(z1=r1; z1>=s1; z1-=1){
servo1.write(z1);
delay(20);
}
// Правая передняя нога
for(z2=s4; z2<=r2; z2+=1){
servo4.write(z2);
delay(20);
}
for(z1=s3; z1<=t2; z1+=1){
servo3.write(z1);
delay(20);
}
for(z2=r2; z2>=s4; z2-=1){
servo4.write(z2);
delay(20);
}
for(z1=t2; z1>=s3; z1-=1){
servo3.write(z1);
delay(20);
}
// А вот проблемная часть, левая передняя нога, которая вобще не реагирует
for(z2=s6; z2<=t3; z2+=1){
servo6.write(z4);
delay(20);
}
for(z1=s5; z1<=r3; z1+=1){
servo5.write(z3);
delay(20);
}
for(z2=t3; z2>=s6; z2-=1){
servo6.write(z2);
delay(20);
}
for(z1=r3; z1>=s5; z1-=1){
servo5.write(z1);
delay(20);
}
}
delay(100);
}
Расположение задних ног, завтра поменяю скорее всего. И ещё кое что, сервы под малейшей нагрузкой начинают гудеть, к примеру когда я ставлю его на землю, видать токи гуляют, это нормально для серв? А так, когда пузом на коробке стоит, пока тестирую, все нормально.

Слава богам вся электроника цела, корпус пришлось практически полностью поменять. Одной паре лап изменил направление, думаю так будет устойчивее. Код сегодня нужно будет менять и потгонять
Закажу сегодня скорее всего ещё 4 сервы, на ноги, пока дойдут, как раз разберусь с программной частью, надеюсь 