當(dāng)前位置:首頁 > 顯示光電 > 顯示光電
[導(dǎo)讀]南瓜燈是萬圣節(jié)必備的東西,但如果把南瓜和經(jīng)典視頻游戲俄羅斯方塊結(jié)合在一起,會產(chǎn)生什么新東西呢?Pumpktris(南瓜俄羅斯方塊)!國外程序員技術(shù)宅Nathan童鞋就 DIY 了一個 Pumpktris,把做好的電路板放在南瓜中,南瓜

南瓜燈是萬圣節(jié)必備的東西,但如果把南瓜和經(jīng)典視頻游戲俄羅斯方塊結(jié)合在一起,會產(chǎn)生什么新東西呢?Pumpktris(南瓜俄羅斯方塊)!國外程序員技術(shù)宅Nathan童鞋就 DIY 了一個 Pumpktris,把做好的電路板放在南瓜中,南瓜柄當(dāng)游戲控制器,完全可以打一把!(看文中視頻)

創(chuàng)意

寫下所有瘋狂、一閃而過的想法,這是我的習(xí)慣之一,然后回頭再檢查,而不是當(dāng)時做判斷,這樣也不會把創(chuàng)意忘掉。在10月份初,我在回想去年的一個創(chuàng)意,制作“南瓜俄羅斯方塊”。我的最初計劃是給南瓜塑形,在南瓜成長的過程中,把南瓜整成俄羅斯方塊游戲中的各種形狀,然后在萬圣節(jié)把這些整形后的南瓜拼堆在一起。因為離萬圣節(jié)也沒多少周了,想種南瓜,也晚了,所以我想:為什么做一個可以玩俄羅斯方塊的南瓜呢?

我還有一塊沒有用過的LOLShield(譯注:一種 9×14 的 LED 板),我也知道之前有人在這個板子上編寫過俄羅斯方塊游戲。,所以我有了個簡單想法,南瓜上鉆一些洞,放 LED 燈,再做一個控制器,就差不多了。噢,不對,那樣會不會太簡陋了。LED 燈又小,并且都集中在 2×3″ 大的地方。這樣不行!

B 計劃:還是用 LOLshield,但不把LED燈安裝在板子上,我將在外部把它們連接起來,這樣我就能在南瓜上把它們隔的更開了。還好我在這條路上沒有走太遠(yuǎn),就發(fā)現(xiàn)方法不對了。因為我發(fā)現(xiàn),在LED燈之間,將會有又電線束,如果板子會搞得太厚,那我焊接和整理板子將會太麻煩了。

所以我打算自己做一個 LED 燈板子,自己重新寫程序。決定已下,我從 Mouser 買了 140 個黃色的 LED 燈,從 Adafruit 買了一對 LED 板子(LED Matrix I2C “backpacks”),這個帶了一個 8*8 的 LED matrix。

焊接時間

第一步就是做 LED matrix,還好我在Hackaday上找到了一篇制作 70 LED 矩陣的文章。雖然我的步驟基本上差不多,但我都會過一遍。如果你要更多的理論知識,去看他們的文章吧。

我切割了 112 段 2.5″ 和 16 段 8″ 的電路線。短線用來連接各個 LED,長線用于連接 LED 到控制器。整一個切割墊,可以輕松、快速、準(zhǔn)確地測量出的長度。

下一步,我把7條短線和1條長線焊接到一起了做了 1 條菊花鏈(如下圖)。然后再做 15 條這樣的長線,8*8 矩陣的長線就夠了。

然后制作夾板(jig),和Hackaday上的方式不同,我沒有用硬質(zhì)板,改用了1/4″的泡沫板。用錐子在上面戳孔了,這比在硬板上用鉆頭要快點。另外用泡沫板的好處是,孔洞可先弄小點,把LED燈塞進(jìn)去還更穩(wěn)定哦。

在一排孔洞上安上 LED 燈,每個 LED 的陽極鍍錫后簡短,然后拿一條前面做好的菊花鏈長線,在這排燈上焊接好。在焊接之前,我在菊花鏈的每個連接處包上了半英寸的熱縮管(heat-shrink tubing)。有幾次次我忘了熱縮管,不得不回頭再加。注意:焊接處還燙時,別著急把熱縮管套下去。否則熱縮管就開始收縮,在 LED 連接處就會套不牢了。

把八行LED燈(陽極)都串聯(lián)好后,就開始把它們的陰極連起來了。過程一樣,記得熱縮管。搞定后,從泡沫夾板上取下來。

看看!下面就是完工后的 LED 矩陣!

咦?還差什么呢?這是一個8×8的矩陣,想玩俄羅斯方塊,空間還不夠哦。所以我又做了一個8×8的矩陣。

Adafruit 的 LED Matrix Backpack 是要求其 LED 矩陣得正確焊接在板子上,但我是焊接了陰極(female header),如此一來,我可以單獨給每塊8×8 LED 矩陣加電,也可以給整個8×16 LED 大矩陣加電。有人可能會和我說,我應(yīng)該要在這里或哪里加個電阻什么的,否則我會把芯片弄爆,也許他們是對的,但目前來看工作正常的。

