Advertisement
Guest User

Servobewegung

a guest
Nov 20th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #include <VarSpeedServo.h>
  2.  
  3. VarSpeedServo MeinServo;
  4.  
  5. void setup() {
  6. pinMode(A0, INPUT);//joystick input
  7. MeinServo.attach(9); //Servo Pin
  8. Serial.begin(9600);
  9. }
  10.  
  11. void loop() {
  12.  
  13. static int pos = 0;
  14. static int geschw = 1;
  15.  
  16. int posit = pulseIn (A0, HIGH);
  17. int tgeschw = pulseIn (A0, HIGH);
  18.  
  19. tgeschw = map(tgeschw, 1000 , 2000 , -100 , 100);
  20.  
  21.  
  22.  
  23. if (tgeschw < 0)
  24. {
  25.  
  26. tgeschw = tgeschw * -1;///um aus map immer positive zahl zu machen
  27. }
  28.  
  29. //geschwindigkeit für feueranlageservo
  30. if (tgeschw > 5)// >5 ist die Todzone
  31. {
  32. geschw = tgeschw;
  33. }
  34. else
  35. {
  36. geschw = 1;
  37. MeinServo.detach(); //detach um Servo zittern bei Stillstand zu vermeiden
  38. }
  39.  
  40.  
  41.  
  42. //Endposition des Servos
  43. if (posit < 1400)
  44. {
  45. pos = 180;
  46. MeinServo.attach(9);
  47. }
  48.  
  49. if (posit > 1600)
  50. {
  51. pos = 0;
  52. MeinServo.attach(9);
  53. }
  54.  
  55.  
  56.  
  57.  
  58. MeinServo.write(pos , geschw , false); //false bedeutet das die Aktion unterbrochen werden kann
  59. //wenn dies true wäre würde die Schleife mindestens solange wie die Servobewegung dauern
  60.  
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement