Hello,
for a project i have something which is getting me stuck.... so far.
I want to move a servo using a potentiometer, but also i would like to move the servo from the set position by the potmeter with 2 buttons, button A turn left, button B turn right.
In my search for this problem i came to the solution to add up the value pos to val.
But so far this is not working.
This is the test sketch so far:
#include <Servo.h>
Servo myservo;
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
#define leftPin 2
#define rightPin 3
int pos = 90;
int delayPeriod = 50; // increasing this slows down the servo movement
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo.write(pos); // center the servo
pinMode(leftPin, LOW);
pinMode(rightPin, LOW);
}
void loop()
{
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(delayPeriod);
if ((digitalRead(leftPin) == HIGH)&& (val+pos < 180))
{
++pos;
myservo.write(val+pos);
}
else if ((digitalRead(rightPin) == HIGH) && (val+pos > 0))
{
--pos;
myservo.write(val+pos);
delay(delayPeriod);
}
}
What am i doing wrong ?