偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

新聞 前端
最近,來自美國肯尼索州立大學(xué)(KSU)的4位小哥,就親自動手用開源電子原型平臺Arduino,從零開始復(fù)現(xiàn)了另一款Windows經(jīng)典小游戲——三維彈球 (3D Pinball)。

 本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

20年前,電腦還是大背頭的,「休閑小游戲」是屬于Windows的。

紙牌、掃雷、空當(dāng)接龍……滿滿的一波回憶殺。

最近,來自美國肯尼索州立大學(xué)(KSU)的4位小哥,就親自動手用開源電子原型平臺Arduino,從零開始復(fù)現(xiàn)了另一款Windows經(jīng)典小游戲——三維彈球 (3D Pinball)。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

從3D建模,到代碼編寫,再到最后的動手施工,他們用最專業(yè)的手段向童年致敬。

正如其中一位小哥說的:

建造這樣一個項目,是我的童年夢想。

不僅如此,他們還把整個過程做了個教程——只要9步,你也可以打造一臺屬于自己的三維彈球。

把「三維彈球」搬到現(xiàn)實中

我們先來回憶一波這款經(jīng)典的Windows小游戲。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

開局,球會從右下角的管道被彈出,然后就會在桌面自由滾動,碰到不同的障礙物會拿到不同的分數(shù)。

只要保證它不從底部中間的縫隙掉出去就可以。

(滿滿的童年回憶啊……)

那么,KSU幾位小哥打造的「三維彈球」,長啥樣?

模型是這樣的:

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

實物長這樣:

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

桌面布局可以說是完美復(fù)現(xiàn)了小游戲中的場景——從管道的位置,到障礙物的布局,各種細節(jié)“惟妙惟肖”。

嗯,有內(nèi)味道了。

實際上手玩耍又是種什么體驗?

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

再來看下近距離視角。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

簡直一摸一樣有木有!

然而這臺機器還有更厲害的地方——全自動、多球

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

看完是不是也想擁有一臺呢?

別著急,KSU的4位小哥寫了份超詳細教程,手把手教你如何打造現(xiàn)實版「三維彈球」。

9步,手把手教你打造現(xiàn)實版「三維彈球」

彈球機的主要功能模塊包括追蹤得分系統(tǒng),多球彈珠機,還有自主啟動開關(guān)。上方有一個USB攝像頭,在自動運行模式下會持續(xù)地監(jiān)測彈球的位置,并根據(jù)球的位置指揮擊打器。

用到的工具和材料清單:

數(shù)控機床或激光切割機Dremel和砂紙烙鐵3D打印機Linux計算機USB攝像頭

大量的22/24 AWG線大量的熱縮線3/4英寸的膠合板(波羅的海樺木)一個電源降壓轉(zhuǎn)換器彈球組件(網(wǎng)上購買)

左右翻轉(zhuǎn)器組件2個翻轉(zhuǎn)式擊打器2個翻轉(zhuǎn)按鈕2個葉子開關(guān)保險杠總成2個彈弓組件至少6個星柱的彈弓至少2個2英寸的橡皮筋

發(fā)射器機制44號刺刀式燈場地中的障礙擲球器翻轉(zhuǎn)開關(guān)

Step 1:紙面設(shè)計和低成本試錯

設(shè)計中最可能出現(xiàn)的問題可能就是游戲機本身的尺寸限制和內(nèi)部結(jié)構(gòu)的安排,一些預(yù)想的彈球擊打方式實驗時才發(fā)現(xiàn)無法實現(xiàn),所以需要先畫出設(shè)計草圖,然后在此基礎(chǔ)上不斷改進。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

團隊在確定最終的游戲場地設(shè)計之前,經(jīng)歷了多次設(shè)計的修改和優(yōu)化,每一次改進,都在便宜的膠合板上做一個模型來測試,一步步靠近最終的設(shè)計。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

一些經(jīng)驗教訓(xùn):

進行模塊化設(shè)計,不同功能組件要能隨意放置和取消。不要自己設(shè)計滑輪,借鑒成熟的彈球游戲的場地設(shè)計,這樣能少走很多彎路。

