资料介绍
描述
概述
Arduboy 是一个微型信用卡大小的游戏系统,带有开源软件,基于 Arduino 硬件平台。我没有 Arduboy,但我很怀念,喜欢复古的游戏文化,所以我决定做一个类似于 Arduboy 的掌上游戏机,屏幕尺寸更大。
硬件选择
一开始我想我应该开始使用带有 OLED 屏幕和按钮的面包板,然后将设计转移到原型板上,但由于时间有限,我决定使用 Seeedstudio Wio 终端,它具有 SAMD51 微控制器、ILI9341 彩色 TFT 显示屏、5-方式开关和3个按钮。它拥有我开始快速原型制作所需的一切。虽然,Wio Terminal 有彩色显示屏,但我想保持复古的黑白外观。
软件库开发
我已经分叉了Modmatic Github 存储库,它是众所周知的MLXXXp/Arduboy2 Github 存储库的一个分支。此存储库具有 SAMD51 实现,但具有不同的显示控制器。我使用Bodmer/TFT_eSPI库(默认情况下与 Wio 终端板安装一起安装)实现了 ILI9341 显示控制器。此外,我必须重新映射所有按钮引脚和扬声器。
修改
Wio 终端有一个板载蜂鸣器,但我使用的库支持 SAMD51 DAC 引脚上的音调,使用具有更好响度的中断。我已将带放大器的外部扬声器连接到 Wio 终端背面的接头。这是可选的,没有它也可以玩游戏。
Grove Speaker Wio Terminal
VCC 3.3V
GND GND
SIG DAC1
图形缩放
最初的 Arduboy 使用 128x64 像素的显示分辨率,这对于 8 位图形和 sprite 的清晰渲染来说非常好。由于 Wio 终端 (ILI9341) 具有 320x240 像素的显示分辨率,因此尽可能多地使用它会很好。大多数游戏都是为 128x64 分辨率编写的,因此通过按比例重新缩放,我们可以在 Wio 终端上达到 256x128 分辨率。图形缩放是使用具有整数插值的最近邻实现的。最近邻算法是图像缩放技术的最简单和最快的实现。它以一组参考像素(图像)为基础来构建一个新的缩放图像。根据缩放比例,构建的图像可以更小、更大或大小相等。放大图像时,我们实际上是在原始基础图片中引入空格。从下图中,将尺寸为 (w1 = 4, h1 = 4) 的图像放大为 (w2 = 8, h2 = 8)。黑色像素代表需要插值的空白空间,完整的图像是最近邻插值的结果。
实现是如此之小,以至于我已经包含了下面的代码。
void Arduboy2Core::scale(const uint8_t *image, uint16_t w1,
uint16_t h1, uint8_t *scaledImage, uint16_t w2, uint16_t h2)
{
uint16_t x_ratio = (uint16_t)((w1<<16)/w2) + 1;
uint16_t y_ratio = (uint16_t)((h1<<16)/h2) + 1;
uint16_t x2, y2;
for (uint16_t i=0; i2 ; i++) {
for (uint16_t j=0; j2 ; j++) {
x2 = ((j * x_ratio) >> 16) ;
y2 = ((i * y_ratio) >> 16) ;
scaledImage[(i * w2) + j] = image[(y2 * w1) + x2] ;
}
}
}
我们可以比较下图中的分辨率。
安装
请下载最新的 Arduino IDE 要安装 Wio 终端板库,请打开 Arduino IDE,单击File > Preferences ,然后将以下 URL 复制到 Additional Boards Manager
单击工具 > 板 > 板管理器并搜索Wio 终端并单击安装。
您需要使用Tools > Board菜单选择板和端口。
Wio 终端没有 EEPROM,因此我们需要安装 FlashStorage 库,该库具有使用闪存模拟 EEPROM 的 API。点击Tools > Manage Libraries...打开 Library Manager 并搜索FlashStorage (by Arduino) 并点击 install。
现在我们需要从下面列出的 Github 存储库中为 Wio Terminal 安装 Arduboy 库:
单击代码 > 下载 ZIP以下载库包。
要安装库,请单击Sketch > Include Library > Add.ZIP Library。
我们可以使用 HelloWorld 草图测试这个库。通过 USB 将 Wio 终端连接到计算机并通过单击文件 > 示例 > Arduboy2 > HelloWorld打开草图,然后单击草图 > 上传以编译/上传固件。
你好世界演示
用声音播放 Sirène 演示
从 Github 存储库https://github.com/Team-ARG-Museum/ID-42-Sirene 下载 ZIP 文件。在 Arduino IDE 中解压并打开文件 SRN_AB.ino。
单击草图>上传并享受游戏!
同样,我们可以玩许多其他游戏。虽然大多数游戏应该可以开箱即用,但很少有游戏草图需要外部库,可以使用 Arduino IDE 库管理器安装这些库。请在编译草图并安装缺少的库时检查错误消息。
玩该死的地下墓穴!3D游戏演示
玩公路旅行演示
结论
在 Wio 终端上移植 Arduboy 真的是一次很棒的经历和学习。我喜欢在上面玩游戏。在不久的将来,我计划为它开发一款游戏。我要感谢 Kevin Bates 和 Seeedstudio 对开源软件和开放硬件平台的支持。
- Seeed Wio终端开源分享
- Lyapunov分形与Seeeduino Wio终端开源
- 使用Wio Terminal和Tensorflow Lite创建智能气象站
- Arduino Arduboy控制台开源分享
- 使用Seeeduino Wio终端模拟Dadiplus掷骰子
- 能够从微型SD卡加载游戏的Arduboy克隆
- 在Wio终端上显示精确的分贝计 0次下载
- 临时DIY ARDUBOY
- Arduboy Mega 2560结合使用
- Arduboy怀表制作
- 使用Arduino(Arduboy)DIY手持游戏机
- Arduboy模组芯片
- 使用Wio终端读取OBD2
- GPRS终端/模块/modem使用Winsock控网络编程 1次下载
- TYPEC转HDMI+PD3扩展坞方案电路图 26次下载
- CAN总线终端电阻添加要求 4681次阅读
- 智能交互终端是什么 智能交互终端怎么装 3399次阅读
- 如何利用TinyML实现语音识别机器人车的设计 2110次阅读
- 基于VoIP技术实现IP电话终端的设计 2441次阅读
- 基于单片机和Motorola G20模块实现GPRS数据终端的应用方案 2721次阅读
- dfrobotBluno Accessory Shield扩展板简介 1342次阅读
- dfrobotMega扩展板转4路扩展板布局简介 1129次阅读
- dfrobot IO扩展板 传感器扩展板简介 2046次阅读
- digilent适配扩展板介绍 1119次阅读
- 软方电子:android车载多媒体终端 1850次阅读
- 复合模型扩展:一种更好的扩展CNN的方法 3695次阅读
- 通信终端设备有哪些_通信终端设备盘点 2.9w次阅读
- 基于RS485总线的远程抄表系统采集终端的设计与实现 9440次阅读
- 什么是超级终端_超级终端是干什么用的 2.3w次阅读
- 未扩展时钟揭秘 835次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多