//Servo motor
const int servopin = 7;
+int servodelay = 20;
//buffer stuff
char command = 0;
Serial.print("Width: ");
Serial.println(rackwidth);
break;
+ case 'L':
+ servodelay = value;
+ break;
+ case 'D':
+ Serial.print("Servo delay: ");
+ Serial.println(servodelay);
+ break;
default:
//Serial.print("Unknown command ");
//Serial.write(command);
#include <Servo.h>
+
//Servo
Servo servo;
}
/*
- angle
- +: clockwise
- -: anticlockwise
+ angle 0-180°
*/
void rotate(int angle)
{
- servo.write(angle);
+ int current = servo.read();
+
+ if(current > angle)
+ {
+ for(int pos = current ; pos > angle ; pos--)
+ {
+ servo.write(pos);
+ delay(servodelay);
+ }
+ }
+ else
+ {
+ for(int pos = current ; pos <= angle; pos++)
+ {
+ servo.write(pos);
+ delay(servodelay);
+ }
+ }
}