摘要:本实验旨在利用迪文EKT043E开发板,通过C语言编程控制ws2812灯珠的颜色、延时、强度等参数,打造出多种舞台氛围灯效果。实验涵盖了从系统原理分析、硬件设计到软件设计以及系统调试的完整流程,同时构建了包含颜色、亮度和特效选择等参数的完善UI界面,最终成功实现了舞台氛围特效的控制。 二次开发(C51工程设计)初始化设置:在C51程序中,首先对迪文EKT043E开发板的相关寄存器进行初始化设置,包括定时器、GPIO口等。例如,将用于与ws2812灯珠通信的GPIO口设置为输出模式,并设置合适的输出电平。 颜色控制函数:编写函数来实现对ws2812灯珠颜色的控制。根据用户在UI界面选择的颜色参数(以RGB值表示),将其转换为适合ws2812灯珠通信协议的数据格式,并通过数据传输函数发送给灯珠。 亮度控制函数:类似地,编写亮度控制函数。根据用户选择的亮度参数,通过调整发送给ws2812灯珠数据中的亮度相关位或者调整数据传输的占空比等方式,实现对灯珠亮度的控制。 特效控制函数:创建不同的特效控制函数来实现各种舞台氛围灯效果。本次实验设计了如下几种效果 a.正常模式:选择后RGB灯会处于常亮模式。 b.闪烁灯效果:通过定时器中断,周期性地改变ws2812灯珠的亮度或者颜色,实现闪烁效果。通过设置可使颜色发生变化。 c.呼吸灯效果:通过编程实现ws2812灯珠亮一定时间后熄灭的效果,整个过程持续一定时长。 d.其它模式:通过RGB的值来改变电压占空比从而实现不同的颜色,在程序中设定好了几种固定配色,可以通过色盘直接调节。
|