Advertisement
Guest User

spider v2

a guest
Jul 21st, 2012
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.53 KB | None | 0 0
  1. #include <Servo.h>
  2. // left front leg 1
  3. Servo innerleg1;
  4. Servo middelleg1;
  5. Servo outerleg1;
  6. // left middel leg 2
  7. Servo innerleg2;
  8. Servo middelleg2;
  9. Servo outerleg2;
  10. // left rear leg 3
  11. Servo innerleg3 ;
  12. Servo middelleg3;
  13. Servo outerleg3;
  14. // right front leg 4
  15. Servo innerleg4 ;
  16. Servo middelleg4;
  17. Servo outerleg4;
  18. // right middel leg 5
  19. Servo innerleg5 ;
  20. Servo middelleg5;
  21. Servo outerleg5;
  22. // right rear leg 6
  23. Servo innerleg6 ;
  24. Servo middelleg6;
  25. Servo outerleg6;
  26. /////////////////////////////////////////////////////////////////////////////////////////////////////
  27.  
  28. int innerleg1level = 90;
  29. int innerleg1angle[1];
  30. int middelleg1level = 90;
  31. int middelleg1angle[1];
  32. int outerleg1level = 90;
  33. int outerleg1angle[1];
  34.  
  35. int innerleg2level = 90;
  36. int innerleg2angle[1];
  37. int middelleg2level = 90;
  38. int middelleg2angle[1];
  39. int outerleg2level = 90;
  40. int outerleg2angle[1];
  41.  
  42. int innerleg3level = 90;
  43. int innerleg3angle[1];
  44. int middelleg3level = 90;
  45. int middelleg3angle[1];
  46. int outerleg3level = 90;
  47. int outerleg3angle[1];
  48.  
  49. int innerleg4level = 90;
  50. int innerleg4angle[1];
  51. int middelleg4level = 90;
  52. int middelleg4angle[1];
  53. int outerleg4level = 90;
  54. int outerleg4angle[1];
  55.  
  56. int innerleg5level = 90;
  57. int innerleg5angle[1];
  58. int middelleg5level = 90;
  59. int middelleg5angle[1];
  60. int outerleg5level = 90;
  61. int outerleg5angle[1];
  62.  
  63. int innerleg6level = 90;
  64. int innerleg6angle[1];
  65. int middelleg6level = 90;
  66. int middelleg6angle[1];
  67. int outerleg6level = 90;
  68. int outerleg6angle[1];
  69.  
  70.  
  71. int data[3];
  72. int servoname;
  73. int servoangle[19];
  74. int val;
  75.  
  76. void setup()
  77. {
  78.  
  79.  
  80. Serial.begin(9600);
  81. innerleg1.attach(26);
  82. middelleg1.attach(24);
  83. outerleg1.attach(22);
  84.  
  85. innerleg2.attach(25);
  86. middelleg2.attach(23);
  87. outerleg2.attach(28);
  88.  
  89. innerleg3.attach(31);
  90. middelleg3.attach(29);
  91. outerleg3.attach(27);
  92.  
  93. innerleg4.attach(38);
  94. middelleg4.attach(37);
  95. outerleg4.attach(41);
  96.  
  97. innerleg5.attach(34);
  98. middelleg5.attach(35);
  99. outerleg5.attach(36);
  100.  
  101. innerleg6.attach(30);
  102. middelleg6.attach(33);
  103. outerleg6.attach(32);
  104.  
  105. }
  106.  
  107.  
  108. void loop()
  109. {
  110. val = Serial.read()-48;
  111.  
  112.  
  113.  
  114. if ( val == 1)
  115. {
  116. delay(5);
  117. data[0] = Serial.read()-48;
  118. delay(5);
  119. data[1] = Serial.read()-48;
  120.  
  121. servoname = data[1] * 1 + data[0] * 10;
  122. if (servoname == 1)
  123. { delay(5);
  124. innerleg1angle[0] = Serial.read()-48;
  125. delay(5);
  126. innerleg1angle[1] = Serial.read()-48;
  127.  
  128. servoangle[1] = innerleg1angle[0] * 10 + innerleg1angle[1] * 1;
  129. }
  130.  
  131. if (servoname == 2)
  132. { delay(5);
  133. middelleg1angle[0] = Serial.read()-48;
  134. delay(5);
  135. middelleg1angle[1] = Serial.read()-48;
  136.  
  137. servoangle[2] = middelleg1angle[0] * 10 + middelleg1angle[1] * 1;
  138. }
  139.  
  140. if (servoname == 3)
  141. { delay(5);
  142. outerleg1angle[0] = Serial.read()-48;
  143. delay(5);
  144. outerleg1angle[1] = Serial.read()-48;
  145.  
  146. servoangle[3] = outerleg1angle[0] * 10 + outerleg1angle[1] * 1;
  147. }
  148.  
  149. if (servoname == 4)
  150. { delay(5);
  151. innerleg2angle[0] = Serial.read()-48;
  152. delay(5);
  153. innerleg2angle[1] = Serial.read()-48;
  154.  
  155. servoangle[4] = innerleg2angle[0] * 10 + innerleg2angle[1] * 1;
  156. }
  157.  
  158. if (servoname == 5)
  159. { delay(5);
  160. middelleg2angle[0] = Serial.read()-48;
  161. delay(5);
  162. middelleg2angle[1] = Serial.read()-48;
  163.  
  164. servoangle[5] = middelleg2angle[0] * 10 + middelleg2angle[1] * 1;
  165. }
  166.  
  167. if (servoname == 6)
  168. { delay(5);
  169. outerleg2angle[0] = Serial.read()-48;
  170. delay(5);
  171. outerleg2angle[1] = Serial.read()-48;
  172.  
  173. servoangle[6] = outerleg2angle[0] * 10 + outerleg2angle[1] * 1;
  174. }
  175.  
  176. if (servoname == 7)
  177. { delay(5);
  178. innerleg3angle[0] = Serial.read()-48;
  179. delay(5);
  180. innerleg3angle[1] = Serial.read()-48;
  181.  
  182. servoangle[7] = innerleg3angle[0] * 10 + innerleg3angle[1] * 1;
  183. }
  184.  
  185. if (servoname == 8)
  186. { delay(5);
  187. middelleg3angle[0] = Serial.read()-48;
  188. delay(5);
  189. middelleg3angle[1] = Serial.read()-48;
  190.  
  191. servoangle[8] = middelleg3angle[0] * 10 + middelleg3angle[1] * 1;
  192. }
  193.  
  194. if (servoname == 9)
  195. { delay(5);
  196. outerleg3angle[0] = Serial.read()-48;
  197. delay(5);
  198. outerleg3angle[1] = Serial.read()-48;
  199.  
  200. servoangle[9] = outerleg3angle[0] * 10 + outerleg3angle[1] * 1;
  201. }
  202.  
  203. if (servoname == 10)
  204. { delay(5);
  205. innerleg4angle[0] = Serial.read()-48;
  206. delay(5);
  207. innerleg4angle[1] = Serial.read()-48;
  208.  
  209. servoangle[10] = innerleg4angle[0] * 10 + innerleg4angle[1] * 1;
  210. }
  211.  
  212. if (servoname == 11)
  213. { delay(5);
  214. middelleg4angle[0] = Serial.read()-48;
  215. delay(5);
  216. middelleg4angle[1] = Serial.read()-48;
  217.  
  218. servoangle[11] = middelleg4angle[0] * 10 + middelleg4angle[1] * 1;
  219. }
  220.  
  221. if (servoname == 12)
  222. { delay(5);
  223. outerleg4angle[0] = Serial.read()-48;
  224. delay(5);
  225. outerleg4angle[1] = Serial.read()-48;
  226.  
  227. servoangle[12] = outerleg4angle[0] * 10 + outerleg4angle[1] * 1;
  228. }
  229.  
  230. if (servoname == 13)
  231. { delay(5);
  232. innerleg5angle[0] = Serial.read()-48;
  233. delay(5);
  234. innerleg5angle[1] = Serial.read()-48;
  235.  
  236. servoangle[13] = innerleg5angle[0] * 10 + innerleg5angle[1] * 1;
  237. }
  238.  
  239. if (servoname == 14)
  240. { delay(5);
  241. middelleg5angle[0] = Serial.read()-48;
  242. delay(5);
  243. middelleg5angle[1] = Serial.read()-48;
  244.  
  245. servoangle[14] = middelleg5angle[0] * 10 + middelleg5angle[1] * 1;
  246. }
  247.  
  248. if (servoname == 15)
  249. { delay(5);
  250. outerleg5angle[0] = Serial.read()-48;
  251. delay(5);
  252. outerleg5angle[1] = Serial.read()-48;
  253.  
  254. servoangle[15] = outerleg5angle[0] * 10 + outerleg5angle[1] * 1;
  255. }
  256.  
  257. if (servoname == 16)
  258. { delay(5);
  259. innerleg6angle[0] = Serial.read()-48;
  260. delay(5);
  261. innerleg6angle[1] = Serial.read()-48;
  262.  
  263. servoangle[16] = innerleg6angle[0] * 10 + innerleg6angle[1] * 1;
  264. }
  265.  
  266. if (servoname == 17)
  267. { delay(5);
  268. middelleg6angle[0] = Serial.read()-48;
  269. delay(5);
  270. middelleg6angle[1] = Serial.read()-48;
  271.  
  272. servoangle[17] = middelleg6angle[0] * 10 + middelleg6angle[1] * 1;
  273. }
  274.  
  275. if (servoname == 18)
  276. { delay(5);
  277. outerleg6angle[0] = Serial.read()-48;
  278. delay(5);
  279. outerleg6angle[1] = Serial.read()-48;
  280.  
  281. servoangle[18] = outerleg6angle[0] * 10 + outerleg6angle[1] * 1;
  282. }
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290. }
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300. innerleg1.write(innerleg1level + servoangle[1]);
  301. middelleg1.write(middelleg1level + servoangle[2]);
  302. outerleg1.write(outerleg1level + servoangle[3]);
  303.  
  304. innerleg2.write(innerleg2level + servoangle[4]);
  305. middelleg2.write(middelleg2level + servoangle[5]);
  306. outerleg2.write(outerleg2level + servoangle[6]);
  307.  
  308. innerleg3.write(innerleg3level + servoangle[7]);
  309. middelleg3.write(middelleg3level + servoangle[8]);
  310. outerleg3.write(outerleg3level + servoangle[9]);
  311.  
  312. innerleg4.write(innerleg4level + servoangle[10]);
  313. middelleg4.write(middelleg4level + servoangle[11]);
  314. outerleg4.write(outerleg4level + servoangle[12]);
  315.  
  316. innerleg5.write(innerleg5level + servoangle[13]);
  317. middelleg5.write(middelleg5level + servoangle[14]);
  318. outerleg5.write(outerleg5level + servoangle[15]);
  319.  
  320. innerleg6.write(innerleg6level + servoangle[16]);
  321. middelleg6.write(middelleg6level + servoangle[17]);
  322. outerleg6.write(outerleg6level + servoangle[18]);
  323.  
  324. Serial.print (" Servo 1 ");
  325. Serial.print (innerleg1level + servoangle[1]);
  326. Serial.print (" ");
  327. Serial.print (" Servo 2 ");
  328. Serial.print (middelleg1level + servoangle[2]);
  329. Serial.print (" ");
  330. Serial.print (" Servo 3 ");
  331. Serial.print (outerleg1level + servoangle[3]);
  332. Serial.print (" ");
  333. Serial.print (" Servo 4 ");
  334. Serial.print (innerleg2level + servoangle[4]);
  335. Serial.print (" ");
  336. Serial.print (" Servo 5 ");
  337. Serial.print (middelleg2level + servoangle[5]);
  338. Serial.print (" ");
  339. Serial.print (" Servo 6 ");
  340. Serial.print (outerleg2level + servoangle[6]);
  341. Serial.println (" ");
  342. Serial.print (" Servo 7 ");
  343. Serial.print (innerleg3level + servoangle[7]);
  344. Serial.print (" ");
  345. Serial.print (" Servo 8 ");
  346. Serial.print (middelleg3level + servoangle[8]);
  347. Serial.print (" ");
  348. Serial.print (" Servo 9 ");
  349. Serial.print (outerleg3level + servoangle[9]);
  350. Serial.print (" ");
  351. Serial.print (" Servo 10 ");
  352. Serial.print (innerleg4level + servoangle[10]);
  353. Serial.print (" ");
  354. Serial.print (" Servo 11 ");
  355. Serial.print (middelleg4level + servoangle[11]);
  356. Serial.print (" ");
  357. Serial.print (" Servo 12 ");
  358. Serial.print (outerleg4level + servoangle[12]);
  359. Serial.println (" ");
  360. Serial.print (" Servo 13 ");
  361. Serial.print (innerleg5level + servoangle[13]);
  362. Serial.print (" ");
  363. Serial.print (" Servo 14 ");
  364. Serial.print (middelleg5level + servoangle[14]);
  365. Serial.print (" ");
  366. Serial.print (" Servo 15 ");
  367. Serial.print (outerleg5level + servoangle[15]);
  368. Serial.print (" ");
  369. Serial.print (" Servo 16 ");
  370. Serial.print (innerleg6level + servoangle[16]);
  371. Serial.print (" ");
  372. Serial.print (" Servo 17 ");
  373. Serial.print (middelleg6level + servoangle[17]);
  374. Serial.print (" ");
  375. Serial.print (" Servo 18 ");
  376. Serial.print (outerleg6level + servoangle[18]);
  377. Serial.println (" ");
  378.  
  379. delay(500);
  380.  
  381. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement