int led[] ={3,5,6,9,10,11}; //共有6個pwm 的led
int i=0;
int j=0;
int way=0;//往上亮或是往下暗,用boolean也可以
//-------------------------------------------------------------------------
void setup()
{
int i;
for(i=0;i<=5;i++)//先設定pwm pin腳位為輸出模式
{
pinMode(led[i],OUTPUT);
}
}
//------------------------------------------------------------------------------
void loop()
{
while(1)
{
if(way==0)//way=0代表慢慢亮,每次加數字5的亮度,超過255就改flag=1
{
i=i+5;
if(i>=255)
way=1;
analogWrite(led[j],i); //led腳位變數用j, 亮度漸亮用i,不要conflict, 且類比寫出腳位(因為我們j為gobal var,所以memory var會跟著change
delay(10); //要delay否則看不出亮度的變化
}
else//否則 0跑到255 一定會跑到else 255跑到0
{
i=i-5;//每次亮度減5即(慢慢變暗暗)
analogWrite(led[j],i);
delay(10);
if(i<=0)//如果亮度變數小於0,方向又變為0往上亮
{//此處要大括號整個包含,因為亮到暗是一個週期
analogWrite(led[j],0);//此行可以不用寫
way=0;
j=j+1;//led腳位共有6pin腳位,超過6就又歸0
if(j>5)
j=0;
}
}
}
}
沒有留言:
張貼留言