Stap 11:12 Servo Code
E_coxa.attach(2);
E_femur.attach(3);
E_tibia.attach(4);
B_coxa.attach(5);
B_femur.attach(6);
B_tibia.attach(7);
AC_coxa.attach(11);
AC_femur.attach(12);
AC_tibia.attach(13);
DF_coxa.attach(8);
DF_femur.attach(9);
DF_tibia.attach(10);
De enige waarden die u moet aanpassen zijn AC_up, AC_down, COXA_CW, COXA_CCW, en potentieel TIBIA. Waarschijnlijk hoeft u niet te veel aanpassen als u zijn ook met behulp van standaard 180deg servos zoals ik ben. Deze ik experimenteel bepaald als de grenzen als ik niet de benen crashen in elkaar of in de hoofdmacht van de hexapod hexapod wilde (te veel omhoog gaan).
https://github.com/nouyang/18-servo-Hexapod/BLOB/Master/arduino_may13_2011.pde
Of, zoals hieronder gekopieerd:
======================
#include < Servo.h >
#define TIBIA 45
#define vertraging 300
#define COXA_CCW 70
#define COXA_CW 105
/*
~ voorzijde ~
EEN D
B E
C-F
~ terug ~
*/
#define AC_UP 92
#define AC_DOWN 125
int omhoog = AC_UP;
int omlaag = AC_DOWN;
Servo E_coxa;
Servo E_femur;
Servo E_tibia;
Servo B_coxa;
Servo B_femur;
Servo B_tibia;
Servo AC_coxa;
Servo AC_femur;
Servo AC_tibia;
Servo DF_coxa;
Servo DF_femur;
Servo DF_tibia;
VOID Setup
{
digitalWrite (2, OUTPUT);
digitalWrite (3, OUTPUT);
digitalWrite (4, OUTPUT);
digitalWrite (5, OUTPUT);
digitalWrite (6, OUTPUT);
digitalWrite (7, OUTPUT);
digitalWrite (8, OUTPUT);
digitalWrite (9, OUTPUT);
digitalWrite (10, OUTPUT);
digitalWrite (11, OUTPUT);
digitalWrite (12, OUTPUT);
digitalWrite (13, OUTPUT);
pinMode (1, OUTPUT);
pinMode (2, OUTPUT);
pinMode (3, OUTPUT);
pinMode (4, OUTPUT);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);
pinMode (11, OUTPUT);
pinMode (12, OUTPUT);
pinMode (13, OUTPUT);
E_coxa.attach(2); B_coxa.attach(5); AC_coxa.attach(11); DF_coxa.attach(8); }
E_femur.attach(3);
E_tibia.attach(4);
B_femur.attach(6);
B_tibia.attach(7);
AC_femur.attach(12);
AC_tibia.attach(13);
DF_femur.attach(9);
DF_tibia.attach(10);
void loop
{
for (int i = 0; ik < = 2; i ++) {}
walkfwd();
}
for (int j = 0; j < = 2; j ++) {}
walkbwd();
}
voor (int k = 0; k < = 2; k ++) {}
turnleft();
}
voor (int l = 0; l < = 2; l ++) {}
turnright();
}
}
ongeldig walkbwd() {}
Tibia();
B1();
B2();
B3();
B4();
}
ongeldig walkfwd() {}
Tibia();
tri1();
tri2();
tri3();
tri4();
}
ongeldig turnleft() {}
Tibia();
L1();
L2();
L3();
L4();
}
ongeldig turnright() {}
Tibia();
R1();
R2();
R3();
R4();
}
ongeldig tibia() {}
AC_tibia.write(TIBIA);
B_tibia.write(TIBIA);
DF_tibia.write(TIBIA);
E_tibia.write(TIBIA);
}
ongeldig tri1() {}
AC_coxa.write(COXA_CW);
E_coxa.write(COXA_CCW);
DF_coxa.write(COXA_CW);
B_coxa.write(COXA_CCW);
delay(delay);
};
ongeldig tri2() {}
AC_femur.write(AC_DOWN);
E_femur.write(down);
DF_femur.write(up);
B_femur.write(up);
delay(delay);
};
ongeldig tri3() {}
AC_coxa.write(COXA_CCW);
E_coxa.write(COXA_CW);
DF_coxa.write(COXA_CCW);
B_coxa.write(COXA_CW);
delay(delay);
};
ongeldig tri4() {}
AC_femur.write(AC_UP);
E_femur.write(up);
DF_femur.write(down);
B_femur.write(down);
delay(delay);
};
ongeldig b1() {}
AC_coxa.write(COXA_CCW);
E_coxa.write(COXA_CW);
DF_coxa.write(COXA_CCW);
B_coxa.write(COXA_CW);
delay(delay);
};
ongeldig b2() {}
AC_femur.write(AC_DOWN);
E_femur.write(down);
DF_femur.write(up);
B_femur.write(up);
delay(delay);
};
ongeldig b3() {}
AC_coxa.write(COXA_CW);
E_coxa.write(COXA_CCW);
DF_coxa.write(COXA_CW);
B_coxa.write(COXA_CCW);
delay(delay);
};
ongeldig b4() {}
AC_femur.write(AC_UP);
E_femur.write(up);
DF_femur.write(down);
B_femur.write(down);
delay(delay);
};
ongeldig l1() {}
AC_coxa.write(COXA_CCW);
E_coxa.write(COXA_CCW);
DF_coxa.write(COXA_CW);
B_coxa.write(COXA_CW);
delay(delay);
};
ongeldig l2() {}
AC_femur.write(down);
E_femur.write(down);
DF_femur.write(up);
B_femur.write(up);
delay(delay);
};
ongeldig l3() {}
AC_coxa.write(COXA_CW);
E_coxa.write(COXA_CW);
DF_coxa.write(COXA_CCW);
B_coxa.write(COXA_CCW);
delay(delay);
};
ongeldig l4() {}
AC_femur.write(up);
E_femur.write(up);
DF_femur.write(down);
B_femur.write(down);
delay(delay);
};
ongeldig r1() {}
AC_coxa.write(COXA_CW);
E_coxa.write(COXA_CW);
DF_coxa.write(COXA_CCW);
B_coxa.write(COXA_CCW);
delay(delay);
};
ongeldig r2() {}
AC_femur.write(down);
E_femur.write(down);
DF_femur.write(up);
B_femur.write(up);
delay(delay);
};
ongeldig r3() {}
AC_coxa.write(COXA_CCW);
E_coxa.write(COXA_CCW);
DF_coxa.write(COXA_CW);
B_coxa.write(COXA_CW);
delay(delay);
};
ongeldig r4() {}
AC_femur.write(up);
E_femur.write(up);
DF_femur.write(down);
B_femur.write(down);
delay(delay);
};