Guest User

Untitled

a guest
May 24th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. const int IN1 = 13;
  2. const int IN2 = 12;
  3. const int Enable1 = 14;
  4. const int buttonOpen = 2; // Yellow
  5. const int buttonClose = 0; // Black
  6. const int limit1 = 5;
  7. const int limit2 = 4;
  8.  
  9. void setup()
  10. {
  11. pinMode(IN1, OUTPUT);
  12. pinMode(IN2, OUTPUT);
  13. pinMode(Enable1, OUTPUT);
  14. pinMode(buttonOpen, INPUT);
  15. pinMode(buttonClose, INPUT);
  16. pinMode(limit1, INPUT);
  17. pinMode(limit2, INPUT);
  18. }
  19.  
  20. void moveLeft()
  21. {
  22. digitalWrite(Enable1, HIGH); // wakes up driver
  23. digitalWrite(IN1, LOW); //
  24. digitalWrite(IN2, HIGH); // spins counter-clockwise
  25. }
  26.  
  27. void moveRight()
  28. {
  29. digitalWrite(Enable1, HIGH); // wakes up driver
  30. digitalWrite(IN1, HIGH); //
  31. digitalWrite(IN2, LOW); // spins clockwise
  32. }
  33.  
  34. void stopMotor() //brake motor for 0.1 seconds to avoid coasting then place driver to sleep
  35. {
  36. int period = 80L; // 0.08 seconds
  37. for( int tStart = millis(); (millis()-tStart) < period; ){
  38. digitalWrite(IN1, HIGH); // brake
  39. digitalWrite(IN2, HIGH); // brake
  40. }
  41. digitalWrite(Enable1, LOW); // Sleep driver
  42. }
  43.  
  44. void loop(){
  45. // Move motor right
  46. if (digitalRead(buttonOpen) == LOW){
  47. while(digitalRead(limit2) == HIGH){
  48. moveRight();
  49. yield();
  50. }
  51. }
  52. else (stopMotor());
  53.  
  54.  
  55. // Move motor left
  56. if (digitalRead(buttonClose) == LOW){
  57. while(digitalRead(limit1) == HIGH){
  58. moveLeft();
  59. yield();
  60. }
  61. }
  62. else (stopMotor());
  63. }
Add Comment
Please, Sign In to add comment