Advertisement
safwan092

Untitled

Oct 15th, 2023
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. #include <Servo.h>
  2. int flag = 0;
  3. int sensorPIN = A0;
  4. int sensor_status = 0;
  5. Servo servo1;
  6. Servo servo2;
  7. Servo servo3;
  8. Servo servo4;
  9. Servo servo5;
  10.  
  11. int pos1 = 120;
  12. int pos2 = 60;
  13. int pos3 = 60;
  14. int pos4 = 60;
  15. int pos5 = 60;
  16.  
  17. //1: 30-120 = 90
  18. //2: 60-150 = 90
  19. //3: 60-150 = 90
  20. //4: 60-150 = 90
  21. //5: 60-150 = 90
  22.  
  23. void setup() {
  24. Serial.begin(9600);
  25. servo1.attach(3);
  26. servo2.attach(5);
  27. servo3.attach(6);
  28. servo4.attach(9);
  29. servo5.attach(10);
  30. servo1.write(pos1);
  31. servo2.write(pos2);
  32. servo3.write(pos3);
  33. servo4.write(pos4);
  34. servo5.write(pos5);
  35. pinMode(sensorPIN, INPUT);
  36. delay(500);
  37. }
  38.  
  39. void loop() {
  40. sensor_status = analogRead(sensorPIN);
  41. Serial.println(sensor_status);
  42. if (sensor_status > 960 && flag == 0) {
  43. all_fingers_open();
  44. flag = 1;
  45. }
  46. else if (sensor_status < 960 && flag == 1) {
  47. all_fingers_close();
  48. flag = 0;
  49. }
  50. /*
  51. finger1open();
  52. finger2open();
  53. finger3open();
  54. finger4open();
  55. finger5open();
  56. delay(5000);
  57. finger1close();
  58. finger2close();
  59. finger3close();
  60. finger4close();
  61. finger5close();
  62. delay(5000);
  63. all_fingers_open();
  64. delay(5000);
  65. all_fingers_close();
  66. delay(5000);
  67. */
  68.  
  69. }
  70. void all_fingers_open() {
  71. for (pos1 = 120, pos2 = 60; pos1 >= 30, pos2 <= 150; pos1 -= 1, pos2 += 1) {
  72. servo1.write(pos1);
  73. servo2.write(pos2);
  74. servo3.write(pos2);
  75. servo4.write(pos2);
  76. servo5.write(pos2);
  77. delay(15);
  78. }
  79. }
  80. void all_fingers_close() {
  81. for (pos1 = 30, pos2 = 150; pos1 <= 120, pos2 >= 60; pos1 += 1, pos2 -= 1) {
  82. servo1.write(pos1);
  83. servo2.write(pos2);
  84. servo3.write(pos2);
  85. servo4.write(pos2);
  86. servo5.write(pos2);
  87. delay(15);
  88. }
  89. }
  90. void finger1open() {
  91. for (pos1 = 120; pos1 >= 30; pos1 -= 1) {
  92. servo1.write(pos1);
  93. delay(15);
  94. }
  95. }
  96. void finger1close() {
  97. for (pos1 = 30; pos1 <= 120; pos1 += 1) {
  98. servo1.write(pos1);
  99. delay(15);
  100. }
  101. }
  102.  
  103. void finger2open() {
  104. for (pos2 = 60; pos2 <= 150; pos2 += 1) {
  105. servo2.write(pos2);
  106. delay(15);
  107. }
  108. }
  109. void finger2close() {
  110. for (pos2 = 150; pos2 >= 60; pos2 -= 1) {
  111. servo2.write(pos2);
  112. delay(15);
  113. }
  114. }
  115.  
  116. void finger3open() {
  117. for (pos3 = 60; pos3 <= 150; pos3 += 1) {
  118. servo3.write(pos3);
  119. delay(15);
  120. }
  121. }
  122. void finger3close() {
  123. for (pos3 = 150; pos3 >= 60; pos3 -= 1) {
  124. servo3.write(pos3);
  125. delay(15);
  126. }
  127. }
  128.  
  129. void finger4open() {
  130. for (pos4 = 60; pos4 <= 150; pos4 += 1) {
  131. servo4.write(pos4);
  132. delay(15);
  133. }
  134. }
  135. void finger4close() {
  136. for (pos4 = 150; pos4 >= 60; pos4 -= 1) {
  137. servo4.write(pos4);
  138. delay(15);
  139. }
  140. }
  141.  
  142. void finger5open() {
  143. for (pos5 = 60; pos5 <= 150; pos5 += 1) {
  144. servo5.write(pos5);
  145. delay(15);
  146. }
  147. }
  148. void finger5close() {
  149. for (pos5 = 150; pos5 >= 60; pos5 -= 1) {
  150. servo5.write(pos5);
  151. delay(15);
  152. }
  153. }
  154.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement