通過調節紅綠藍的不同亮度可以得到很多的顏色組合,這里只是其中的一部分,僅供大家欣賞和交流。
做好這個燈,可以放在植物里裝飾,比如圣誕樹啊,吊蘭啊等等,也可以放在四個墻角邊設計不同顏色主題的浪漫房間。
程序如下,(用ATMEGA8L芯片制作)
/*
cai hong deng cheng xu.
*/
int i=0;
int j=0;
int k=0;
void fun1(int n)
{
for(i=9;i<12;i++)
{analogWrite(i, 240);
delay(n);
}
}
void fun2(int n)
{
for(i=11;i>8;i--)
{analogWrite(i, 240);
delay(n);
}
}
void mie(int n)
{ for(i=9;i<12;i++)
{analogWrite(i, 0);}
delay(n);}
void bian1(int n)
{
for(i=0;i<255;i++)
{
analogWrite(9, i);
analogWrite(10, i);
analogWrite(11, i);
delay(n);
}
}
void bian11(int n )
{
for(i=255;i>0;i--)
{
analogWrite(9, i);
analogWrite(10, i);
analogWrite(11, i);
delay(n);
}
}
void blue(int n)
{
for(i=0;i<255;i++)
{
analogWrite(9,0);
analogWrite(10, i);
analogWrite(11, 255);
delay(n);}
for(i=0;i<255;i++)
{ analogWrite(9, i);
analogWrite(10, 255);
analogWrite(11, 255);
delay(n);}
for(i=0;i<255;i++)
{ analogWrite(9, i);
analogWrite(10, i);
analogWrite(11, 255);
delay(n);}
}
void green(int n)
{
for(i=0;i<255;i++)
{ analogWrite(9, i);
analogWrite(10, 255);
analogWrite(11, i);
delay(n);}
for(i=0;i<255;i++)
{ analogWrite(9, 255-i);
analogWrite(10, 255);
analogWrite(11,255-i);
delay(n);}
for(i=50;i<200;i++)
{ analogWrite(9, i);
analogWrite(10, 255);
analogWrite(11,200-i);
delay(n);}
for(i=50;i<200;i++)
{ analogWrite(9, 200-i);
analogWrite(10, 255);
analogWrite(11,i);
delay(n);}
}
void colour(int n)
{
for(i=0;i<255;i++)
{ analogWrite(9, i);
analogWrite(10, i);
analogWrite(11,i);
delay(n);}
for(j=0;j<120;j=j+10)
{for(i=j;i<255-j;i++)
{ analogWrite(9, 255-i);
analogWrite(10, i);
analogWrite(11,255-i);
delay(n+j/5);}
for(i=j;i<255-j;i++)
{ analogWrite(9, i);
analogWrite(10, 255-i);
analogWrite(11,i);
delay(n+j/5);}
}
}
void setup() {
pinMode(9, OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}
void loop() {
fun1(1500);
mie(500);
fun2(1500);
mie(500);
fun1(1000);
mie(250);
fun2(1000);
mie(250);
bian1(20);
bian11(20);
bian1(10);
bian11(10);
blue(10);
green(10);
bian1(10);
bian11(10);
colour(10);
}
|