Robotc Automnous 4-wheel Movement (Requires encoders)


SUBMITTED BY: Guest

DATE: Dec. 24, 2013, 11:32 p.m.

FORMAT: Text only

SIZE: 2.0 kB

HITS: 1111

  1. void move(int direction, float revs);
  2. void turn(int direction, float revs);
  3. int fullrev = 1440;
  4. task main()
  5. {
  6. //Call Functions Here
  7. }
  8. //This function is for turning. The "int" is actually a boolean. Use 0 for a left turn, 1 for a right turn.
  9. void turn(int direction, float revs)
  10. {
  11. nMotorEncoder(motorD) =0;
  12. nMotorEncoder(motorE) =0;
  13. nMotorEncoder(motorF) =0;
  14. nMotorEncoder(motorG) =0;
  15. if (direction==0)
  16. {
  17. while(nMotorEncoder(motorD) > -(fullrev*revs) & nMotorEncoder(motorE) > -(fullrev*revs) & nMotorEncoder(motorF) > -(fullrev*revs) & nMotorEncoder(motorG) > -(fullrev*revs))
  18. {
  19. motor(motorD) = -60;
  20. motor(motorE) = -60;
  21. motor(motorF) = -60;
  22. motor(motorG) = -60;
  23. }
  24. }
  25. else
  26. {
  27. while(nMotorEncoder(motorD) < (fullrev*revs) & nMotorEncoder(motorE) < (fullrev*revs) & nMotorEncoder(motorF) < (fullrev*revs) & nMotorEncoder(motorG) < (fullrev*revs))
  28. {
  29. motor(motorD) = 60;
  30. motor(motorE) = 60;
  31. motor(motorF) = 60;
  32. motor(motorG) = 60;
  33. }
  34. }
  35. }
  36. //This function is for moving. The "int" is actually a boolean. Use 0 for forward, 1 for backward.
  37. void move(int direction, float revs)
  38. {
  39. nMotorEncoder(motorD) =0;
  40. nMotorEncoder(motorE) =0;
  41. nMotorEncoder(motorF) =0;
  42. nMotorEncoder(motorG) =0;
  43. if (direction==0)
  44. {
  45. while(nMotorEncoder(motorD) > -(fullrev*revs) & nMotorEncoder(motorE) < (fullrev*revs) & nMotorEncoder(motorF) > -(fullrev*revs) & nMotorEncoder(motorG) < (fullrev*revs))
  46. {
  47. motor(motorD) = -60;
  48. motor(motorE) = 60;
  49. motor(motorF) = -60;
  50. motor(motorG) = 60;
  51. }
  52. }
  53. else
  54. {
  55. while(nMotorEncoder(motorD) < (fullrev*revs) & nMotorEncoder(motorE) > -(fullrev*revs) & nMotorEncoder(motorF) < (fullrev*revs) & nMotorEncoder(motorG) > -(fullrev*revs))
  56. {
  57. motor(motorD) = 60;
  58. motor(motorE) = -60;
  59. motor(motorF) = 60;
  60. motor(motorG) = -60;
  61. }
  62. }
  63. }

comments powered by Disqus