电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用Wio终端扩展Arduboy

使用Wio终端扩展Arduboy

2022-11-03 | zip | 0.12 MB | 次下载 | 免费

资料介绍

描述

概述

Arduboy 是一个微型信用卡大小的游戏系统,带有开源软件,基于 Arduino 硬件平台。我没有 Arduboy,但我很怀念,喜欢复古的游戏文化,所以我决定做一个类似于 Arduboy 的掌上游戏机,屏幕尺寸更大。

硬件选择

一开始我想我应该开始使用带有 OLED 屏幕和按钮的面包板,然后将设计转移到原型板上,但由于时间有限,我决定使用 Seeedstudio Wio 终端,它具有 SAMD51 微控制器、ILI9341 彩色 TFT 显示屏、5-方式开关和3个按钮。它拥有我开始快速原型制作所需的一切。虽然,Wio Terminal 有彩色显示屏,但我想保持复古的黑白外观。

pYYBAGNiSbaAOxeFAAJe5kL9mC443.jpeg
 

软件库开发

我已经分叉了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)。黑色像素代表需要插值的空白空间,完整的图像是最近邻插值的结果。

poYBAGNiScCAK00nAAAvbQqoTm4820.png
图片来源:tech-algorithm.com
 

实现是如此之小,以至于我已经包含了下面的代码。

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] ;
        }
    }
}

我们可以比较下图中的分辨率。

pYYBAGNiScOAA4LnAADzf4JAYTA901.jpg
 

安装

下载最新的 Arduino IDE 要安装 Wio 终端板库,请打开 Arduino IDE,单击File > Preferences ,然后将以下 URL 复制到 Additional Boards Manager 

poYBAGNiScWAbsdDAAFaq2aN3qo884.png
 

单击工具 > 板 > 板管理器并搜索Wio 终端并单击安装。

pYYBAGNiSceAc5CKAADTCt0A0C4600.png
 

您需要使用Tools > Board菜单选择板和端口

poYBAGNiScuAYSciAAGoOOs5NXU588.png
 

Wio 终端没有 EEPROM,因此我们需要安装 FlashStorage 库,该库具有使用闪存模拟 EEPROM 的 API点击Tools > Manage Libraries...打开 Library Manager 并搜索FlashStorage (by Arduino) 并点击 install。

poYBAGNiSc2ASvb3AADxE_EuI8E312.png
 

现在我们需要从下面列出的 Github 存储库中为 Wio Terminal 安装 Arduboy 库:

单击代码 > 下载 ZIP以下载库包。

pYYBAGNiSdCAZuaFAAFXzqDzE2Q971.png
 

要安装库,请单击Sketch > Include Library > Add.ZIP Library。

poYBAGNiSdOACt4aAAC6whgExTI279.png
 

我们可以使用 HelloWorld 草图测试这个库。通过 USB 将 Wio 终端连接到计算机并通过单击文件 > 示例 > Arduboy2 > HelloWorld打开草图,然后单击草图 > 上传以编译/上传固件。

poYBAGNiSdWAdAvRAAC45ZALkeo519.png
 

你好世界演示

 

用声音播放 Sirène 演示

从 Github 存储库https://github.com/Team-ARG-Museum/ID-42-Sirene 下载 ZIP 文件。在 Arduino IDE 中解压并打开文件 SRN_AB.ino。

pYYBAGNiSdiAMuOOAACwrBr7WRE151.png
 

单击草图>上传并享受游戏!

 

同样,我们可以玩许多其他游戏。虽然大多数游戏应该可以开箱即用,但很少有游戏草图需要外部库,可以使用 Arduino IDE 库管理器安装这些库。请在编译草图并安装缺少的库时检查错误消息。

玩该死的地下墓穴!3D游戏演示

 

玩公路旅行演示

 

结论

在 Wio 终端上移植 Arduboy 真的是一次很棒的经历和学习。我喜欢在上面玩游戏。在不久的将来,我计划为它开发一款游戏。我要感谢 Kevin Bates 和 Seeedstudio 对开源软件和开放硬件平台的支持。


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费