项目简介
本项目基于AVR微控制器,主要用于控制游戏机的马奎斯灯和机柜灯。采用WS2812地址型LED灯条,拥有多种灯光模式,可通过硬件按钮和串行通信进行交互,能为游戏机营造丰富的灯光效果。
项目的主要特性和功能
灯光模式
- 马奎斯灯模式:
- 随机闪烁:LED随机闪烁。
- 追逐彩虹:红 - 橙 - 黄 - 绿 - 蓝 - 靛 - 紫的颜色模式沿灯条移动。
- 渐变彩虹:整个马奎斯灯颜色从红渐变为绿,再到蓝,最后回到红。
- 机柜灯模式:
- 关闭:灯条熄灭。
- 纯色:每次按下按钮,颜色按红、黄、绿、青、蓝、紫顺序切换。
- 渐变彩虹:灯条颜色渐变。
其他特性
- 模式存储:每次模式更改都会存储到EEPROM,下次开机将恢复上次设置。
- 硬件交互:使用两个限位开关切换模式。
安装使用步骤
开发环境准备
- 若使用Linux或Mac OSX,可使用Brew安装avr - gcc和avrdude(avr - gcc基于GCC 7.2.0)。
- 推荐使用MS VS Code作为代码编辑器,可安装相关插件。
代码编译与烧录
- 打开项目根目录下的
Makefile
,修改前两行以正确指向你的安装路径。 - 在终端中进入项目根目录,执行
make
命令进行编译。 - 若要进行调试,可保留CFLAGS中的
-DDEBUG
;若要发布版本,需注释掉添加-DDEBUG
的行,以减小编译后的十六进制文件大小。 - 使用avrdude将编译好的十六进制文件烧录到Metro Mini Arduino型开发板。
硬件连接
- 将WS2812 LED灯条连接到开发板。
- 将两个限位开关连接到开发板相应引脚。
运行项目
上电后,系统将恢复上次设置的模式,可通过限位开关切换灯光模式。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】