福州布衣 发表于 2019-12-20 19:40:50

DIY Arduino自动追光器

DIY Arduino自动追光器材料:Arduino UNO两个舵机四个光敏电阻四个小电阻代码://追光系统#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 range1 = 100;   //设置范围int angle2 = 45;    //设置初始角度int range2 = 100;   //设置范围Servo myServo1;Servo myServo2;
void setup() {myServo1.attach(2);      //定义舵机接口myServo1.write(angle1);   //初始化舵机角度为90度myServo2.attach(3);      //定义舵机接口myServo2.write(angle2);   //初始化舵机角度为90度Serial.begin(9600);    //设置串口波特率}
void loop() {valA = analogRead(InA);//读取A光敏电阻数据valB = analogRead(InB);//读取B光敏电阻数据valC = analogRead(InC);//读取C光敏电阻数据valD = analogRead(InD);//读取D光敏电阻数据//正极接光敏,越光数值越大 A大于B,A比B光 A-B为正数 舵机向A方向转if(valA-valB > range1){    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 = angle1 - 20;    angle1 = constrain(angle1,0,180);    myServo1.write(angle1);    }
//C大于B,C比D光C-D为正数 舵机向C方向转if(valC-valD > range2){    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 = angle2 - 20;    angle2 = constrain(angle2,0,180);    myServo2.write(angle2);    }
//串口输出数据,便于观察工作原理Serial.print("A=");Serial.print(valA);Serial.print("||B=");Serial.println(valB);Serial.print("Angle1=");Serial.println(angle1);Serial.print("C=");Serial.print(valC);Serial.print("||D=");Serial.println(valD);Serial.print("Angle2=");Serial.println(angle2);delay(500);//延时
}视频:https://pan.baidu.com/s/1uwRdmawszXfamLB5g4pppA

碌碌无为 发表于 2019-12-31 16:42:48

十分感谢楼主分享,过来学习一下。其中几个判断句中,格式是否应为:if((valA-valB)>range1)?以下几处类同;在C与D的第一次比较中,注释语句应为C大于D;另外视频文件无法播放,能否重新处理一下?再次深表感谢。

MWD--文化易人 发表于 2020-2-16 19:23:38

视频文件无法播放,能否重新处理一下.

方恨少 发表于 2020-2-16 19:45:55

教程详细,可以学到

66666.. 发表于 2020-4-2 12:47:06

有没有电路图

marco99 发表于 2020-4-6 21:30:34


有没有电路图

yuwen0 发表于 2020-8-21 15:02:43

跪求电路图

yuwen0 发表于 2020-8-21 21:41:10

碌碌无为 发表于 2019-12-31 16:42
十分感谢楼主分享,过来学习一下。其中几个判断句中,格式是否应为:if((valA-valB)>range1)?以下几处类同 ...

大佬能不能发一下电路图谢谢

catnull 发表于 2020-8-25 19:11:38

向楼主学习
页: [1]
查看完整版本: DIY Arduino自动追光器