Guest User

Untitled

a guest
Jun 20th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #include <Servo.h>
  2. Servo servo;
  3. int min = 0;
  4. int max = 180;
  5. int panDelay = 100;
  6.  
  7. void setup() {
  8. Serial.begin(9600); // start serial port at 9600 bps:
  9. pinMode(13, OUTPUT);
  10. digitalWrite(13, LOW);
  11. servo.attach(2, min, max);
  12. servo.write(90);
  13. }
  14.  
  15. void loop() {
  16.  
  17. String line;
  18. while( Serial.available()) { // buffer up a line
  19. char c;
  20. c = Serial.read();
  21. line = line + c;
  22. }
  23. line = line.trim();
  24. Serial.flush();
  25.  
  26. if (line.indexOf('ON') >= 0) {
  27. Serial.println("Setting on");
  28. digitalWrite(13, HIGH);
  29. moveTo(max);
  30.  
  31. }
  32.  
  33. if (line.indexOf('OFF') >= 0) {
  34. Serial.println("Setting off");
  35. digitalWrite(13, LOW);
  36. moveTo(min);
  37. }
  38.  
  39. if (line.indexOf('q') >= 0) {
  40. Serial.println("Down");
  41. moveTo(servo.read() - 10);
  42. }
  43.  
  44. if (line.indexOf('w') >= 0) {
  45. Serial.println("Up");
  46. moveTo(servo.read() + 10);
  47. }
  48.  
  49. delay(1000);
  50. Serial.print(".");
  51. }
  52.  
  53.  
  54. void moveTo(int dest) {
  55.  
  56. int current = servo.read();
  57. while (current < dest && dest <= max) {
  58. current = current + 1;
  59. Serial.print("Current: ");
  60. Serial.println(current, DEC);
  61. servo.write(current);
  62. delay(panDelay);
  63. }
  64.  
  65. while (current > dest && dest >= min) {
  66. current = current - 1;
  67. Serial.print("Current: ");
  68. Serial.println(current, DEC);
  69. servo.write(current);
  70. delay(panDelay);
  71. }
  72.  
  73. }
Add Comment
Please, Sign In to add comment