Advertisement
safwan092

Project_10480_ARM_6DOF_BT_RX

Jan 7th, 2023
24
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. #include<SoftwareSerial.h>
  2. #include <Servo.h>
  3.  
  4.  
  5. unsigned long previousMillis = 0;
  6. const long interval = 500;
  7.  
  8. #define RX 4
  9. #define TX 5
  10. #define S1 6
  11. #define S2 7
  12. #define S3 8
  13. #define S4 9
  14. #define S5 10
  15. #define S6 11
  16.  
  17. Servo Servo1;
  18. Servo Servo2;
  19. Servo Servo3;
  20. Servo Servo4;
  21. Servo Servo5;
  22. Servo Servo6;
  23. SoftwareSerial ss(RX, TX);
  24.  
  25. char c;
  26. String dataIn;
  27. int8_t indexOfA, indexOfB, indexOfC, indexOfD, indexOfE, indexOfF;
  28. String data1, data2, data3, data4, data5, data6;
  29.  
  30. void setup() {
  31.  
  32. Serial.begin(9600);
  33.  
  34. ss.begin(9600);
  35. attachServos();
  36. Servo1.write(0);
  37. Servo2.write(40);//90-20
  38. Servo3.write(90);
  39. Servo4.write(90);
  40. Servo5.write(90);
  41. Servo6.write(125);//175-125
  42. }
  43.  
  44. void loop() {
  45.  
  46. while (ss.available() > 0) {
  47. c = ss.read();
  48. if (c == '\n') {
  49. break;
  50. }
  51. else {
  52. dataIn += c;
  53. }
  54. }
  55. if (c == '\n') {
  56. parseData();
  57. ShowRxData();
  58. if (millis() - previousMillis >= interval) {
  59. previousMillis = millis();
  60. moveARM();
  61. }
  62. resetData();
  63. }
  64.  
  65. }// end of LOOP.
  66.  
  67. //******************************************************
  68. void parseData() {
  69. indexOfA = dataIn.indexOf("A");
  70. indexOfB = dataIn.indexOf("B");
  71. indexOfC = dataIn.indexOf("C");
  72. indexOfD = dataIn.indexOf("D");
  73. indexOfE = dataIn.indexOf("E");
  74. indexOfF = dataIn.indexOf("F");
  75. data1 = dataIn.substring(0, indexOfA);
  76. data2 = dataIn.substring(indexOfA + 1, indexOfB);
  77. data3 = dataIn.substring(indexOfB + 1, indexOfC);
  78. data4 = dataIn.substring(indexOfC + 1, indexOfD);
  79. data5 = dataIn.substring(indexOfD + 1, indexOfE);
  80. data6 = dataIn.substring(indexOfE + 1, indexOfF);
  81. }
  82. //******************************************************
  83. void ShowRxData() {
  84. Serial.println("S1: " + data1);
  85. Serial.println("S2: " + data2);
  86. Serial.println("S3: " + data3);
  87. Serial.println("S4: " + data4);
  88. Serial.println("S5: " + data5);
  89. Serial.println("S6: " + data6);
  90. Serial.println("-----------------");
  91. }
  92. //******************************************************
  93. void resetData() {
  94. c = 0;
  95. dataIn = "";
  96. }
  97. //******************************************************
  98. void attachServos() {
  99. delay(15);
  100. Servo1.attach(S1);
  101. delay(15);
  102. Servo2.attach(S2);
  103. delay(15);
  104. Servo3.attach(S3);
  105. delay(15);
  106. Servo4.attach(S4);
  107. delay(15);
  108. Servo5.attach(S5);
  109. delay(15);
  110. Servo6.attach(S6);
  111. delay(15);
  112. }
  113. //******************************************************
  114. void moveServos() {
  115. //delay(15);
  116. Servo1.write(data1.toInt());
  117. //delay(15);
  118. Servo2.write(data2.toInt());
  119. //delay(15);
  120. Servo3.write(data3.toInt());
  121. //delay(15);
  122. Servo4.write(data4.toInt());
  123. //delay(15);
  124. Servo5.write(data5.toInt());
  125. //delay(15);
  126. Servo6.write(data6.toInt());
  127. //delay(15);
  128. }
  129. //******************************************************
  130. void detachServos() {
  131. delay(15);
  132. Servo1.detach();
  133. delay(15);
  134. Servo2.detach();
  135. delay(15);
  136. Servo3.detach();
  137. delay(15);
  138. Servo4.detach();
  139. delay(15);
  140. Servo5.detach();
  141. delay(15);
  142. Servo6.detach();
  143. delay(15);
  144. }
  145. //******************************************************
  146. void moveARM() {
  147. //attachServos();
  148. //delay(500);
  149. moveServos();
  150. //delay(100);
  151. //detachServos();
  152. //delay(500);
  153. }
  154. //******************************************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement