littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于AVR微控制器的游戏灯光控制系统

项目简介

本项目基于AVR微控制器,主要用于控制游戏机的马奎斯灯和机柜灯。采用WS2812地址型LED灯条,拥有多种灯光模式,可通过硬件按钮和串行通信进行交互,能为游戏机营造丰富的灯光效果。

项目的主要特性和功能

灯光模式

  1. 马奎斯灯模式
    • 随机闪烁:LED随机闪烁。
    • 追逐彩虹:红 - 橙 - 黄 - 绿 - 蓝 - 靛 - 紫的颜色模式沿灯条移动。
    • 渐变彩虹:整个马奎斯灯颜色从红渐变为绿,再到蓝,最后回到红。
  2. 机柜灯模式
    • 关闭:灯条熄灭。
    • 纯色:每次按下按钮,颜色按红、黄、绿、青、蓝、紫顺序切换。
    • 渐变彩虹:灯条颜色渐变。

其他特性

  • 模式存储:每次模式更改都会存储到EEPROM,下次开机将恢复上次设置。
  • 硬件交互:使用两个限位开关切换模式。

安装使用步骤

开发环境准备

  1. 若使用Linux或Mac OSX,可使用Brew安装avr - gcc和avrdude(avr - gcc基于GCC 7.2.0)。
  2. 推荐使用MS VS Code作为代码编辑器,可安装相关插件。

代码编译与烧录

  1. 打开项目根目录下的Makefile,修改前两行以正确指向你的安装路径。
  2. 在终端中进入项目根目录,执行make命令进行编译。
  3. 若要进行调试,可保留CFLAGS中的-DDEBUG;若要发布版本,需注释掉添加-DDEBUG的行,以减小编译后的十六进制文件大小。
  4. 使用avrdude将编译好的十六进制文件烧录到Metro Mini Arduino型开发板。

硬件连接

  1. 将WS2812 LED灯条连接到开发板。
  2. 将两个限位开关连接到开发板相应引脚。

运行项目

上电后,系统将恢复上次设置的模式,可通过限位开关切换灯光模式。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】