/*
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>
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() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
Serial.begin(9600);
Serial.setTimeout(50);
Serial.println("start");
}
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
if (Serial.available()) {
String str = Serial.readString();
int x;
Serial.println(str);
switch (str[0]) {
case 'x':
{ Serial.println("xxx");
str.remove(0,2);
Serial.println(str);
x=str.toInt();
Serial.println(x);
myservo.write(x);
}
break;
case 2:
//выполняется когда var равно 2
break;
default:
// выполняется, если не выбрана ни одна альтернатива
// default необязателен
break;
}
}
delay(150); // waits for the servo to get there
}