資料介紹
描述
概述
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ù)古的黑白外觀。
軟件庫(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é)果。
實(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] ;
}
}
}
我們可以比較下圖中的分辨率。
安裝
請(qǐng)下載最新的 Arduino IDE 要安裝 Wio 終端板庫(kù),請(qǐng)打開(kāi) Arduino IDE,單擊File > Preferences ,然后將以下 URL 復(fù)制到 Additional Boards Manager?
單擊工具 > 板 > 板管理器并搜索Wio 終端并單擊安裝。
您需要使用Tools > Board菜單選擇板和端口。
Wio 終端沒(méi)有 EEPROM,因此我們需要安裝 FlashStorage 庫(kù),該庫(kù)具有使用閃存模擬 EEPROM 的 API。點(diǎn)擊Tools > Manage Libraries...打開(kāi) Library Manager 并搜索FlashStorage (by Arduino) 并點(diǎn)擊 install。
現(xiàn)在我們需要從下面列出的 Github 存儲(chǔ)庫(kù)中為 Wio Terminal 安裝 Arduboy 庫(kù):
單擊代碼 > 下載 ZIP以下載庫(kù)包。
要安裝庫(kù),請(qǐng)單擊Sketch > Include Library > Add.ZIP Library。
我們可以使用 HelloWorld 草圖測(cè)試這個(gè)庫(kù)。通過(guò) USB 將 Wio 終端連接到計(jì)算機(jī)并通過(guò)單擊文件 > 示例 > Arduboy2 > HelloWorld打開(kāi)草圖,然后單擊草圖 > 上傳以編譯/上傳固件。
你好世界演示
用聲音播放 Sirène 演示
從 Github 存儲(chǔ)庫(kù)https://github.com/Team-ARG-Museum/ID-42-Sirene 下載 ZIP 文件。在 Arduino IDE 中解壓并打開(kāi)文件 SRN_AB.ino。
單擊草圖>上傳并享受游戲!
同樣,我們可以玩許多其他游戲。雖然大多數(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)的支持。
- Seeed Wio終端開(kāi)源分享
- Lyapunov分形與Seeeduino Wio終端開(kāi)源
- 使用Wio Terminal和Tensorflow Lite創(chuàng)建智能氣象站
- Arduino Arduboy控制臺(tái)開(kāi)源分享
- 使用Seeeduino Wio終端模擬Dadiplus擲骰子
- 能夠從微型SD卡加載游戲的Arduboy克隆
- 在Wio終端上顯示精確的分貝計(jì) 0次下載
- 臨時(shí)DIY ARDUBOY
- Arduboy Mega 2560結(jié)合使用
- Arduboy懷表制作
- 使用Arduino(Arduboy)DIY手持游戲機(jī)
- Arduboy模組芯片
- 使用Wio終端讀取OBD2
- GPRS終端/模塊/modem使用Winsock控網(wǎng)絡(luò)編程 1次下載
- TYPEC轉(zhuǎn)HDMI+PD3擴(kuò)展塢方案電路圖 26次下載
- CAN總線終端電阻添加要求 4681次閱讀
- 智能交互終端是什么 智能交互終端怎么裝 3399次閱讀
- 如何利用TinyML實(shí)現(xiàn)語(yǔ)音識(shí)別機(jī)器人車的設(shè)計(jì) 2110次閱讀
- 基于VoIP技術(shù)實(shí)現(xiàn)IP電話終端的設(shè)計(jì) 2441次閱讀
- 基于單片機(jī)和Motorola G20模塊實(shí)現(xiàn)GPRS數(shù)據(jù)終端的應(yīng)用方案 2721次閱讀
- dfrobotBluno Accessory Shield擴(kuò)展板簡(jiǎn)介 1342次閱讀
- dfrobotMega擴(kuò)展板轉(zhuǎn)4路擴(kuò)展板布局簡(jiǎn)介 1129次閱讀
- dfrobot IO擴(kuò)展板 傳感器擴(kuò)展板簡(jiǎn)介 2046次閱讀
- digilent適配擴(kuò)展板介紹 1119次閱讀
- 軟方電子:android車載多媒體終端 1850次閱讀
- 復(fù)合模型擴(kuò)展:一種更好的擴(kuò)展CNN的方法 3695次閱讀
- 通信終端設(shè)備有哪些_通信終端設(shè)備盤(pán)點(diǎn) 2.9w次閱讀
- 基于RS485總線的遠(yuǎn)程抄表系統(tǒng)采集終端的設(shè)計(jì)與實(shí)現(xiàn) 9440次閱讀
- 什么是超級(jí)終端_超級(jí)終端是干什么用的 2.3w次閱讀
- 未擴(kuò)展時(shí)鐘揭秘 835次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多