EDES301: PocketTetris
我的目標(biāo)
我一直很喜歡《俄羅斯方塊》,所以我想嘗試在PocketBeagle上重現(xiàn)這款游戲。不幸的是,我沒有能夠?qū)崿F(xiàn)我想要的所有功能,但我仍然在這方面學(xué)到了很多,希望這個(gè)項(xiàng)目可以在未來得到改進(jìn)!
PocketBeagle Pinout參考圖
以下是PocketBeagle的引腳圖,您可以在本教程中參考。
SPI顯示
首先,我們應(yīng)該將SPI Display連接到PocketBeagle。將SPI顯示器放在大型無焊面包板上,然后進(jìn)行以下連接(我使用SPI0,因此如果您想使用SPI1,則需要使用不同的引腳):
?顯示GND到PocketBeagle GND (P1_16)
?顯示識(shí)別碼到PocketBeagle 3.3V
?顯示CLK到PocketBeagle CLK (P1_8)
?向PocketBeagle展示MISO
?顯示MOSI到PocketBeagle MOSI (P1_12)
?顯示CS到PocketBeagle GPIO5 (P1_6)
?顯示DC到PocketBeagle GPIO89 (P1_4)
?顯示RST到PocketBeagle GPIO87 (p12)
這些連接是這樣的:
接下來,我們可以將蜂鳴器連接到PocketBeagle的PWM引腳!我用的是PWM2B。為此,在大型無焊面包板上進(jìn)行以下連接:
?蜂鳴器+ PocketBeagle PWM2B (P2_3)
?蜂鳴器-到PocketBeagle GND
這是我的樣子(橙色的電線到P2_3):
按鈕
最后,我們可以連接我們的按鈕。我在D-pad布局的小型無焊面包板上配置了我的,其中有兩個(gè)額外的按鈕用作a和b。這些按鈕中的每個(gè)按鈕都有一個(gè)以以下方式配置的1k歐姆電阻(歸功于Erik Welsh的圖表):
以下是每個(gè)按鈕的連接:
?PocketBeagle P1_36的按鈕
?B按鈕到PocketBeagle P1_34
?右鍵PocketBeagle P1_32
?向下按鈕PocketBeagle P1_30
?左鍵PocketBeagle P1_28
?向上按鈕PocketBeagle P1_26
這就是那些看起來像(電阻是很難看到的,所以參考上面的圖表知道他們?nèi)ツ睦?:
軟件的考驗(yàn)和磨難:
我嘗試了許多不同的方法,試圖讓它真正運(yùn)行《俄羅斯方塊》,但不幸的是沒有成功。我最初想嘗試從頭開始編寫《俄羅斯方塊》,但很難理解如何與顯示器交互以使形狀正確顯示和移動(dòng)。接下來,我嘗試使用預(yù)制的Python代碼來運(yùn)行它,而不是自己從頭開始編寫,但我發(fā)現(xiàn)的所有示例都依賴于pygame庫,我無法將其安裝在PocketBeagle上。最后,我嘗試使用Advanced MAME(參考Kevin Li的GameBeagle和Mouser Electronics的指南),但我再次失敗。隨著期末考試的臨近,我不得不承認(rèn)失敗,最終我的屏幕只顯示了一個(gè)占位符圖像,并從蜂鳴器中播放俄羅斯方塊主題。
圖表
系統(tǒng)框圖
電源框圖
本文編譯自hackster.io