#include <Servo.h> //载入Servo库
#define InA A0 //定义读取a光敏电阻的模拟口
#define InB A1 //定义读取b光敏电阻的模拟口
#define InC A2 //定义读取c光敏电阻的模拟口
#define InD A3 //定义读取d光敏电阻的模拟口
int valA,valB; //用于存储两个光敏电阻的数值
int valC,valD; //用于存储两个光敏电阻的数值
int angle1 = 90; //设置初始角度
int angle2 = 45; //设置初始角度
myServo1.attach(2); //定义舵机接口
myServo1.write(angle1); //初始化舵机角度为90度
myServo2.attach(3); //定义舵机接口
myServo2.write(angle2); //初始化舵机角度为90度
Serial.begin(9600); //设置串口波特率
valA = analogRead(InA); //读取A光敏电阻数据
valB = analogRead(InB); //读取B光敏电阻数据
valC = analogRead(InC); //读取C光敏电阻数据
valD = analogRead(InD); //读取D光敏电阻数据
//正极接光敏,越光数值越大 A大于B,A比B光 A-B为正数 舵机向A方向转
angle1 = angle1 + 20; //角度+1
angle1 = constrain(angle1,0,180); //约束输出
myServo1.write(angle1); //执行角度
//A小于B,B比A光 A-B为负数 舵机向B方向转
else if(valA - valB < -range1){
angle1 = constrain(angle1,0,180);
//C大于B,C比D光C-D为正数 舵机向C方向转
angle2 = angle2 + 20; //角度+1
angle2 = constrain(angle2,0,180); //约束输出
myServo2.write(angle2); //执行角度
//C小于D,D比A光C-D为负数 舵机向D方向转
else if(valC - valD < -range2){
angle2 = constrain(angle2,0,180);