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
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();
|
||
|
|
||
|
}
|