CarlosCarrera

Untitled

Jan 17th, 2018
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. // Programa : Driver motor de passo A4988
  2. // Autor : Arduino e Cia
  3.  
  4. #include <AccelStepper.h>
  5.  
  6. int velocidade_motor = 100;
  7. int aceleracao_motor = 100;
  8. int sentido_horario = 0;
  9. int sentido_antihorario = 0;
  10. int numero = 0;
  11.  
  12. // Definicao pino ENABLE
  13. int pino_enable = 10;
  14.  
  15. // Definicao pinos STEP e DIR
  16. AccelStepper motor1(1,7,4 );
  17.  
  18. void setup()
  19. {
  20. Serial.begin(9600);
  21. pinMode(pino_enable, OUTPUT);
  22. // Configuracoes iniciais motor de passo
  23. motor1.setMaxSpeed(velocidade_motor);
  24. motor1.setSpeed(velocidade_motor);
  25. motor1.setAcceleration(aceleracao_motor);
  26.  
  27. Serial.println("Digite 1, 2 ou 3 e clique em ENVIAR...");
  28. }
  29.  
  30. void loop()
  31. {
  32. // Aguarda os caracteres no serial monitor
  33. if (Serial.available() > 0)
  34. {
  35. numero = Serial.read();
  36. {
  37. if (numero == '1')
  38. {
  39. Serial.println("Numero 1 recebido - Girando motor sentido horario.");
  40. digitalWrite(pino_enable, LOW);
  41. sentido_horario = 1;
  42. sentido_antihorario = 0;
  43. }
  44.  
  45. if (numero == '2')
  46. {
  47. Serial.println("Numero 2 recebido - Girando motor sentido anti-horario.");
  48. digitalWrite(pino_enable, LOW);
  49. sentido_horario = 0;
  50. sentido_antihorario = 1;
  51. }
  52.  
  53. if (numero == '3')
  54. {
  55. Serial.println("Numero 3 recebido - Parando motor...");
  56. sentido_horario = 0;
  57. sentido_antihorario = 0;
  58. motor1.moveTo(0);
  59. digitalWrite(pino_enable, HIGH);
  60. }
  61. }
  62. }
  63.  
  64. // Move o motor no sentido horario
  65. if (sentido_horario == 1)
  66. {
  67. motor1.moveTo(10000);
  68. }
  69. // Move o motor no sentido anti-horario
  70. if (sentido_antihorario == 1)
  71. {
  72. motor1.moveTo(-10000);
  73. }
  74. // Comando para acionar o motor no sentido especificado
  75. motor1.run();
  76. }
Add Comment
Please, Sign In to add comment