发作品签到
专业版

WS2812 LED矩阵板

工程标签

118
0
0
0

简介

基于WS2812的LED矩阵灯板, 可以使用按键等控制多种灯效,支持亮度的增加或者降低。 同时支持切换灯效。支持USB下载。串口通讯,接口兼容STC-LINK

简介:基于WS2812的LED矩阵灯板, 可以使用按键等控制多种灯效,支持亮度的增加或者降低。 同时支持切换灯效。支持USB下载。串口通讯,接口兼容STC-LINK
基于Ai8051U开源创意电子设计大赛
复刻成本:30

开源协议

GPL 3.0

创建时间:2024-11-20 16:20:30更新时间:2024-12-18 01:43:26

描述

设计背景

 

WS2812是一款经典的RGB LED灯,通过单线进行通讯。只需要使用IO来控制1码和一码的时序生成便可控制LED显示不同的颜色。 通过不同的组合等则最多可以显示255 * 255 * 255种颜色。AI8051U是STC89C51系列的最新升级款MCU,支持8位和32位模式。 我们可以使用8051U直接使用IO驱动WS2812。

 

主要物料如下

  • WS2812 * 16
  • AI8051U
  • 按键若干 * 5

 

模块电路详解

电源滤波和分压电路

 

电源LDO采用的是AMS1117-5.0 输出的, 采用了两个47UF的电容来进行滤波,并且输出到系统主电源。其中采用了两个电阻组成了一个分压电路用于ADC测试生成随机数。

 

核心下载和复位电路(支持USB下载)

上述是最小系统的核心电路。其中引出了P3.0 和 P3.1 作为UART1,同时可以和STC-LINK进行通讯。进行下载。也可以按下reset键然后使用USB下载。 这里需要注意的是, RESET键的默认选项是IO, 如果需要设置成复位的按键的时候,需要使用STC-ISP下载一次之后,切换功能脚即可正常复位。如下图所示,取消下述勾选。

 

 

按键电路

四个独立的IO按键可以用于下载控制LED灯效果或者亮度使用,其中UP button还可以在上电前保持低电平使其单片机进入HID模式进行下载代码。

 

TYPE-C供电和UART2

这里的TYPE-C需要和单片机的TX和RX连接,这里需要注意的一点是。 如果单片机想要使用RESET切换到HID模式(USB)下载模式。不要在串口1上接外部设备,负责复位后可能出现无法切换到HID模式。

 

效果展示

 

彩虹

 

全屏渐变

 

追逐效果

 

随机闪烁

 

和全屏填色追逐。由于相机的原因,上述的拍摄出来不是很好看。 当然你也可以发挥自己的创意来DIY自己的特效。 目前的程序代码支持左右键调整特效,上下键调整灯光的亮度。(程序在主频24MHZ下运行良好)

 

 

代码核心部分讲解

 

ws2812的核心在于如何控制好时序的生成, 即使0码和1码处于一个比较平均的时间区间内,这样的话即使控制多个LED也不会出现错误闪烁的情况。因此这里的0码和1码是我通过逻辑分析仪测量出来的具体时间。通过宏定义的方式来进行控制。

 

 

之后便可以通过发送不同的0和1来控制LED的点亮。

 

主程序

主程序中会根据按键的状态来调整LED的亮度或者效果等,如果想要拓展自己的灯效的话,可以在下述函数中进行拓展。

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
ws2812.zip
9
2
ProPrj_WS2812 LED矩阵板_2024-12-18.epro
3
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航