Step 2:在SolidWorks上進行設(shè)計建模

彈球機的設(shè)計由兩個主要的子部分組成,運動場和支架。球場是標(biāo)準(zhǔn)尺寸——20.25 x42英寸2,由3/4英寸厚度的波羅的海樺木膠合板制成。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

游戲場地包括一個由直徑為2英寸的亞克力管和3D打印的適配器組合而成的第二層。第二層有兩個主要功能。首先,第二層作為介質(zhì),將球從上層球場直接輸送到左翻板內(nèi)側(cè)。球下落位置的可預(yù)測性,使得第二層成為一個的通道,此通道便于多球運動,這是其第二大功能。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

當(dāng)坡道和左內(nèi)線上的翻轉(zhuǎn)開關(guān)背對背地觸發(fā)時,舵機會釋放出兩個球,這些球會下滾到第二層上方的兩個管子中的一個,與坡道射出的球發(fā)生碰撞。因此,在多球模式下,這些管子將球會送入第二層,進入入左邊的內(nèi)管。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

3/4英寸膠合板厚度的選擇是為了給工程提供足夠的剛性,并允許在承重接頭處有更大的緊固件嚙合。選用波羅的海樺木作材料,因為它的質(zhì)量高,雜質(zhì)少,屬于硬木,不易損壞,易于使用激光雕刻,一般來說,對于較重的木制結(jié)構(gòu)是首選。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

支架是游戲場地的安裝裝置,并容納了定制的電子裝置。電子裝置直接固定在底板上,延伸的延伸到游戲面板底部。通過觀察窗可以看到電子裝置在支架的兩側(cè)。

此外,該支架還可以通過側(cè)面的可拆卸的插銷對球場進行間距調(diào)節(jié)。游戲臺傾斜角度范圍為0-8度,每兩度設(shè)置一個調(diào)節(jié)檔位。更高的球道坡度可以使游戲節(jié)奏更快,難度更高。

Step 3:用數(shù)控機床或激光雕刻制作主體

盡管你可以手工切削出游戲臺的整體結(jié)構(gòu),但這樣誤差交大,后續(xù)安裝連接多有不便,浪費材料。

這幾個美國小哥用一臺大型5軸數(shù)控機床進行銑削,最后再用木楔進行細節(jié)調(diào)整。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

Step 4:電子器件和電源選擇

大多數(shù)彈球機的 “高壓 “在35V-48V的范圍,這取決于你買的電磁鐵的品牌,同時你要選擇一個能支持這種磁鐵線圈的電源。

其次,你需要考慮到 “低電壓 “的電源,用于給燈或其他較小的電器元件等東西供電。我們選擇的低電壓是6.3v的電壓,但這不一定是一成不變的。這要看你買的是什么LED,以及你是否用這個電源給其他的電器東西供電。一般6.3V應(yīng)該就可以滿足需要。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

如果沒有低壓電源,那還需要一個降壓轉(zhuǎn)換器將高電壓(如48V)降到小元件的額定電壓。

此外,使用的元件的電阻大小,決定了電流大小。所以,電源總功率要視情況而定。

如果你的組件沒有達到正確的功耗額定值,這些元件在很短的時間內(nèi)產(chǎn)生很大的電流。

在這種情況下,單個擊打器內(nèi)部線圈可能會產(chǎn)生3-4安電流,兩個加起來8安培左右,會導(dǎo)致元件燒毀。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

你應(yīng)當(dāng)計算出 “最壞的情況下 “的電流大小,然后給出一個合理的安全范圍,挑出一個對應(yīng)的電源。

Step 5:建立I/O接口電路

開關(guān)輸入部分:

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

開關(guān)輸入板負責(zé)將所有的值從游戲場地中讀入到Arduino。這個單獨的電路非常簡單,但需要對很多輸入進行放大處理。

因為Arduino有一個內(nèi)部的上拉電阻,所以你可以如上圖那樣接線。

這里最大的問題是要確保每個開關(guān)都有連接器,以防有一個開關(guān)因為某種原因單獨取出調(diào)試。

這個項目中使用了標(biāo)準(zhǔn)針腳連接,可以很容易地將所有的東西同時插入到Arduino中。