為了把我自己做的 LED 矩陣連接到 I2C Backpack,我切掉了部分原型板,然后焊接了陽極。然后把最后一行一列的8″ 線連接到板子上。

這個能正常運行么?我得編寫代碼來驗證了。

編程時間

I did all coding with the hardware mounted on mybamboo prototyping board. The mini matrices in the I2C backpack sockets fit on the desk much better than the big, floppy matrices I built would have.

所有代碼寫入安裝在我 Bamboo 原型板上的硬件上。

[!--empirenews.page--]

There are seven Tetrominos—yes, that’s what they’re called—in the game. Each has four points, as implied by the “tetra” prefix. A three-dimensional array stores the location of every pixel of every shape, in each of four possible rotations. Storing each rotation is a lot easier (for my brain at least) than calculating it on the fly. As an example, here’s the T shape:

俄羅斯游戲中共有七種形狀(Tetromino),每種形狀都只有四個方塊(點),這也就是為什么會用上 tetra 前綴的原因。用一個三維數(shù)組來存儲各種形狀每個點的位置,有四種可能的旋轉(zhuǎn)角度。存儲每個旋轉(zhuǎn)角度要比在下降時計算其角度更簡單(至少我是這樣想的)。下面是 T 形狀的例子:

1

2

3

4

5

6

/* T */ {

/* angle 0 */ { {0,1}, {1,1}, {2,1}, {1,2} },

/* angle 90 */ { {1,0}, {1,1}, {2,1}, {1,2} },

/* angle 180 */ { {1,0}, {0,1}, {1,1}, {2,1} },

/* angle 270 */ { {1,0}, {0,1}, {1,1}, {1,2} }

}

[!--empirenews.page--]

為了繪制活動塊,程序設(shè)置有一個 activePiece 變量(形狀數(shù)組的索引)和一個轉(zhuǎn)動角度變量(形狀轉(zhuǎn)動角度描述索引),然后設(shè)置每個像素對,每個像素對引出兩個偏量:yOffset 和 xOffset,分別指活動塊離屏幕底邊的距離和離屏幕左邊的距離。

It also keeps an array describing the status of each “fixed” piece. With every move of the active piece, whether by gravity or by user control, it checks against that fixed-piece array to see if the requested move can be made without a collision. If the forbidden movement is left, right, or a rotation, it simply doesn’t make the move. If the forbidden movement is vertical it considers the piece to have landed and writes the piece to the array of fixed pieces, then launches a new active piece. Along the way it keeps score, tracks the level, speeds up the drop of the active piece as the game goes on, etc.

還要有一個描述每個“固定塊”狀態(tài)的數(shù)組。

加工南瓜

這個工程需要一個完美的容器,呃,我說的就是南瓜。南瓜得足夠高,得裝下8英寸高的 LED 矩陣,還得有個長又直的南瓜柄。我開始買了 3 個南瓜,以為都是完美品,回家才知道一瓜不如一瓜。最后總算有個合適的,其他幾個我就用來聯(lián)系打孔和練刀工了。

進(jìn)南瓜里面,我在背面開了一個大口。注意:千萬別從南瓜柄那下刀,南瓜柄還得留著做游戲控制刊。放 LED 燈,從背面比從上面放更容易。

拿一張紙,仿照 8×16 LED 矩陣大小再畫一個矩陣,做好標(biāo)記。

做好標(biāo)記后,我用 13/64″ 鉆頭打孔了。

因為圓孔不怎么適合用來做俄羅斯方塊游戲,所以我在每個洞眼旁邊,用 X-Act 刀戳出了方形。

為了把南瓜柄改造成控制桿,我小心翼翼地從根部鋸開了南瓜柄,然后再鉆了一個 1/8″ 大小的孔眼,游戲桿得穿過這個孔。

在南瓜內(nèi)部,瓜柄下方要整平出一個正方形。把錨釘切短了些(過長會穿透南瓜),然后擰緊。稍后再螺絲把控制桿固定在錨釘上。

控制桿的話,我買了SparkFun的短柄操作桿,把紅球擰下來,換上南瓜柄。我在南瓜柄上鉆了一個孔,給 6mm 的螺栓上膠,然后放進(jìn)南瓜柄,然后再把南瓜柄擰上操作桿。

然后把 LED 燈塞進(jìn)南瓜孔洞。中間有個小插曲,從南瓜外邊看著是打了16行的孔,從里面看卻是15行。因為南瓜不夠長,有弧度,導(dǎo)致上上面有兩行洞眼打到一行去了。最上一排就只好直接把 LED 燈強行摁進(jìn)合適的位置去了。

最后把每塊電路線接好,電源是8節(jié)充電電池。

是時候來玩一把南瓜俄羅斯方塊了!!!

除了上面那塊 8×8 的矩陣有時候會有些小故障,其他部分運行的都很好。也許是電源供給問題,但應(yīng)該是一些間斷的短路,因為這么多電路連接點都在南瓜肉中。操作桿在上面,而顯示屏卻在下方,玩起來也覺得怪怪的。如果我重新做一個的話,我會把控制桿放在另外一個獨立的南瓜上,或者用無線操作桿,或者把控制桿外接線路打扮成南瓜藤。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