You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
1.2 KiB

4 years ago
#include <Servo.h>
#define stepAngle 45
Servo myservo;
int pos = 0;
int oldPos = 180;
char recievedChar;
void setup() {
Serial.begin(9600);
myservo.attach(6);
for(int i = oldPos; i <= pos; i++) {
myservo.write(i);
delay(20);
}
}
void loop() {
if(Serial.available()){
int tmpPos = Serial.read();
if(tmpPos) {
switch(tmpPos) {
case 'A':
pos = 0;
break;
case 'B':
pos = stepAngle * 1;
break;
case 'C':
pos = stepAngle * 2;
break;
case 'D':
pos = stepAngle * 3;
break;
case 'E':
pos = stepAngle * 4;
break;
}
if(oldPos < pos) {
for(int i = oldPos; i <= pos; i++) {
myservo.write(i);
delay(10);
}
} else {
for(int i = oldPos; i > pos; i--) {
myservo.write(i);
delay(10);
}
}
/*
Serial.print(oldPos);
Serial.print("\t");
Serial.print(pos);
Serial.print("\t");
Serial.println(tmpPos);
*/
oldPos = pos;
}
}
//Serial.flush();
}