Advertisement
Lucky134Lucky

Untitled

Feb 6th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. /* Sweep
  2. by BARRAGAN <http://barraganstudio.com>
  3. This example code is in the public domain.
  4.  
  5. modified 8 Nov 2013
  6. by Scott Fitzgerald
  7. http://www.arduino.cc/en/Tutorial/Sweep
  8. */
  9. #include <Arduino.h>
  10. #include <Servo.h>
  11.  
  12. Servo spin;
  13. Servo shoulder;
  14. Servo forearm;
  15. Servo take;
  16. int message = 0;
  17. int buffer[4] = {};
  18. int doWork = 0;
  19. int pos = 0; // variable to store the servo position
  20. void moveForward(int i) {
  21. shoulder.write(i); // from 10 to 60
  22. }
  23.  
  24. void moveUp(int i) {
  25. i += 100;
  26. forearm.write(i); // from 100 to 170
  27. }
  28.  
  29. void catchItem(int i) {
  30. switch (i) {
  31. case 1:
  32. take.write(0);
  33. break;
  34. case 0:
  35. take.write(150);
  36. break;
  37. }
  38. }
  39.  
  40. void moveRound(int i) {
  41. spin.write(i);
  42. }
  43.  
  44. void runCommand(int intMessage) {
  45. Serial.println(intMessage);
  46. //if data is available
  47. //int intMessage = message.toInt();
  48. if (intMessage > 400)
  49. moveForward(intMessage % 400);
  50. else if (intMessage > 300)
  51. moveUp(intMessage % 300);
  52. else if (intMessage >= 200)
  53. catchItem(intMessage % 200);
  54. else
  55. moveRound(intMessage);
  56. }
  57.  
  58. int fromByteArray(int bytes[]) {
  59. return bytes[2] << 8 | bytes[3];
  60. }
  61.  
  62. void setup() {
  63. spin.attach(9);
  64. shoulder.attach(12);
  65. forearm.attach(11);
  66. take.attach(10);
  67. Serial.begin(9600); //set baud rate
  68. }
  69.  
  70. int i = 0;
  71.  
  72. void loop() {
  73.  
  74. while (Serial.available()) {
  75. buffer[i] = Serial.read();
  76. i++;
  77. }
  78. if (!Serial.available() && buffer[3] != 0) {
  79. runCommand(fromByteArray(buffer));
  80. buffer[1] = 0;
  81. buffer[0] = 0;
  82. buffer[2] = 0;
  83. buffer[3] = 0;
  84. i = 0;
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement