
专业版
【立创开发板】多功能游戏机-Based on Liangshan Pi
1.8k
0
0
0
简介
基于梁山Pi的多功能扩展板,配备了1.3寸TFT显示屏、超薄摇杆、贴片按键、扬声器、锂电池、WiFi模块等,可以是一款NES游戏模拟器 / 互联网天气时钟 / 电子便签 / 遥控器
简介:基于梁山Pi的多功能扩展板,配备了1.3寸TFT显示屏、超薄摇杆、贴片按键、扬声器、锂电池、WiFi模块等,可以是一款NES游戏模拟器 / 互联网天气时钟 / 电子便签 / 遥控器开源协议
:GPL 3.0
创建时间:2023-03-18 06:59:28更新时间:2023-05-18 01:08:16
描述
概述
- 为了支持国产芯片方案的应用、学习更高的arm架构,专为梁山Pi设计了一款多功能扩展板,既可以玩游戏,也可以通过WiFi控制相关设备、显示网络内容。
- 参考官方游戏机扩展板,并添加了个人创意(ESP-01S WiFi、按键++、1.3寸TFT屏幕、TP4056充放电)。
- 目前已通过基础功能例程测试,设计第1版3D外壳,实现NES游戏模拟器。
功能说明
屏幕显示
- 芯美达 1.3寸 TFT彩色显示屏,分辨率 240×240,ST7789V驱动。
- 尺寸 26.16mm×29.22mm×1.5mm,12PIN 0.7mm 焊接引脚。
- 控制方式:硬件SPI,屏幕背光可调。
- 说明:个人创建了屏幕封装,可较好贴合实物。
音频输出
- 8002A功率放大器 + 3020腔体喇叭。
- 喇叭参数:4欧2W,尺寸 20mm×30mm×7mm。
- 控制方式:DAC,模拟输出,音量可调。
供电管理
- 第三方TP4056电源管理模块(Type-C接口),搭配3.7V 350mAh 1S锂电池。
- 3.7V → 5V升压,通过梁山Pi降压至3.3V。
- 充电功率 5V 1A。
- 说明:个人创建了电源管理模块的封装,不使用排针插接方式,改用贴片方式焊接至扩展板。
摇杆 & 按键
- 1颗 PSP超薄摇杆,可测量 X轴 & Y轴分量,2路ADC控制。
- 4颗 功能按键,用于游戏操控。
- 4颗 系统按键,用于模拟器界面操作。
- 1颗 RESET按键,用于重置程序。
EEPROM
- AT24C02存储器件,用于保存模拟器参数等初始化信息。
- 控制方式:硬件IIC。
WiFi
- ESP-01S模组,用于WiFi无线传输。
- 控制方式:UART串口通信,AT指令配置。
NES游戏模拟器程序说明
- 调整了官方游戏机代码,使其适配1.3寸屏幕和按键引脚,并且修改了NES源码,使游戏画面可以无裁切显示。
- 注意:官方游戏机代码并没有将游戏画面全部显示!由于游戏画面尺寸 256×240,官方屏幕尺寸 240×280 ,因此官方代码裁切掉了左右两侧的8个像素列。
按键引脚修改
- S1键:KEY_S1信号 -- PE5引脚。
- S2键:KEY_S2信号 -- PE2引脚。
- S3键:KEY_S3信号 -- PG13引脚。
- S4键:KEY_S4信号 -- PG9引脚。
- X键:KEY_X1信号 -- PD3引脚。
- Y键:KEY_Y1信号 -- PD4引脚。
- A键:KEY_A1信号 -- PG10引脚。
- B键:KEY_B1信号 -- PD6引脚。
游戏画面优化
- 受限于屏幕尺寸(240×240),不再显示 顶部状态栏 & 底部信息栏。
- 不再裁切左右两侧像素列,通过降采样显示全部游戏内容,实测画面效果无明显失真,有利于游玩。
{
while(RESET == spi_i2s_flag_get(SPI4, SPI_FLAG_TBE));
spi_i2s_data_transmit(SPI4, NES_Palette[ppu->dummy_buffer[(int)(i*16/15-8/15)]]>>8);
while(RESET == spi_i2s_flag_get(SPI4, SPI_FLAG_TBE));
spi_i2s_data_transmit(SPI4, NES_Palette[ppu->dummy_buffer[(int)(i*16/15-8/15)]]);
}
3D外壳设计
- 顶壳单独固定扩展板,底壳单独固定梁山Pi,最后通过排针接驳装配,喇叭和锂电池均置入电路板中心空隙。
展望
- 目前3D外壳不容易装配,充电口不方便接入,需要再改进。
- 继续开发程序,实现WiFi天气时钟和电子便签功能,并将其整合至NES模拟器。
设计图

BOM


添加到专辑
0
0
分享
侵权投诉


粉丝0|获赞0
相关工程

评论