#include <Servo.h>
Servo servo1;
void setup() {
servo1.attach(11);
// put your setup code here, to run once:
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}
void loop() {
// THIS IS A BASIC RANDOM ANGLE
int angle1 = random( 0, 181); // 0...180
//servo1.write(angle1); // THIS IS HOW YOU CHANGE THE ANGLE MANUALLY
delay(1000);
// THIS IS A SINUSOIDAL MOVEMENT OF THE MOTOR
float s = sin(angle1); // The sine from the angle in radian
float t = (90.0 * s) + 90.0; // convert -1...1 to 0...180
int angle2 = int( t); // convert it to integer for the servo angle
servo1.write( angle2);
int potentiometer1 = analogRead( A0);
float r_increment = 0.001 + (0.00005 * float(potentiometer1));
angle1 += r_increment;
if( angle1 >= 2.0 * M_PI)
{
angle1 -= 2.0 * M_PI;
}
}