#include <Servo.h>
#define VERT_PIN A0
#define HORZ_PIN A1
#define SEL_PIN 2
Servo s1, s2;//舵机1、2
int step = 1;
int p1 = 0, p2 = 0;//舵机1、2的位置
void setup() {
// put your setup code here, to run once:
s1.attach(9);//舵机1连D9
s2.attach(10);//舵机2连D10
pinMode(VERT_PIN, INPUT);
pinMode(HORZ_PIN, INPUT);
pinMode(SEL_PIN, INPUT_PULLUP);
s1.write(p1);
s2.write(p2);
}
void loop() {
// put your main code here, to run repeatedly:
int vert = analogRead(VERT_PIN);
int horz = analogRead(HORZ_PIN);
bool selPressed = digitalRead(SEL_PIN) == LOW;
if (vert != 512) {
if (p1 > 0 && vert < 512) {
//p1 = map(vert, 0, 1023, 0, 180);
s1.write(p1);
p1 -= step;
delay(15);
}
if (p1 < 180 && vert > 512) {
//p1 = map(vert, 0, 1023, 0, 180);
s1.write(p1);
p1 += step;
delay(15);
}
}
if (horz != 512) {
if (p2 > 0 && horz < 512) {
//p2 = map(horz, 0, 1023, 0, 180);
s2.write(p2);
p2 -= step;
delay(15);
}
if (p2 < 180 && horz > 512) {
//p2 = map(horz, 0, 1023, 0, 180);
s2.write(p2);
p2 += step;
delay(15);
}
}
}