
梁山派游戏机
简介
立创梁山派游戏机
简介:立创梁山派游戏机开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
电路设计
1.电源电路设计
通过查阅单片机设计原理图与芯片手册,梁山派单片机支持5V供电,其它芯片及外设兼容5V与3V3供电。选用一节3.7V 300毫安锂电池进行供电,通过5V 升压电路升压至5V给通过电池管理电路和锂电池充电电路为整个游戏机系统进行供电。使用内置电池供电使游戏机具备可方便携带的功能,可以随时随地的使用。使用MT3608L高效率升压芯片提供稳定的5V输出。
2.屏幕驱动电路设计
选用中景园1.69寸屏幕,给屏幕采用ST7789V 芯片 SPI驱动,使用开发只需移植官方案例,使用简单。屏幕采用240*280分辨率, 具有显示清晰,色彩鲜明,驱动简单等特点。可以结合单片机的 SPI 协议进行通信。
3.声音输出电路设计
选用耳机孔设计与喇叭输出既满足了对声音外放的需求,也可以插入耳机线,安静有简洁,做到随时切换。电路中使用单片机DAC模拟输出,驱动方便简单。
4.方向控制摇杆电路设计
选用摇杆按键作为控制器件,此器件手感好,具有漂亮的外观。使用电位器模拟x, y 轴,驱动它只需有两个ADC检测。
5.存储电路设计
一个好的游戏机需要有各种不同种类的游戏,就需要一个充足的内存支持,选用 EEPROM 具有容量大,存储快,驱动简单的特点
6.按键电路设计
设计按键,分别用来模拟各种游戏中的动作按键与实现游戏机的功能切换。
7.震动电路设计
通过一个实现震动马达实现游戏机的反馈效果。
8.电量检测电路
电源通过电阻分压连接单片机引脚通过 ADC 功能实现对电池电量的监测。
代码调试
- 屏幕驱动
- 按键
- spi、iic通信
- adc采集
- dac模拟输出
实物图片
1、学习目标:熟悉嵌入式项目的开发流程,掌握如何设计一个游戏机硬件电路、软件编程以及系统调试等能力。
2、功能介绍:
- 实现LCD显示游戏内容;
- 实现五方按键控制角色的移动;
- 使用独立按键控制角色执行相应动作;
- 具备声音输出功能;
- 通过flash保存游戏数据;
- 3.7V锂电池冲放电管理
3、技能掌握
-
1. 硬件开发能力
1.1 学习嵌入式项目电路分析
- 阅读和理解经典嵌入式项目原理图,如游戏机硬件电路。
- 学习如何分析电路中的关键部分,如电源、信号处理、通信接口等。
1.2 元器件选型与数据手册阅读
- 学习如何根据需求选择合适的元器件。
- 阅读并理解元器件的数据手册,了解其基本特性、工作参数和限制。
1.3 原理图设计与PCB设计
- 使用CAD软件(如Altium Designer、KiCad等)进行原理图设计。
- 学习PCB布局和布线规则,进行PCB设计。
1.4 了解特定电路的设计
- 深入学习SPI屏幕、模拟按键、音频功放等电路的工作原理和设计要点。
1.5 仪器使用和电路分析能力
- 掌握万用表、示波器、信号发生器、学生电源等仪器的使用方法。
- 学会利用这些仪器进行电路分析、故障排查和性能优化。
1.6 元器件焊接与硬件调试
- 掌握电烙铁、热风枪等工具的使用技巧。
- 学习如何进行元器件焊接、电路板调试和故障排除。
2. 软件开发能力
2.1 GD32基础功能及外设使用
- 学习GD32微控制器的架构、功能和外设接口。
- 编写代码实现GPIO、UART、SPI等外设的初始化与通信。
2.2 ADC采集原理与实现
- 学习ADC(模数转换器)的工作原理和配置方法。
- 编写代码实现ADC采集,用于读取五向按键值和电池电压。
2.3 DAC原理与音频输出
- 学习DAC(数模转换器)的工作原理和音频编码格式。
- 编写代码实现音频输出,如播放游戏音效。
2.4 SPI协议与LCD驱动
- 深入学习SPI通信协议及其在LCD驱动中的应用。
- 编写LCD驱动代码,实现屏幕显示游戏内容。
2.5 图片取模与UI界面制作
- 学习图片取模方法,将图片转换为可在LCD上显示的格式。
- 使用图形设计软件(如Photoshop、GIMP等)制作游戏UI界面。
2.6 游戏机基本工作原理
- 了解游戏机的基本工作原理,如游戏逻辑、数据存储和读取等。
- 编写代码实现游戏机的基本功能,如角色控制、动作执行等。
2.7 嵌入式软件开发与调试
- 掌握嵌入式软件开发的基本流程和方法。
- 学会使用调试工具(如J-Link、Keil等)进行代码调试和性能优化。
- 学习如何阅读和修改开源代码,以提高开发效率和质量。
3. 系统调试与集成
- 将硬件和软件部分进行集成,并进行系统调试。
- 测试游戏机的各项功能是否正常工作,如显示、按键控制、音频输出等。
- 根据测试结果进行问题排查和修改,直到游戏机功能完善且稳定。
4. 总结与提升
- 对整个开发过程进行总结和反思,找出不足和改进之处。
- 不断学习新技术和新知识,提升自己的嵌入式系统开发能力。
- 参与更多的实际项目,积累经验和提升实践能力。
设计图

BOM


评论