Skip to content

Commit 8cf47c8

Browse files
author
temp3rr0r
committed
Walking (slowly) :)
1 parent d389550 commit 8cf47c8

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

HexapodBot.ino

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
2323
// 6 legs, 2 servos per leg, 3 EPA (Min, Neutral, Max) per servo
2424
uint16_t hexapodEpa[NUM_LEGS][NUM_SERVOS_PER_LEG][NUM_EPA_PER_SERVO];
2525

26+
// the 3rd servo for each leg, for 4 only legs though
27+
uint16_t hexapodSteadyLegs[4][NUM_EPA_PER_SERVO];
28+
2629
/**
2730
* Setup the End Point Adjustment for all the legs, all the servos
2831
*/
@@ -88,6 +91,23 @@ void setupEpa() {
8891
hexapodEpa[5][1][0] = DEFAULT_SERVO_NEUTRAL_EPA + 20;
8992
hexapodEpa[5][1][1] = DEFAULT_SERVO_NEUTRAL_EPA + 20;
9093
hexapodEpa[5][1][2] = DEFAULT_SERVO_NEUTRAL_EPA - 80;
94+
95+
// Custom, set neutral values for steady legs
96+
hexapodSteadyLegs[0][MIN_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
97+
hexapodSteadyLegs[0][NEUTRAL_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA - 100;
98+
hexapodSteadyLegs[0][MAX_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
99+
100+
hexapodSteadyLegs[1][MIN_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
101+
hexapodSteadyLegs[1][NEUTRAL_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA - 110;
102+
hexapodSteadyLegs[1][MAX_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
103+
104+
hexapodSteadyLegs[2][MIN_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
105+
hexapodSteadyLegs[2][NEUTRAL_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
106+
hexapodSteadyLegs[2][MAX_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
107+
108+
hexapodSteadyLegs[3][MIN_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
109+
hexapodSteadyLegs[3][NEUTRAL_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA - 60;
110+
hexapodSteadyLegs[3][MAX_VALUE] = DEFAULT_SERVO_NEUTRAL_EPA;
91111
}
92112

93113
/**
@@ -105,6 +125,12 @@ void servosToNeutral() {
105125
pwm.setPWM(currentServoNum, 0, hexapodEpa[i][j][1]);
106126
}
107127
}
128+
129+
// Also set the steady legs to neutral
130+
pwm.setPWM(12, 0, hexapodSteadyLegs[0][1]);
131+
pwm.setPWM(13, 0, hexapodSteadyLegs[1][1]);
132+
pwm.setPWM(14, 0, hexapodSteadyLegs[2][1]);
133+
pwm.setPWM(15, 0, hexapodSteadyLegs[3][1]);
108134
}
109135

110136
/**

0 commit comments

Comments
 (0)