用arduino如何实现太阳跟踪?ad值和电机的正反转 转动的角度该怎么思考?

用arduino如何实现太阳跟踪?ad值和电机的正反转 转动的角度该怎么思考?,第1张

//任务:通过按钮控制电机启停和正反转,通过电位计调节电机转速。

int K1=5 //把K1(正转)按钮连在数字端口5

int K2=6 //把K2(反转)按钮连在数字端口6

int K3=7 //把K3(停止)按钮连在数字端口7

int potpin = 3// 把电位计连在模拟端口3

int A=2 //数字端口2、3控制电机启停和转向

int B=3

int PWMpin = 9// 数字端口9输出PWM信号,控制电机转速

//初始化

void setup()

{

pinMode(K1,INPUT)//把数字端口5、6、7设置输入模式

pinMode(K2,INPUT)

pinMode(K2,INPUT)

pinMode(A,OUTPUT)//把数字端口2、3设置输入模式

pinMode(B,OUTPUT)

}

//主程序

void loop()

{

//如果按下K1(正转)按钮

if(digitalRead(K1)==LOW)

{

//电机正转

digitalWrite(A,HIGH)

digitalWrite(B,LOW)

}

//如果按下K2(反转)按钮

if(digitalRead(K2)==LOW)

{

//电机反转

digitalWrite(A,LOW)

digitalWrite(B,HIGH)

}

//如果按下K3(停止)按钮

if(digitalRead(K3)==LOW)

{

//电机停止

digitalWrite(A,LOW)

digitalWrite(B,LOW)

}

int sensorValue = analogRead(potpin)//读取电位计采样值

sensorValue = sensorValue/4// 采样值 0-1024 转换为 0-255

analogWrite(PWMpin, sensorValue)//把处理后的转换值以PWM信号形式输出

delay(20)//延时

该太阳能跟踪系统的工作状态有四种:

1. 常态(好天气情况)下的对日跟踪状态;

2. 间歇式跟踪。如一天当中有一段时间为多云或阴天或恶劣天气时,该系统将甄别为不适宜跟踪,整个系统便处于暂停状态。待光线和跟踪条件适宜时,系统会有一个快速跟踪指令,使跟踪仪大致对准太阳。之后,程序会进行另一组信号采集处理,完成精细跟踪;

3. 自动回位。日落后,系统会自动进入休眠状态,并自动回归到太阳升起的方位。第二天再自动进入新一轮的运转。

4. 恶劣天气状态的保护:当环境风速或降水等因素不适宜系统工作时,跟踪仪会自动停止工作,并使整个大系统的受光面与地平面成平行状态或垂直状态,以避免系统遭到破坏。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10919334.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存