找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求5500RGB全彩圆形流水灯原理图

[复制链接]
跳转到指定楼层
楼主
最近想给新房子装个吊灯,想自己DIY一个16位圆形5500RGB全彩LED圆形流水灯,不知道该怎么弄。使用想求原理图
谢谢大神

C57C1BC3D106B87BC0D6556A91CAED15.jpg (48.47 KB, 下载次数: 141)

RGB

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

使用道具 举报

沙发
ID:155507 发表于 2017-6-18 07:57 | 只看该作者
这个16位圆形5500RGB全彩LED圆形流水灯,用WS2811彩灯单片机驱动
I/O接口 接DIN VCC接+5V GND接0V
看看一下这
http://www.51hei.com/bbs/dpj-76424-1.html

  1. // 仅以此贴献给刚刚学会流水灯的孩子,学会这个就可以搞任意颜色搭配的流水灯了,而且根本不用考虑引脚个数(碎碎念:只用一个引脚就可以控制几百个以上的灯珠,每个灯珠颜色是255*255*255种)


  2. //代码如下:
  3. /********************************************************/
  4. /*作 者:Dyingstraw
  5. /*修改日期:2015.5.2
  6. /*版    本:V1.0
  7. /*程序功能:用51单片机控制ws2812 RGB输出,显示全色彩
  8. /*备 注:51单片机晶振24M
  9. /********************************************************/

  10. #include<reg52.h>
  11. #include<intrins.h>
  12. #define uchar unsigned char

  13. sbit Send_Dat=P1^0;     //数据输出,接IN脚
  14. sbit Key=P1^1;          //按键等待
  15. sbit Send_Dat1=P1^2;   //中断状态灯
  16. uchar RGB_BUF[24];
  17. void delay();
  18. void delays();
  19. void init();

  20. uchar Led_Tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};        
  21. //存储一个转化后的RGB2进制数  共24bits
  22. struct My_24bits                  //结构体
  23. {
  24.         uchar G_VAL;                 //绿色  0-255
  25.         uchar R_VAL;                  //红色 0-255
  26.         uchar B_VAL;                  //蓝色0-255
  27. };


  28. /*写入数据时序*/
  29. void Send_A_bit(uchar VAL)
  30. {
  31.         //     Send_Dat=0;
  32.         if (VAL==1)
  33.         {
  34.                 //     Send_Dat=0;
  35.                 Send_Dat=1;
  36.                 _nop_();
  37.                 //_nop_();
  38.                 Send_Dat=0;     //2.17us
  39.                 //_nop_();
  40.                 //     Send_Dat=1;    //2.17us
  41.         }
  42.         else
  43.         {
  44.                 // Send_Dat=0;
  45.                 Send_Dat=1;
  46.                 //_nop_();
  47.                 //_nop_();
  48.                 Send_Dat=0;           
  49.                 _nop_();
  50.                 // Send_Dat=1;
  51.         }           
  52.        
  53. }


  54. /*发送24位字符(包含RGB信息各8位)*/
  55. void Send_24bits(struct My_24bits RGB_VAL )                     
  56. {
  57.         uchar i;
  58.         for   (i=0;i<8;i++)
  59.         {
  60.                 RGB_BUF[i]=RGB_VAL.R_VAL>>i&0x01;      //转化R_VAL
  61.         }
  62.         for   (i=8;i<16;i++)
  63.         {
  64.                 RGB_BUF[i]=RGB_VAL.G_VAL>>(i-8)&0x01;  //转化G_VAL
  65.         }
  66.         for   (i=16;i<24;i++)                     //转化B_VAL
  67.         {
  68.                 RGB_BUF[i]=RGB_VAL.B_VAL>>(i-16)&0x01;     
  69.         }
  70.         for (i=0;i<24;i++)
  71.         {
  72.                 Send_A_bit(RGB_BUF[i]);
  73.         }
  74.        
  75. }

  76. /*主函数*/
  77. void main()
  78. {

  79.         struct My_24bits a,b,c,d,e,f,g;
  80.         a.R_VAL=0xff;
  81.         a.G_VAL=0x00;                      //1        颜色顺序,下同
  82.         a.B_VAL=0x00;

  83.         b.R_VAL=0x00;
  84.         b.G_VAL=0xff;                       //2
  85.         b.B_VAL=0x00;

  86.         c.R_VAL=0x00;
  87.         c.G_VAL=0x00;                      //3
  88.         c.B_VAL=0xff;

  89.         d.R_VAL=0xff;                       //4
  90.         d.G_VAL=0xff;
  91.         d.B_VAL=0x00;

  92.         e.R_VAL=0xff;
  93.         e.G_VAL=0x00;                       //5
  94.         e.B_VAL=0xff;

  95.         f.R_VAL=0x00;
  96.         f.G_VAL=0xff;                       //6
  97.         f.B_VAL=0xff;

  98.         g.R_VAL=0xff;                       //7
  99.         g.G_VAL=0xff;
  100.         g.B_VAL=0xff;
  101.         init();
  102.         while(1)
  103.         {
  104.                 Send_Dat=0;
  105.                 Send_24bits(a);
  106.                 Send_Dat=0;   P0=0xF9;
  107.                 delays();
  108.                 while(Key==1);                                        //按键等待,当Key=1时停止,等于0时七种颜色流水灯循环,下同(主要方便观察颜色)

  109.                 Send_24bits(b);
  110.                 Send_Dat=0;    P0=0xa4;      //共阴极数码管显示颜色顺序,下同
  111.                 delays();
  112.                 while(Key==1);

  113.                 Send_24bits(c);
  114.                 Send_Dat=0;   P0=0xb0;
  115.                 delays();
  116.                 while(Key==1);

  117.                 Send_24bits(d);
  118.                 Send_Dat=0;   P0=Led_Tab[4];
  119.                 delays();
  120.                 while(Key==1);

  121.                 Send_24bits(e);
  122.                 Send_Dat=0;   P0=Led_Tab[5];
  123.                 delays();
  124.                 while(Key==1);

  125.                 Send_24bits(f);
  126.                 Send_Dat=0;   P0=Led_Tab[6];
  127.                 delays();
  128.                 while(Key==1);

  129.                 Send_24bits(g);
  130.                 Send_Dat=0;   P0=Led_Tab[7];
  131.                 delays();
  132.                 while(Key==1);
  133.                 //     PCON|=0x01;      //空闲模式
  134.                
  135.         }
  136. }



  137. /*中断唤醒测试函数*/
  138. void INT1_ISR(void) interrupt 2
  139. {
  140.         P2=1;
  141. }


  142. /*小延时函数*/
  143. /*大概1S吧,随便写的*/
  144. void delay()
  145. {
  146.         uchar i,j;
  147.         for (i=0;i<250;i++)
  148.         {
  149.                 for (j=0;j<250;j++);
  150.         }
  151. }


  152. /*大延时函数*/
  153. /*十几秒*/
  154. void delays()
  155. {
  156.         delay();
  157.         delay();
  158.         delay();
  159.         delay();
  160.         delay();
  161.         delay();
  162.         delay();
  163.         delay();
  164.         delay();  
  165.         delay();
  166.         delay();
  167.         delay();
  168. }



  169. /*系统初始化*/
  170. void init()
  171. {
  172.         P0=0x00;
  173.         P1=0x00;
  174.         P2=0x00;
  175.         P3=0x00;

  176.         TCON=0x05;
  177.         TMOD=0x00;
  178.         TH0=0x00;
  179.         TL0=0x00;
  180.         TH1=0x00;
  181.         TL1=0x00;

  182.         T2CON=0x00;
  183.         RCAP2H=0x00;
  184.         RCAP2L=0x00;

  185.         IP=0x00;
  186.         IE=0x85;
  187.         PCON=0x00;
  188.         SCON=0x00;
  189. }

复制代码


21666854_6cc30bcb-4bf9-4d8a-a3d0-2ec6b24c60ca.jpg (72.76 KB, 下载次数: 134)

21666854_6cc30bcb-4bf9-4d8a-a3d0-2ec6b24c60ca.jpg
回复

使用道具 举报

板凳
ID:123289 发表于 2017-6-18 23:38 | 只看该作者
单颗独立控制即可
回复

使用道具 举报

地板
ID:212468 发表于 2017-6-19 10:19 来自手机 | 只看该作者
单颗独立控制即可
回复

使用道具 举报

5#
ID:211349 发表于 2017-6-19 13:14 | 只看该作者
angmall 发表于 2017-6-18 07:57
这个16位圆形5500RGB全彩LED圆形流水灯,用WS2811彩灯单片机驱动
I/O接口 接DIN VCC接+5V GND接0V
看看 ...

谢谢大神
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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