VECENT_LIN 发表于 2024-9-27 19:32
WS2812 烟花灯
晚上的效果还是杠杠嘀!
Ai8051U, 灯光控制板,
楼主,能借鉴你这个烟花的算法吗?想学学关于2812的图形显示
罗程峰820 发表于 2024-10-17 16:23
楼主,能借鉴你这个烟花的算法吗?想学学关于2812的图形显示
这个要跟硬件电路的接法,然后再确定每个灯的位置,再控制就可以了{:5_272:}
{:4_250:}
<p>点灯大师出山了</p>
罗程峰820 发表于 2024-10-17 16:23
楼主,能借鉴你这个烟花的算法吗?想学学关于2812的图形显示
void M5(unsigned char color,unsigned char sd,unsigned int time)
{u16 j,x;
u32 x1,y;
for(j=0;j<WS_NUM;j++)
{
WsDat=0x000000;
}
for(j=0;j<24;j++)
{
temp=seku1;
}
for(x=0;x<260;x=x+sd)
{
if(x<202)
{
for(j=0;j<210;j++)
{
WsDat=0x000000;
}
}
if(x<202)
{
WsDat=caihongseku;
WsDat=caihongseku;
WsDat=caihongseku;
WsDat=caihongseku;
WsDat=caihongseku;
WsDat=caihongseku;
WsDat=caihongseku;
WsDat=caihongseku;
}
if(x>202&&x<205)
{
sd=1;
for(y=0;y<6;y++)
{
for(x1=0;x1<120;x1++)
{
WsDat=LBX;
}
}
}
if(x>209)
{ for(x1=0;x1<24;x1++)
{
switch(x1)
{
case(0):if((x+x1*30+7)<=899) {WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(1):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(2):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(3):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(4):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(5):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(6):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(7):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(8):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(9):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(10):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(11):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(12):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(13):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(14):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(15):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(16):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(17):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(18):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(19):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(20):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(21):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(22):if((x+x1*30+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
case(23):if((x+x1*30-29+7)<=899) { WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
}
if (x>239)
{WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;
}
}
}
DIS();//显示子程序
}
YYDS
markxu 发表于 2025-2-18 10:58
YYDS
{:4_196:}
好看
VECENT_LIN 发表于 2024-9-27 16:25
炫酷
这个效果太棒了,想学习,博主能分享下程序吗,怎么制作的,博主发大财
VECENT_LIN 发表于 2024-9-27 14:38
AI8051-34K64◇自带USB下载程序◇
DMA-PWM传输数据控制WS2812,释放CPU算力,
完美实现幻彩烟花灯
这个烟花灯是自己做的吗