電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Wio終端擴(kuò)展Arduboy

使用Wio終端擴(kuò)展Arduboy

2022-11-03 | zip | 0.12 MB | 次下載 | 免費(fèi)

資料介紹

描述

概述

Arduboy 是一個(gè)微型信用卡大小的游戲系統(tǒng),帶有開(kāi)源軟件,基于 Arduino 硬件平臺(tái)。我沒(méi)有 Arduboy,但我很懷念,喜歡復(fù)古的游戲文化,所以我決定做一個(gè)類似于 Arduboy 的掌上游戲機(jī),屏幕尺寸更大。

硬件選擇

一開(kāi)始我想我應(yīng)該開(kāi)始使用帶有 OLED 屏幕和按鈕的面包板,然后將設(shè)計(jì)轉(zhuǎn)移到原型板上,但由于時(shí)間有限,我決定使用 Seeedstudio Wio 終端,它具有 SAMD51 微控制器、ILI9341 彩色 TFT 顯示屏、5-方式開(kāi)關(guān)和3個(gè)按鈕。它擁有我開(kāi)始快速原型制作所需的一切。雖然,Wio Terminal 有彩色顯示屏,但我想保持復(fù)古的黑白外觀。

pYYBAGNiSbaAOxeFAAJe5kL9mC443.jpeg
?

軟件庫(kù)開(kāi)發(fā)

我已經(jīng)分叉了Modmatic Github 存儲(chǔ)庫(kù),它是眾所周知的MLXXXp/Arduboy2 Github 存儲(chǔ)庫(kù)的一個(gè)分支。此存儲(chǔ)庫(kù)具有 SAMD51 實(shí)現(xiàn),但具有不同的顯示控制器。我使用Bodmer/TFT_eSPI庫(kù)(默認(rèn)情況下與 Wio 終端板安裝一起安裝)實(shí)現(xiàn)了 ILI9341 顯示控制器。此外,我必須重新映射所有按鈕引腳和揚(yáng)聲器。

修改

Wio 終端有一個(gè)板載蜂鳴器,但我使用的庫(kù)支持 SAMD51 DAC 引腳上的音調(diào),使用具有更好響度的中斷。我已將帶放大器的外部揚(yáng)聲器連接到 Wio 終端背面的接頭。這是可選的,沒(méi)有它也可以玩游戲。

Grove Speaker    Wio Terminal
VCC              3.3V
GND              GND
SIG              DAC1

圖形縮放

最初的 Arduboy 使用 128x64 像素的顯示分辨率,這對(duì)于 8 位圖形和 sprite 的清晰渲染來(lái)說(shuō)非常好。由于 Wio 終端 (ILI9341) 具有 320x240 像素的顯示分辨率,因此盡可能多地使用它會(huì)很好。大多數(shù)游戲都是為 128x64 分辨率編寫(xiě)的,因此通過(guò)按比例重新縮放,我們可以在 Wio 終端上達(dá)到 256x128 分辨率。圖形縮放是使用具有整數(shù)插值的最近鄰實(shí)現(xiàn)的。最近鄰算法是圖像縮放技術(shù)的最簡(jiǎn)單和最快的實(shí)現(xiàn)。它以一組參考像素(圖像)為基礎(chǔ)來(lái)構(gòu)建一個(gè)新的縮放圖像。根據(jù)縮放比例,構(gòu)建的圖像可以更小、更大或大小相等。放大圖像時(shí),我們實(shí)際上是在原始基礎(chǔ)圖片中引入空格。從下圖中,將尺寸為 (w1 = 4, h1 = 4) 的圖像放大為 (w2 = 8, h2 = 8)。黑色像素代表需要插值的空白空間,完整的圖像是最近鄰插值的結(jié)果。

poYBAGNiScCAK00nAAAvbQqoTm4820.png
圖片來(lái)源:tech-algorithm.com
?

實(shí)現(xiàn)是如此之小,以至于我已經(jīng)包含了下面的代碼。

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
?

安裝

請(qǐng)下載最新的 Arduino IDE 要安裝 Wio 終端板庫(kù),請(qǐng)打開(kāi) Arduino IDE,單擊File > Preferences ,然后將以下 URL 復(fù)制到 Additional Boards Manager?

poYBAGNiScWAbsdDAAFaq2aN3qo884.png
?

單擊工具 > 板 > 板管理器并搜索Wio 終端并單擊安裝。

pYYBAGNiSceAc5CKAADTCt0A0C4600.png
?

您需要使用Tools > Board菜單選擇板和端口

poYBAGNiScuAYSciAAGoOOs5NXU588.png
?

Wio 終端沒(méi)有 EEPROM,因此我們需要安裝 FlashStorage 庫(kù),該庫(kù)具有使用閃存模擬 EEPROM 的 API。點(diǎn)擊Tools > Manage Libraries...打開(kāi) Library Manager 并搜索FlashStorage (by Arduino) 并點(diǎn)擊 install。

poYBAGNiSc2ASvb3AADxE_EuI8E312.png
?

現(xiàn)在我們需要從下面列出的 Github 存儲(chǔ)庫(kù)中為 Wio Terminal 安裝 Arduboy 庫(kù):

單擊代碼 > 下載 ZIP以下載庫(kù)包。

pYYBAGNiSdCAZuaFAAFXzqDzE2Q971.png
?

要安裝庫(kù),請(qǐng)單擊Sketch > Include Library > Add.ZIP Library。

poYBAGNiSdOACt4aAAC6whgExTI279.png
?

我們可以使用 HelloWorld 草圖測(cè)試這個(gè)庫(kù)。通過(guò) USB 將 Wio 終端連接到計(jì)算機(jī)并通過(guò)單擊文件 > 示例 > Arduboy2 > HelloWorld打開(kāi)草圖,然后單擊草圖 > 上傳以編譯/上傳固件。

poYBAGNiSdWAdAvRAAC45ZALkeo519.png
?

你好世界演示

?

用聲音播放 Sirène 演示

從 Github 存儲(chǔ)庫(kù)https://github.com/Team-ARG-Museum/ID-42-Sirene 下載 ZIP 文件。在 Arduino IDE 中解壓并打開(kāi)文件 SRN_AB.ino。

pYYBAGNiSdiAMuOOAACwrBr7WRE151.png
?

單擊草圖>上傳并享受游戲!

?

同樣,我們可以玩許多其他游戲。雖然大多數(shù)游戲應(yīng)該可以開(kāi)箱即用,但很少有游戲草圖需要外部庫(kù),可以使用 Arduino IDE 庫(kù)管理器安裝這些庫(kù)。請(qǐng)?jiān)诰幾g草圖并安裝缺少的庫(kù)時(shí)檢查錯(cuò)誤消息。

玩該死的地下墓穴!3D游戲演示

?

玩公路旅行演示

?

結(jié)論

在 Wio 終端上移植 Arduboy 真的是一次很棒的經(jīng)歷和學(xué)習(xí)。我喜歡在上面玩游戲。在不久的將來(lái),我計(jì)劃為它開(kāi)發(fā)一款游戲。我要感謝 Kevin Bates 和 Seeedstudio 對(duì)開(kāi)源軟件和開(kāi)放硬件平臺(tái)的支持。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)