燈光控制部分:

電路由一個BJT晶體管(2n222222)、幾個電阻和LED組成。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

晶體管作為一個數(shù)字 “開關(guān)”,可以打開或關(guān)閉,把它這個連接到前面提到的6.3v電源上,就得到了一個光源和單獨可尋址的LED。

不能直接將LED直接連接到Arduino上的原因是,Arduino無法提供多個LED要求的額定電流。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

正確的辦法是把Arduino作為一個數(shù)字開關(guān),控制BJT。這樣就可以將LED的數(shù)量擴大到我們需要的數(shù)量。

電磁控制部分:

總體思路與LED板相同:從Arduino發(fā)送一個信號,能夠打開/關(guān)閉任何一個電磁鐵(翻板、彈弓、彈出式保險杠)。因為這些元件比LED功率更大,所以需要一些更大的晶體管:MOSFET。

電路元件清單:

1k電阻10k電阻330電阻IRF44V MOSFET1N4004 二極管47微法電容

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年
微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

電磁鐵需要連接到48V的電壓才會啟動。

因為電感不能瞬間改變電流,這就帶來了一個問題。工作時,線圈會通過很高電流,而關(guān)閉時,如果沒有一個地方分散電流,可能會破壞元件,非常危險。

這里使RC緩沖器電路和二極管來解決這個問題。要使它們覆蓋盡量多的電磁控制并聯(lián)支路。

擊打器和其他線圈的電路略有不同。這是因為,在彈球游戲中,玩家有時會按住按鈕,以保持擊打器長時間啟動。如果要用同樣的功率線圈,很快就會燒毀。

在此電路中的第二個線圈可以實現(xiàn)快速第一次翻轉(zhuǎn)。一旦翻轉(zhuǎn)完成,一個機械機構(gòu)會打開EOS開關(guān),迫使電流通過兩個線圈。

Step 6:組裝所有元件

根據(jù)你游戲場地的大小,焊接時間或長或短。這個項目花了大約兩天的時間焊接,并把所有器件安裝到位。

最終有5種連接器插到板子上:

高功率的螺線管電源與電磁鐵專用開關(guān)的連接與LED的連接與開關(guān)的連接一些輔助電源(5V、48V等)。

所有這些都插到了一個3D打印的連接板上,里面封裝了所有電路設(shè)備。當(dāng)需要開蓋檢測故障的時候,只需要拔掉5個大的連接器,然后把整個裝置舉起來。

Step 7:安裝Arduino軟件驅(qū)動

在這臺機器上,需要在與Arduino相連的計算機上安裝以下依賴項:

ROSrosserial_arduino ROS packageOpenCV (c++)TkinterApscheduler

整個軟件系統(tǒng)依靠ROS架構(gòu)作為后端來回傳遞消息。

四個主要節(jié)點在彈珠機運行在自主模式下時,進行異步通信,以控制彈珠機的流程。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

這些節(jié)點分別是Input_Output.ino、track_metal.cpp、run_low_level.py和GUI.py。

當(dāng)不在自主模式下運行時,可以省略track_metal.cpp節(jié)點。

源代碼和詳細解釋在本項目的Github主頁放出。

Step 8:更改Pin、將代碼上傳到Arduino、更新USB攝像頭

如果你自己動手制作彈球機,并使用了本項目的源碼,要注意的是,你的Arduino的Pin需要更新兩處:
Arduino/Input_Ouptut/Input_Ouptut.io,以及src/Classes/playfield.py。

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

此外還需要調(diào)整腳本,刪除對開關(guān)和LED的調(diào)用。

playfield.py會記錄有多少個項目,需要手動設(shè)置每個項目的Pin。

之后就可以將代碼上傳到Arduino中。此步驟必須安裝上一步中提到的rosserial_arduino,并正確設(shè)置Arduino IDE與ROS綁定。

最后,要做的是更新代碼中你自己使用的攝像頭名稱。只需在 src/Track/track_metal.cpp 中找到 “std::::string camera_metal.cpp “這一行:

“std::::string camera_string = “/dev/v4l/by-id/usb-046d_Logitech_Webcam_C930e_6D6BFE5E-video-index0”;”

