Advertisement
Guest User

Untitled

a guest
May 28th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. #include <Servo.h>
  2. Servo myservo;
  3. int pos = 0;
  4.  
  5.  
  6. int clk=9;
  7. int dt=8;
  8. int rotpos=90;
  9. int current=0;
  10. int before=0;
  11. int lr=0;
  12. int left=1;
  13. int right=-1;
  14. int sw=7;
  15. int csw=0;
  16. void setup() {
  17. // put your setup code here, to run once:
  18. Serial.begin(9600);
  19. pinMode(clk, INPUT);
  20. pinMode(dt, INPUT);
  21. pinMode(sw, INPUT_PULLUP);
  22. before = digitalRead(clk);
  23. myservo.attach(4);
  24. }
  25.  
  26.  
  27. void loop() {
  28. // put your main code here, to run repeatedly:
  29. csw=digitalRead(sw);
  30. current=digitalRead(clk);
  31. if(current != before){
  32. if(digitalRead(dt)!=current){
  33. rotpos+=4;
  34. lr=right;
  35.  
  36. }
  37. else{
  38. rotpos-=4;
  39. lr=left;
  40. }
  41.  
  42. if(lr==left){
  43. Serial.print("LEFT ");
  44. Serial.print(rotpos);
  45. Serial.println("");
  46. }else{
  47. Serial.print("RIGHT ");
  48. Serial.print(rotpos);
  49. Serial.println("");
  50. }
  51. if(rotpos > 180) rotpos=180;
  52. if(rotpos < 0) rotpos=0;
  53.  
  54.  
  55.  
  56. }
  57. before=current;
  58. if(csw == 0){
  59. myservo.write(rotpos);
  60. delay(15);
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement