Advertisement
Guest User

Untitled

a guest
Dec 17th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. #include <arduino.h>
  2. #include "leg.h"
  3. #include "pins.h"
  4. #include "parse.h"
  5.  
  6. leg legs[4]; //create an array of 4 leg objects
  7.  
  8. void setup(){
  9. Serial.begin(115200);
  10.  
  11. //construct the 4 leg objects with there assigned pins
  12. legs[0] = leg(c0,f0,t0);
  13. legs[1] = leg(c1,f1,t1);
  14. legs[2] = leg(c5,f5,t5);
  15. legs[3] = leg(ca,fa,ta);
  16.  
  17. /*
  18. //set the initial positions of each leg to XYZ 0,80,80
  19. for(int i=0; i<4; i++) legs[i].moveToPoint(0,80,80);
  20.  
  21. //apply the previously set leg positions
  22. updateLegs(legs[0],legs[1],legs[2],legs[3]);
  23. */
  24. legs[0].moveToAngles(90,120,50);
  25.  
  26. legs[1].moveToAngles(90,120,50);
  27.  
  28. legs[2].moveToAngles(90,120,50);
  29.  
  30. legs[3].moveToAngles(90,120,50);
  31. }
  32.  
  33. const int d=250;
  34. void walk(int fr,int fl,int br,int bl){
  35. legs[fl].moveToAngles(90+45,120+30,50);
  36. delay(d);
  37. legs[fl].moveToAngles(90,120+30,50);
  38. delay(d);
  39. legs[fl].moveToAngles(90,120-10,50+20);
  40. delay(d);
  41. legs[fl].moveToAngles(90,120-10,50);
  42. legs[bl].moveToAngles(90,120-10,50);
  43. legs[fr].moveToAngles(90-45,120,50);
  44. legs[br].moveToAngles(90,120,50+20);
  45. delay(d);
  46. legs[fl].moveToAngles(90,120,50);
  47. legs[bl].moveToAngles(90,120,50);
  48. legs[br].moveToAngles(90,120+30,50);
  49. delay(d);
  50. legs[br].moveToAngles(90+45,120+30,50);
  51. delay(d);
  52. legs[br].moveToAngles(90+45,120,50);
  53.  
  54. delay(d);
  55. legs[fr].moveToAngles(90-45,120+30,50);
  56. delay(d);
  57. legs[fr].moveToAngles(90,120+30,50);
  58. delay(d);
  59. legs[fr].moveToAngles(90,120-10,50+20);
  60. delay(d);
  61. //-10 for weak push
  62. legs[fl].moveToAngles(90+45,120-10,50);
  63. legs[br].moveToAngles(90,120-10,50);
  64. legs[fr].moveToAngles(90,120,50);
  65. legs[bl].moveToAngles(90,120-10,50+20);
  66. delay(d);
  67. //Fix Weak push
  68. legs[fl].moveToAngles(90+45,120,50);
  69. legs[br].moveToAngles(90,120,50);
  70.  
  71.  
  72. legs[bl].moveToAngles(90,120+30,50+20);
  73. delay(d);
  74. legs[bl].moveToAngles(90-45,120+30,50);
  75. delay(d);
  76. legs[bl].moveToAngles(90-45,120,50);
  77. delay(d);
  78.  
  79.  
  80. }
  81.  
  82. void rotate(int mode){
  83. int change=45;
  84. if(mode) change*=-1;
  85. legs[1].moveToAngles(90,150,50);
  86. legs[3].moveToAngles(90,150,50);
  87. delay(100);
  88.  
  89. legs[3].moveToAngles(90+change, 150,50);
  90. legs[1].moveToAngles(90+change,150,50);
  91.  
  92. delay(100);
  93. legs[3].moveToAngles(90+change, 120,50);
  94. legs[1].moveToAngles(90+change,120,50);
  95. delay(100);
  96. legs[2].moveToAngles(90, 170,50);
  97. legs[0].moveToAngles(90,170,50);
  98. delay(100);
  99. legs[3].moveToAngles(90, 120,50);
  100. legs[1].moveToAngles(90,120,50);
  101. delay(100);
  102. legs[2].moveToAngles(90, 120,50);
  103. legs[0].moveToAngles(90,120,50);
  104.  
  105.  
  106. }
  107.  
  108. void loop(){
  109. walk(0,3,1,2);
  110. walk(0,3,1,2);
  111. walk(0,3,1,2);
  112. walk(0,3,1,2);
  113. rotate(1);
  114. delay(500);
  115.  
  116. rotate(1);
  117. delay(500);
  118.  
  119. rotate(1);
  120. delay(500);
  121.  
  122. rotate(1);
  123. delay(1000);
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement