标题: 用红绿蓝LED制作彩虹灯,可装饰各种挂件,房间 [打印本页]

作者: dagu    时间: 2015-4-5 22:20
标题: 用红绿蓝LED制作彩虹灯,可装饰各种挂件,房间

http://player.youku.com/player.php/sid/XNDA2MjM0MjY0/v.swf

通过调节红绿蓝的不同亮度可以得到很多的颜色组合,这里只是其中的一部分,仅供大家欣赏和交流。
做好这个灯,可以放在植物里装饰,比如圣诞树啊,吊兰啊等等,也可以放在四个墙角边设计不同颜色主题的浪漫房间。
   程序如下,(用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);


  
  
  
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1