找回密码
 立即注册
查看: 2747|回复: 31

STC8H8K64U,驱动960颗16x60段WS2812,制作动感音频FFT

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-2-3 15:16:49 | 显示全部楼层 |阅读模式
STC8H8K64U,驱动960颗16x60段WS2812,效果展示!

16x60段

16x60段

开发板连接图

开发板连接图

上下连接板

上下连接板

焊接好图片

焊接好图片

显示LOGO

显示LOGO

b5479696f27a4575e6a8095038af3568.mp4

19.92 MB, 下载次数: 178

成品视频

专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-3-15 16:26:02 | 显示全部楼层
用自制的STC8H8K64U核心板加MIC也可以驱动
567063315d3d252a0c607b09c0ec9ee2.jpg
微信图片_20240315162117.jpg

567063315d3d252a0c607b09c0ec9ee2.mp4

17.52 MB, 下载次数: 196

专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-2-3 15:18:12 | 显示全部楼层
有兴趣欢迎沟通交流{:4_186:
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-2-3 15:22:07 | 显示全部楼层
颜色和动态效果都可以根据自己想法改进
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-2-3 15:32:22 | 显示全部楼层
6X150的音柱

8bc4547507728f7608fd9a6f1356aefa.mp4

13.16 MB, 下载次数: 162

1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-2-3 15:43:10 | 显示全部楼层

谢谢!
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:533
  • 最近打卡:2025-06-16 07:56:12
已绑定手机

158

主题

592

回帖

1031

积分

金牌会员

积分
1031
发表于 2024-2-19 16:47:23 | 显示全部楼层
这个有动感
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-2-19 16:48:25 | 显示全部楼层

音频同步
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:533
  • 最近打卡:2025-06-16 07:56:12
已绑定手机

158

主题

592

回帖

1031

积分

金牌会员

积分
1031
发表于 2024-2-19 16:51:51 | 显示全部楼层

分享出来,大家一起玩,可玩出不同的花样来,与粉同乐,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-2-19 17:01:21 | 显示全部楼层
void showbar()
{                               
   
          
    u16 i,j,f;
          u8 i2,high;//,f2,f3;
          
          for(i2=0;i2<16;i2++)          //读取FFT转换数据
        {
                float t0=0;
                t0=sqrt(pow((s[i2].real+s[i2+1].real),2)+pow((s[i2].imag+s[i2+1].imag),2))/2;
                dis_rdata[i2]=(u8)t0;
        }
///**************************************************************/
///*****************写入下屏,i:0~16,表示16列**************/
///***************************high:表示列的高度*********/
       
      for (i=0;i<16;i++) //在显示下屏显存必须清0,后面有操作是或运算
          {
        for (j=0;j<60;j++)
                {
                         dis_data[i][j]=0;
                }        
    }
     for(i=0;i<16;i++)
         {   
                 high=dis_rdata[i];
                // high=15;
                 if(high<4)high=0;  //判断小于2时,为0/
                 if(high>60)high=56;        //判断高于60时,为62***/
                  
                          
                                 for(j=0;j<high;j++)
                        {

                 if(i==1||i==3||i==5||i==7||i==9||i==11||i==13||i==15)
                                                        {dis_data[i][60-j]=dis_RGB[j];  //0,2,4,6,8,10,12,14倒相
                                                        }
                                                        else
                                                        {dis_data[i][j]=dis_RGB[j];
                       
                                                }                                                  
                       
                                                }                                                  
       
                                                                if(high>0)               
                                {       

                        switch(i)
      {case 0:dis_data[i][high+2]=0x00ff00;dis_data[i][high+3]=0x00ff00;break;//R
                         case 1:dis_data[i][60-high-2]=0x0000ff;dis_data[i][60-high-3]=0x0000ff;break;//G
                         case 2:dis_data[i][high+2]=0xff0000;dis_data[i][high+3]=0xff0000;break;//B
                         case 3:dis_data[i][60-high-2]=0xffff00;dis_data[i][60-high-3]=0xffff00;break;//BR
                         case 4:dis_data[i][high+2]=0xff00ff;dis_data[i][high+3]=0xff00ff;break;//BG
                         case 5:dis_data[i][60-high-2]=0x00ffff;dis_data[i][60-high-3]=0x00ffff;break;//RG
                         case 6:dis_data[i][high+2]=0xffffff;dis_data[i][high+3]=0xffffff;break;//RGB
                         case 7:dis_data[i][60-high-2]=0x00ff00;dis_data[i][60-high-3]=0x00ff00;break;//R
                         case 8:dis_data[i][high+2]=0x0000ff;dis_data[i][high+3]=0x0000ff;break;//G
                         case 9:dis_data[i][60-high-2]=0xff0000;dis_data[i][60-high-3]=0xff0000;break;//B
                         case 10:dis_data[i][high+2]=0x00ff00;dis_data[i][high+3]=0x00ff00;break;//R
                         case 11:dis_data[i][60-high-2]=0x0000ff;dis_data[i][60-high-3]=0x0000ff;break;//G
                         case 12:dis_data[i][high+2]=0xff0000;dis_data[i][high+3]=0xff0000;break;//B
                         case 13:dis_data[i][60-high-2]=0x00ff00;dis_data[i][60-high-3]=0x00ff00;break;//R
                         case 14:dis_data[i][high+2]=0x0000ff;dis_data[i][high+3]=0x0000ff;break;//G
                         case 15:dis_data[i][60-high-2]=0xff0000;dis_data[i][60-high-3]=0x0000ff;break;//B
                        }                               
                               
        }
      
   
         
         
         }     
        for(i=0;i<60;i++)                          //数据合并
        {               
           
                                                
                                                        data1=TC[i][0]<<8|TC[i][1];                                                       
               for (f1=0; f1<16; f1++)
    {
      
        if (data1&0x8000)            // 发送数据
                                {
                                switch(f1)
      {case 0:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//R
                         case 1:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//G
                         case 2:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//B
                         case 3:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//BR
                         case 4:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//BG
                         case 5:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//RG
                         case 6:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//RGB
                         case 7:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//R
                         case 8:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//G
                         case 9:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//B
                         case 10:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//R
                         case 11:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//G
                         case 12:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//B
                         case 13:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//R
                         case 14:dis_data[f1][60-i]=dis_data[f1][60-i]|0x00ff00;break;//G
                         case 15:dis_data[f1][i-1]=dis_data[f1][i-1]|0x00ffff;break;//B
                        }                               
                                        }
        data1=data1<<1;
                       
                                       
                                }
//   
//         
        }       
                                for(i=0;i<60;i++)                          //数据合并
        {               
           
                                        for(f3=0;f3<2;f3++)
            {               
         
                                                        data1=TC[f3][i];                                                       
               for (f1=0; f1<8; f1++)
    {
        f2=f3*8+f1;
        if (data1&0x80)            // 发送数据
                                {
                                if(f1==0||f1==2||f1==4||f1==6)
                                                        {
                                                               
                                                                dis_data[f2][60-i]=dis_data[f2][60-i]|0x0000ff;  //0,2,4,6倒相
                                                        }
                                                        else
                                                        {dis_data[f2][i-1]=dis_data[f2][i-1]|0x00ff00;   //1,3,5,7
                       
                                                }
                                        }
        data1=data1<<1;
                       
                                       
                                }
   
            }
        }       
   
         for(f=0;f<16;f++)                              //数据转存
        {               
            for(i=0;i<60;i++)
            {                         
      
                                                DisP_Color(        dis_data[f][i]);
            }
        }       

                delay_ms(100);
                reset();
   
       
}
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:337
  • 最近打卡:2025-06-16 07:14:09
已绑定手机

16

主题

307

回帖

1349

积分

金牌会员

积分
1349
发表于 2024-2-19 17:04:54 | 显示全部楼层
38009*** 发表于 2024-2-19 16:51
分享出来,大家一起玩,可玩出不同的花样来,与粉同乐,

分享显示子程序,硬件的接法都不一样,只能按你的原理图重新修改就好,用音频的FFT修改就好
专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
回复 支持 1 反对 0

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 02:17 , Processed in 0.179752 second(s), 108 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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