内容介绍
项目备注
参考案例
项目报告
内容介绍
此LED雪花灯板采用STC15W24单片机作为控制器,通过编程驱动37个三色LED显示出不同的效果,在冬季尤其是节日里是个不错的装饰物,同时我们将PCB设计文件及单片机代码开源出来,方便爱好者自己动手DIY。
参考设计程序介绍
Ws2812.c
函数 | 功能 |
void ResetDataFlow(void) | 复位,为下一次发送做准备 |
void SendOnePix(unsigned char *ptr) | 发送一个像素点的24bit数据 |
Delay.c
函数 | 功能 |
void DelayMs(unsigned char m) | 延时函数 |
void Delay100Ms(unsigned char m) | 延时100ms子函数(晶振频率33MHz时) |
Main.c
函数 | 功能 |
void Flash_WS2812(unsigned char *p) | 整体闪烁,传递颜色参数 |
void LED_Water(unsigned char *p) | 由内而外流水点亮 |
void LED_Water_Color(unsigned char *p | 由内而外流水点亮,颜色变化 |
void LED_Single_Flower(void) | 单圈单个灯绽放点亮 |
void Water_lamp(unsigned char *p) | 按1-37顺序点亮 |
void DIY_SNOW(unsigned char *p) | 由外向内,按照数组的颜色顺序显示,最多五个颜色 |
void Flower(void) | 一圈一圈点亮 |
void Flower_In(void) | 一圈圈逐步点亮(外内) |
void Gradual_change(unsigned char *p) | 渐变亮 |
void Breathing_WS2812(unsigned char level,unsigned char Color) | 呼吸渐变,两个参数,第一个表示集中小颜色,第二个表示颜色 |
void WS2812_Close(void) | 将37个灯全部熄灭 |
void WS2812_1_5Line(unsigned char *p,unsigned char line) | 让其整圈一起点亮,传递两个参数,第一个参数为显示颜色,第二个参数是让第几圈点亮,圈数1-5 |
void WS2812_1_5Line_In(unsigned char *p,unsigned char line) | 让其整圈一起点亮,内圈颜色保持不变,传递两个参数,第一个参数为显示颜色,第二个参数是让第几圈点亮,圈数1-5 |
void WS2812_1_5Line_Single(unsigned char *p,unsigned char line) | 让对应圈的灯流水点亮,传递两个参数,第一个参数为显示颜色,第二个参数是让第几圈点亮,圈数1-5 |
void WS2812_LineIn_Single(unsigned char *p,unsigned char line) | 对应圈数最外层流水,里面全部点亮。传递两个参数,第一个参数为显示颜色,第二个参数是让第几圈点亮,圈数2-5 |
WS2812点亮原理
数据为单总线传输,当你连续给入数据的时候,第一个WS2812会“吃掉”24bit的数据,后面依次类推。从而使得每一个WS2812亮不一样的颜色。
程序的主要思想就是将点亮一个灯的程序封装为一个函数,然后点亮方式的程序也封装为一个函数。那么你看到的WS2812亮灭也就是不同的点亮方式的组合。再通过一个标志位来判断以什么方式亮灭。串口就是用来控制这个标志位的媒介。
软硬件
附件下载
Snowflake_SCH.PDF
LED雪花板的原理图,PDF格式,用Altium Designer设计
带单片机8位全彩流水灯程序模板V1.0.zip
参考设计程序
WS2812B.pdf
LED灯WS2812B的数据手册(PDF)
团队介绍
硬禾工程师团队专注于基于FPGA和嵌入式系统学习平台的开发和生态系统的建设,在过去5年里成功推出的小脚丫FPGA学习平台被全国上百所高校采用于数字电路教学实践中,并一直积极推动开源、免费PCB设计工具KiCad在高校学生及硬件工程师中的应用。
团队成员
马熙飞
资深硬件工程师、技术专家。有9年工业级产品研发以及13年Altium公司技术专家的职业经历。精通Altium Designer软件的使用,有着丰富的电子产品工程开发和管理经验,以及电子产品的EMC设计经验。擅长PCB工具、系统化电子产品设计等方面教学。
马骥
现任南京沁恒微电子股份有限公司FAE(现场应用工程师),主要负责以太网芯片、蓝牙和单片机外设等器件的技术支持。本项目的代码由马骥同学在大四毕业前在硬禾实战营贡献。
评论
0 / 100
查看更多
猜你喜欢
硬禾学堂雪花灯实验报告: 苏州圣诞来点雪~本报告为雪花灯实验报告,旨在学习嵌入式系统编程的基本开发流程,并且对于嵌入式系统模块和功能有进一步的认识[2]。今天正好是2020圣诞节,这个可爱的雪花灯实验报告,就圣诞礼物送给大家啦~
sgdteng
1810
以STC15W24驱动的Ws2812LED雪花灯板的创意设计基于STC15W24单片机作为控制器、Ws2812作为LED灯,做了个由37个LED形成的LED雪花灯板、通过c语言编程驱动实现了绚丽的闪灯组合、可用于节日装饰。
1234567888888
1704
入门STC51单片机--搭建开发环境,新建工程并点亮WS8212驱动的雪花灯新年将至,一个漂亮的雪花灯可以增添新的气氛,带来冬日的氛围。本次分享将以这个基于STC公司的51单片机控制的雪花灯为例,讲一讲如何搭建51单片机开发环境,新建工程并点亮这个雪花灯。
Robobachelor
4291