|
DWIN屏氛围灯控制WS2812
硬件开发环境:7寸电阻触摸COF屏,自制开发板,144灯WS2812幻彩灯带5V,灯带连接P2.7-IO口。
软件开发环境:即时设计绘制UI,DGUS_V7.64,KEILC51。
控制流程:滚字轮作为中心,选择对应模式激活相应的功能控件,顶部滑动到第二屏设置灯的数量和亮度,保存按钮。
特点:相比普通RGB灯带,WS2812可以精准控制每一位灯珠颜色,做出不错的动态效果。
烧录固件:解压放SD卡即可
视频演示:
关键代码:
- 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);
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|