一个关于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 秒
}
-
原理图
一周热门 更多>