changeset 88:c38532de6cbc

Proper folding of legs
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Fri, 26 Dec 2014 12:17:07 +0100
parents 35a851c68621
children 61d88bb9cb9a
files ukubik/legs.ino
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ukubik/legs.ino	Sun Oct 12 23:17:53 2014 +0200
+++ b/ukubik/legs.ino	Fri Dec 26 12:17:07 2014 +0100
@@ -7,7 +7,7 @@
 const unsigned char LEG_HIP[4] = {11, 8, 9, 10};
 const unsigned char LEG_KNEE[4] = {4, 7, 6, 5};
 const unsigned char LEG_ANKLE[4] = {0, 3, 2, 1};
-const char LEG_X[4] = {-1, -1, 1, 1};
+const char LEG_X[4] = {-1, 1, -1, 1};
 const char LEG_Y[4] = {-1, 1, 1, -1};
 
 
@@ -15,11 +15,13 @@
     /* Folds the robots and shut downs all servos. Doesn't return. */
     for (int leg = 0; leg < 4; leg += 1) {
         int d = LEG_X[leg] * LEG_Y[leg];
-        servo_degrees(LEG_HIP[leg], 90 + 45 * d);
-        servo_degrees(LEG_KNEE[leg], 90 - 90 * d);
-        servo_degrees(LEG_ANKLE[leg], 90 + 90 * d);
+        servo_degrees(LEG_HIP[leg], 90 + 45 * LEG_Y[leg]);
+        delay(150);
+        servo_degrees(LEG_KNEE[leg], 90 - 90);
+        delay(150);
+        servo_degrees(LEG_ANKLE[leg], 90 + 90);
+        delay(150);
     }
-    delay(250);
     servo_shutdown();
     while (1) {
         delay(1000);