|
【开源】DWIN屏氛围灯控制WS2812
1.硬件开发环境:
7寸电阻触摸COF屏,自制开发板,144灯WS2812幻彩灯带5V,灯带连接P2.7-IO口。
2.软件开发环境:
即时设计绘制UI,DGUS_V7.64,KEILC51。
3.控制流程:
滚字轮作为中心,选择对应模式激活相应的功能控件,顶部滑动到第二屏设置灯的数量和亮度,保存按钮。
4.特点:
相比普通RGB灯带,WS2812可以精准控制每一位灯珠颜色,做出不错的动态效果。
5.烧录固件:
解压放SD卡即可。
6.视频演示:
7.关键代码:
- <font size="3" face="宋体">void WS2812_Write_RGB()
- {
- u8 i,j,a;
- EA=0;
- for(j=0;j<3;j++)//每个灯需要传输次数
- {
- a=RGB_One[j];
- for(i=0;i<8;i++)
- {
- WS2812_DI=1;
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- WS2812_DI=(a&0x80);
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
- a<<=1;
- WS2812_DI=0;
- }
- WS2812_DI=0;
- }
- EA=1;
- }
- void WS2812_RST()
- {
- WS2812_DI=0;
- sys_delay_ms(1);
- }
- void WS2812_DIS_1()//效果1,颜色切换,所有LED颜色一样,共7种基本色
- {
- static u8 j=1;
- u16 i=0;
-
- if(j&0X01) RGB_One[1]=10;else RGB_One[1]=0;
- if(j&0X02) RGB_One[0]=10;else RGB_One[0]=0;
- if(j&0X04) RGB_One[2]=10;else RGB_One[2]=0;
- j%=7;
- j++;
- for(i=0;i<num_val;i++)
- WS2812_Write_RGB();
- WS2812_RST();
- sys_delay_ms(1000);
- }</font>
复制代码
8.效果展示:
备注说明:如需源码,请参考此链接:http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=9445&_dsign=dadb9809
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|