Advertisement
Guest User

Untitled

a guest
Mar 11th, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. //Controlling a robot using Serial input from Processing program.
  2. //By John L. Sperduto
  3.  
  4. #include <Servo.h>
  5.  
  6. Servo leftMotor; // create servo object to control a servo
  7. Servo rightMotor;
  8. Servo arm;
  9.  
  10. int pos = 120;
  11.  
  12. void setup()
  13. {
  14. leftMotor.attach(9);
  15. rightMotor.attach(10);
  16. arm.attach(11);
  17. Serial.begin(19200);
  18. }
  19.  
  20. void loop()
  21. {
  22.  
  23. while (Serial.available() > 0)
  24. {
  25. int LM = Serial.parseInt(); //sets left motor value by parsing incoming string
  26. int RM = Serial.parseInt(); //sets right motor value by parsing incoming string
  27.  
  28. while (LM == 10000 && RM == 10000)
  29. {
  30. forward();
  31. break;
  32. }
  33. while (LM == 20000 && RM == 20000)
  34. {
  35. reverse();
  36. break;
  37. }
  38. while (LM == 20000 && RM == 10000)
  39. {
  40. leftTurn();
  41. break;
  42. }
  43. while (LM == 10000 && RM == 20000)
  44. {
  45. rightTurn();
  46. break;
  47. }
  48. while (LM == 5000 && RM == 5000)
  49. {
  50. motorNeutral();
  51. clawNeutral();
  52. break;
  53. }
  54. while (LM == 30000 && RM == 30000)
  55. {
  56. shutClaw();
  57. break;
  58. }
  59. while (LM == 40000 && RM == 40000)
  60. {
  61. openClaw();
  62. break;
  63. }
  64. }
  65. }
  66.  
  67. void forward()
  68. {
  69. leftMotor.write(180);
  70. delay(1);
  71. rightMotor.write(0);
  72. delay(1);
  73. }
  74.  
  75. void reverse()
  76. {
  77. leftMotor.write(0);
  78. delay(1);
  79. rightMotor.write(180);
  80. delay(1);
  81. }
  82.  
  83. void leftTurn()
  84. {
  85. leftMotor.write(0);
  86. delay(1);
  87. rightMotor.write(0);
  88. delay(1);
  89. }
  90.  
  91. void rightTurn()
  92. {
  93. leftMotor.write(180);
  94. delay(1);
  95. rightMotor.write(180);
  96. delay(1);
  97. }
  98.  
  99. void motorNeutral()
  100. {
  101. leftMotor.write(90);
  102. delay(1);
  103. rightMotor.write(90);
  104. delay(1);
  105. }
  106. void openClaw()
  107. {
  108. arm.write(pos);
  109. delay(5);
  110. pos++;
  111. }
  112. void shutClaw()
  113. {
  114. arm.write(pos);
  115. delay(5);
  116. pos++;
  117. }
  118. void clawNeutral()
  119. {
  120. arm.write(pos);
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement