Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. #define step_pin 3 // Pin 3 connected to Steps pin
  2. #define dir_pin 2 // Pin 2 connected to Direction pin
  3.  
  4. #define joyX A0 // Pin A0 connected to joystick X axis
  5. #define joyY A1 // Pin A1 connected to joystick Y axis
  6. #define joy_switch 4 // Pin 4 connected to joystick switch
  7. #define MS1 8 // Pin 9 connected to MS1 Pin
  8. #define MS2 9 // Pin 8 connected to MS2 pin
  9. #define MS3 10 // Pin 10 connected to MS3 pin
  10.  
  11. #define limit01
  12.  
  13. int step_speed = 10; // Speed of Stepper motor (higher = slower)
  14.  
  15. void setup() {
  16.  
  17. pinMode(MS1, OUTPUT);
  18. pinMode(MS2, OUTPUT);
  19. pinMode(MS3, OUTPUT);
  20. pinMode(dir_pin, OUTPUT);
  21. pinMode(step_pin, OUTPUT);
  22.  
  23.  
  24.  
  25. pinMode(joy_switch, INPUT_PULLUP);
  26.  
  27.  
  28. /* MS1 MS2 MS3 Microstep Resolutions //
  29. // //
  30. // Low Low Low = Full Step //
  31. // High Low Low = Half Step //
  32. // Low High Low = Quarter Step //
  33. // High High Low = Eighth Step //
  34. // High High High = Sixteenth Step //
  35. // //
  36. */
  37.  
  38.  
  39.  
  40. digitalWrite(MS1, HIGH);
  41. digitalWrite(MS2, HIGH);
  42. digitalWrite(MS3, HIGH);
  43.  
  44.  
  45. }
  46.  
  47. void loop() {
  48. if (!digitalRead(joy_switch)) { // If Joystick switch is clicked
  49. delay(500); // delay for deboucing
  50. switch (step_speed) { // check current value of step_speed and change it
  51. case 1:
  52. step_speed=10; // slow speed
  53. break;
  54. case 3:
  55. step_speed=1; // fast speed
  56. break;
  57. case 10:
  58. step_speed=3; // medium speed
  59. break;
  60. }
  61. }
  62.  
  63. if (analogRead(joyY) > 712) { // If joystick is moved Left
  64.  
  65. digitalWrite(dir_pin, LOW); // (HIGH = anti-clockwise / LOW = clockwise)
  66. digitalWrite(step_pin, HIGH);
  67. delay(step_speed);
  68. digitalWrite(step_pin, LOW);
  69. delay(step_speed);
  70. }
  71. else
  72.  
  73. if (analogRead(joyY) < 200) { // If joystick is moved Right
  74.  
  75. digitalWrite(dir_pin, HIGH); // (HIGH = anti-clockwise / LOW = clockwise)
  76. digitalWrite(step_pin, HIGH);
  77. delay(step_speed);
  78. digitalWrite(step_pin, LOW);
  79. delay(step_speed);
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement