一个关于protues里基于pwm实现呼吸灯的问题

2019-07-15 08:47发布

我是个新手,第一次使用protues,不怎么会用。环境是Arduino328,目标是不同温度范围内对应的LED实现呼吸灯效果,但实际操作只有第一盏实现,第二盏闪烁,第三盏不亮。。不知道该怎么修改,希望大佬帮忙解答下面原理图:从上到下第一第二第三盏灯


然后是源代码:
int potPin = 0; //定义模拟接口0 连接LM35 温度传感器
int LED1=11;
int LED2=12;
int LED3=13;
void setup()
{
  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
  pinMode(LED3,OUTPUT);
}

void hx(int LED)
{
for(int brightness = 0; brightness <= 255; brightness++)
{ analogWrite(LED, brightness);
  delay(5);}
for(int brightness = 255; brightness >= 0; brightness--)
{ analogWrite(LED, brightness);
  delay(5);}
  delay(500);
}

void loop()
{
int val;                                      //定义变量
int dat;                                     //定义变量
val=analogRead(0);                 //读取传感器的模拟值并赋值给val
dat=(125*val)>>8;                  //温度计算公式
if (dat<=31)                            //低温区的温度值设置、以及led显示
{
hx(LED1);
/*digitalWrite(LED1,HIGH);*/
  digitalWrite(LED2,LOW);
  digitalWrite(LED3,LOW);}
  else  
  if(dat>=32&&dat<=40)       //适宜温度区设置
{  
hx(LED2);
   digitalWrite(LED1,LOW);
/*digitalWrite(LED2,HIGH);*/
   digitalWrite(LED3,LOW);}
    else  
    if(dat>=41)                        //高温区温度设置
{   
hx(LED3);
    digitalWrite(LED1,LOW);
    digitalWrite(LED2,LOW);
  /*digitalWrite(LED3,HIGH);*/ }
delay(500);                            //延时0.5 秒
}


原理图 原理图
0条回答

一周热门 更多>