將字符串更新為攝像機的名稱,可能是”/dev/v4l/by-id/“

所有步驟完成后,重新編譯才可以工作。

Step 9:玩起來吧!

如果一切正常,那么找到到 “啟動 “目錄,然后輸入 “roslaunch 
automatic_pinball_c.report

這行代碼啟動所有與彈球機相關(guān)的節(jié)點,包括GUI節(jié)點和跟蹤球的位置的節(jié)點。

此外,你可以使用’roslaunch manual_pinball.report’不運行任何自主部分,只體驗手動模式。

來自KSU畢業(yè)班的四位“造夢者”

那么,將童年回憶搬到現(xiàn)實的四位“造夢者”,都是何許人也?

[[331571]]

Kevin Kamperman,今年畢業(yè)于KSU,目前正在佐治亞理工學(xué)院研究所實習(xí),從事無人機相關(guān)的研究。

春季畢業(yè)的時候,Kevin Kamperman還被KSU評為今年的“榮譽畢業(yè)生”。

[[331572]]

Cody Meier,同樣也是今年畢業(yè)于KSU,主修的專業(yè)是機械電子、機器人和自動化工程。

[[331573]]

Omar Salazar和上一位小哥是同專業(yè),也是主修機械電子、機器人和自動化工程。

他在采訪視頻中表示,這個項目加強了他在團隊合作方面的能力。

[[331574]]

最后一位叫Tyler Gragg的小哥,可謂是“機器人制造”的狂熱愛好者,在個人介紹文字中,還特意寫道“Let’s Make Robots”,參與不少機器人項目。

Tyler也榮登了學(xué)校“光榮榜”。

嗯,是四位非常優(yōu)秀的“造夢者”了。

那些年,經(jīng)典的Windows小游戲

紙牌、掃雷、空當(dāng)接龍…….這些Windows經(jīng)典游戲至今仍然擁有眾多粉絲。

它們現(xiàn)在都何去何從了呢?

微軟放棄的游戲被復(fù)活:三維彈球現(xiàn)實版,用Arduino硬核致敬童年

微軟如今把這些經(jīng)典游戲放在了WindowsStore中,然而「三維彈球」的就沒有那么幸運了。

其實,從Win7開始,微軟團隊將原先的軟件全部移植到64位系統(tǒng)中。

然而,「三維彈球」卻出現(xiàn)了嚴重bug,為了節(jié)省時間,微軟直接放棄了這個游戲。

但四位小哥的這個項目,卻賦予了這款經(jīng)典之作新的生命。

這個星球有趣的人可真多啊。

傳送門

現(xiàn)實版「三維彈球」項目地址:

https://www.instructables.com/id/Arduino-Pinball-Machine-That-Plays-Itself/

Github源代碼地址:

https://github.com/Tdoe4321/AutoPinball

通用彈球游戲設(shè)計制作教程:

https://howtobuildapinballmachine.wordpress.com

責(zé)任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2011-10-31 10:49:46

蘋果收購三維地圖

2024-07-03 13:32:28

2023-08-31 22:09:45

微軟MacIDE

2014-05-19 09:40:48

SDN

2010-09-03 09:28:30

2011-12-06 09:38:17

增強現(xiàn)實移動游戲

2021-03-16 09:53:35

人工智能機器學(xué)習(xí)技術(shù)

2009-11-10 12:55:26

VB.NET三維模型

2013-04-17 16:22:53

2023-09-12 11:30:44

自動駕駛技術(shù)

2009-11-10 12:48:17

VB.NET三維模型

2015-08-03 14:41:06

微軟IE

2009-04-23 10:41:59

微軟IE瀏覽器

2011-07-15 13:07:15

Windows

2020-03-16 09:25:10

微軟瀏覽器Windows

2020-09-20 22:04:11

Windows 工具系統(tǒng)

2021-03-04 08:35:36

Windows 10微軟Edge

2023-02-27 09:40:47

機器人ChatGPT

2014-08-26 16:04:30

2009-05-08 10:19:11

點贊
收藏

51CTO技術(shù)棧公眾號