/*
Controlling a servo position using a potentiometer (variable resistor)
by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>
modified on 8 Nov 2013
by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Knob
*/
#include <Servo.h>
int pot1;
int pot2;
float pot1Scaled;
float pot2Scaled;
float pot1Smoothed;
float pot2Smoothed;
float pot1SmoothedPrev;
Servo servo1;
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
pinMode(A0, INPUT);
Serial.begin(115200);
servo1.attach(9);
servo1.writeMicroseconds(1200);
//myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
pot1 = analogRead(A0);
pot2 = analogRead(A1);
pot1Scaled = pot1*0.7+90;
pot1Smoothed = (pot1Scaled * 0.15) + (pot1SmoothedPrev * 0.95);
pot1SmoothedPrev = pot1Smoothed;
//servo1.writeMicroseconds(pot1Smoothed);
// pot2Scaled = ;
servo1.writeMicroseconds(pot1Smoothed+ pot2*0.1);
Serial.println(pot1Smoothed);
delay(20);
// Serial.println(pot2Scaled);
/*Serial.print(pot1Smoothed);
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); */ // waits for the servo to get there
}