找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4017|回复: 0
打印 上一主题 下一主题
收起左侧

用红绿蓝LED制作彩虹灯,可装饰各种挂件,房间

[复制链接]
跳转到指定楼层
楼主
ID:70941 发表于 2015-4-5 22:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



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


  
  
  
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表