]> git.piffa.net Git - rover/commitdiff
Servo rotation now is progressive
authorAndrea Manni <andrea@piffa.net>
Wed, 5 Apr 2017 16:16:33 +0000 (18:16 +0200)
committerAndrea Manni <andrea@piffa.net>
Wed, 5 Apr 2017 16:16:33 +0000 (18:16 +0200)
libraries/rover/library.properties
libraries/rover/rover.cpp

index a5641e87e03a08f0ba54aa4622de62ade5245dc7..9af0ea171c0e977985d9ea00d92a2c05d7843d74 100644 (file)
@@ -4,6 +4,6 @@ author=Andrea Manni <andrea@piffa.net>
 maintainer=Andrea Manni <andrea@piffa.net>
 sentence=Funzioni specifiche per rover
 paragraph=Funzioni da richiamare negli sketch per rover
-category=Robots
+category=Device Control
 url=https://piffa.net
 architectures=*
index d95fe065190912808ab355e57e2843965a97bd73..b02e8cbbbe95231e00b7ad6c35423efe5b3e8533 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  Rover 
+  Rover
 
 Autore: Andrea Manni
 
@@ -26,10 +26,12 @@ const int in4 = 3;
 byte speedB = 255;
 
 // Servo vars
-int pos = 0;    // variable to store the servo position 
+int pos = 0;    // variable to store the servo position
 const byte servoPIN =9 ;
 const byte middle = 90; // Centratura servo
-const int spausa = 30; // Pausa movimenti servo
+const int spausa = 10; // Pausa movimenti servo
+const byte sx = 10;  // Min SX
+const byte dx = 170; // Maz DX
 Servo myservo; // Non c'e' bisogno di extern se e' dichiarato in questo scope
 
 ////////////////////////
@@ -121,15 +123,28 @@ void stopB() {
 // Servo
 void turnDX() {
     // TurnDX
-    myservo.write(170);
+    while (pos < dx) {
+        myservo.write(pos++);
+        delay(spausa);
+    }
 }
-    
+
 void turnSX() {
     // TurnSX
-    myservo.write(10);
+    while (pos > sx) {
+        myservo.write(pos--);
+        delay(spausa);
+    }
 }
 
-void turnMiddle() { 
-    // TurnDX
-    myservo.write(middle);
+void turnMiddle() {
+    // Middle
+    while (pos > middle) {
+        myservo.write(pos--);
+        delay(spausa);
+    }
+    while (pos < middle) {
+        myservo.write(pos++);
+        delay(spausa);
+    }
 }