Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <pigpio.h>
  4.  
  5. #define stp_X 2
  6. #define dir_X 3
  7. // #define MS1_X 4
  8. // #define MS2_X 5
  9. // #define MS3_X 6
  10. // #define EN_X 7
  11. // #define stp_Y 2
  12. // #define dir_Y 3
  13. // #define MS1_Y 4
  14. // #define MS2_Y 5
  15. // #define MS3_Y 6
  16. // #define EN_Y 7
  17.  
  18. #define XSTEPS 0 //X movement per one step
  19. #define YSTEPS 0 //Y movement per one step
  20.  
  21. int x=0;
  22. int y=0;
  23.  
  24. void step(int motor,int num)
  25. {
  26. while(num>0){
  27. gpioWrite(motor, 1);
  28. usleep(100); //time_sleep(0.5);
  29. gpioWrite(motor, 0);
  30. usleep(100);
  31. num--;
  32. }
  33.  
  34. }
  35.  
  36. void gotoXY(int new_x, int new_y)
  37. {
  38. if(new_x-x>0)
  39. gpioWrite(dir_X, 1);
  40. else
  41. gpioWrite(dir_X, 0);
  42.  
  43. if(new_y-y>0)
  44. gpioWrite(dir_Y, 1);
  45. else
  46. gpioWrite(dir_Y, 0);
  47.  
  48. step(stp_X,abs(new_x-x)/XSTEPS);
  49. // step(stp_Y,abs(new_y-y)/YSTEPS);
  50.  
  51. x=new_x;
  52. y=new_y;
  53. }
  54.  
  55. int main(int argc, char *argv[])
  56. {
  57. double start;
  58.  
  59. if (gpioInitialise() < 0)
  60. {
  61. fprintf(stderr, "pigpio initialisation failed\n");
  62. return 1;
  63. }
  64.  
  65.  
  66. gpioSetMode(stp_X, PI_OUTPUT);
  67. gpioSetMode(dir_X, PI_OUTPUT);
  68. // gpioSetMode(MS1_X, PI_OUTPUT);
  69. // gpioSetMode(MS2_X, PI_OUTPUT);
  70. // gpioSetMode(MS3_X, PI_OUTPUT);
  71. // gpioSetMode(EN_X, PI_OUTPUT);
  72.  
  73. // gpioSetMode(stp_Y, PI_OUTPUT);
  74. // gpioSetMode(dir_Y, PI_OUTPUT);
  75.  
  76. // gpioSetMode(MS1_Y, PI_OUTPUT);
  77. // gpioSetMode(MS2_Y, PI_OUTPUT);
  78. // gpioSetMode(MS3_Y, PI_OUTPUT);
  79. // gpioSetMode(EN_Y, PI_OUTPUT);
  80.  
  81. //Set to 1/16th microstep
  82. // gpioWrite(MS1_X, 1);
  83. // gpioWrite(MS2_X, 1);
  84. // gpioWrite(MS3_X, 1);
  85. // gpioWrite(MS1_Y, 1);
  86. // gpioWrite(MS2_Y, 1);
  87. // gpioWrite(MS3_Y, 1);
  88.  
  89. // gpioWrite(EN_X, 0);
  90. // gpioWrite(EN_Y, 0);
  91.  
  92.  
  93. //get x and y and call goto fucntion
  94. gotoXY(50,50);
  95. gotoXY(10,50);
  96.  
  97. gpioTerminate();
  98.  
  99. return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement