❶ Windows經典「三維彈球」現實版,CAD建模、Arino編程、數控機床打造,硬核致敬童年
在二十年前,電腦還是大背頭的時代,Windows的「休閑小游戲」是我們的回憶。紙牌、掃雷、空當接龍……滿滿的回憶。然而,最近,來自美國肯尼索州立大學的四位小哥,用開源電子原型平台Arino從零開始復現了另一款Windows經典小游戲——三維彈球 (3D Pinball)。從3D建模、代碼編寫到動手施工,他們以最專業的方式向童年致敬。
其中一位小哥說:建造這樣一個項目,是我的童年夢想。不僅如此,他們還提供了打造現實版「三維彈球」的教程,只需9步,你也可以打造一台屬於自己的三維彈球。
首先,我們回憶一下這款經典的Windows小游戲。開局,球會從右下角的管道被彈出,然後在桌面自由滾動,碰到不同的障礙物會拿到不同的分數,只要保證它不從底部中間的縫隙掉出去就可以。
那麼,四位小哥打造的「三維彈球」,長啥樣呢?模型是這樣的,實物則是完美復現了小游戲中的場景——從管道的位置,到障礙物的布局,各種細節栩栩如生。
實際手玩耍又是種什麼體驗呢?近距離視角下,簡直一模一樣!這台機器還有更厲害的地方——全自動、多球。
看到這里,是不是也想擁有一台呢?別著急,四位小哥提供了超詳細的教程,手把手教你如何打造現實版「三維彈球」。
「三維彈球」的主要功能模塊包括追蹤得分系統、多球彈珠機、還有自主啟動開關。上方有一個USB攝像頭,在自動運行模式下會持續地監測彈球的位置,並根據球的位置指揮擊打器。
用到的工具和材料清單包括:數控機床或激光切割機、Dremel和砂紙、烙鐵、3D列印機、Linux計算機、USB攝像頭、大量的22/24 AWG線、大量的熱縮線、3/4英寸的膠合板(波羅的海樺木)、一個電源、降壓轉換器、彈球組件、左右翻轉器組件、2個翻轉式擊打器、2個翻轉按鈕、2個葉子開關、保險杠總成、2個彈弓組件、至少6個星柱的彈弓、至少2個2英寸的橡皮筋、發射器機制、44號刺刀式燈、場地中的障礙、擲球器、翻轉開關。
以下是9步打造現實版「三維彈球」的步驟:
Step 1:紙面設計和低成本試錯
設計中最可能出現的問題可能就是游戲機本身的尺寸限制和內部結構的安排,一些預想的彈球擊打方式實驗時才發現無法實現,所以需要先畫出設計草圖,然後在此基礎上不斷改進。團隊在確定最終的游戲場地設計之前,經歷了多次設計的修改和優化,每一次改進,都在便宜的膠合板上做一個模型來測試,一步步靠近最終的設計。
一些經驗教訓包括進行模塊化設計,不同功能組件要能隨意放置和取消。不要自己設計滑輪,借鑒成熟的彈球游戲的場地設計,這樣能少走很多彎路。
Step 2:在SolidWorks上進行設計建模
彈球機的設計由兩個主要的子部分組成,運動場和支架。球場是標准尺寸——20.25 x42英寸2,由3/4英寸厚度的波羅的海樺木膠合板製成。游戲場地包括一個由直徑為2英寸的亞克力管和3D列印的適配器組合而成的第二層。第二層有兩個主要功能。首先,第二層作為介質,將球從上層球場直接輸送到左翻板內側。球下落位置的可預測性,使得第二層成為一個的通道,此通道便於多球運動,這是其第二大功能。
當坡道和左內線上的翻轉開關背對背地觸發時,舵機會釋放出兩個球,這些球會下滾到第二層上方的兩個管子中的一個,與坡道射出的球發生碰撞。因此,在多球模式下,這些管子將球會送入第二層,進入入左邊的內管。
3/4英寸膠合板厚度的選擇是為了給工程提供足夠的剛性,並允許在承重接頭處有更大的緊固件嚙合。選用波羅的海樺木作材料,因為它的質量高,雜質少,屬於硬木,不易損壞,易於使用激光雕刻,一般來說,對於較重的木製結構是首選。
支架是游戲場地的安裝裝置,並容納了定製的電子裝置。電子裝置直接固定在底板上,延伸的延伸到游戲面板底部。通過觀察窗可以看到電子裝置在支架的兩側。此外,該支架還可以通過側面的可拆卸的插銷對球場進行間距調節。游戲台傾斜角度范圍為0-8度,每兩度設置一個調節檔位。更高的球道坡度可以使游戲節奏更快,難度更高。
Step 3:用數控機床或激光雕刻製作主體
盡管你可以手工切削出遊戲台的整體結構,但這樣誤差交大,後續安裝連接多有不便,浪費材料。這幾個美國小哥用一台大型5軸數控機床進行銑削,最後再用木楔進行細節調整。
Step 4:電子器件和電源選擇
大多數彈球機的 「高壓 「在35V-48V的范圍,這取決於你買的電磁鐵的品牌,同時你要選擇一個能支持這種磁鐵線圈的電源。其次,你需要考慮到 「低電壓 「的電源,用於給燈或其他較小的電器元件等東西供電。我們選擇的低電壓是6.3v的電壓,但這不一定是一成不變的。這要看你買的是什麼LED,以及你是否用這個電源給其他的電器東西供電。一般6.3V應該就可以滿足需要。如果沒有低壓電源,那還需要一個降壓轉換器將高電壓(如48V)降到小元件的額定電壓。此外,使用的元件的電阻大小,決定了電流大小。所以,電源總功率要視情況而定。如果你的組件沒有達到正確的功耗額定值,這些元件在很短的時間內產生很大的電流。在這種情況下,單個擊打器內部線圈可能會產生3-4安電流,兩個加起來8安培左右,會導致元件燒毀。你應當計算出 「最壞的情況下 「的電流大小,然後給出一個合理的安全范圍,挑出一個對應的電源。
Step 5:建立I/O介面電路
開關輸入部分:開關輸入板負責將所有的值從游戲場地中讀入到Arino。這個單獨的電路非常簡單,但需要對很多輸入進行放大處理。因為Arino有一個內部的上拉電阻,所以你可以如上圖那樣接線。這里最大的問題是要確保每個開關都有連接器,以防有一個開關因為某種原因單獨取出調試。這個項目中使用了標准針腳連接,可以很容易地將所有的東西同時插入到Arino中。
燈光控制部分:電路由一個BJT晶體管(2n222222)、幾個電阻和LED組成。晶體管作為一個數字 「開關」,可以打開或關閉,把它這個連接到前面提到的6.3v電源上,就得到了一個光源和單獨可定址的LED。不能直接將LED直接連接到Arino上的原因是,Arino無法提供多個LED要求的額定電流。正確的辦法是把Arino作為一個數字開關,控制BJT。這樣就可以將LED的數量擴大到我們需要的數量。
電磁控制部分:總體思路與LED板相同:從Arino發送一個信號,能夠打開/關閉任何一個電磁鐵(翻板、彈弓、彈出式保險杠)。因為這些元件比LED功率更大,所以需要一些更大的晶體管:MOSFET。電路元件清單包括1k電阻、10k電阻、330電阻、IRF44V MOSFET、1N4004二極體、47微法電容。電磁鐵需要連接到48V的電壓才會啟動。因為電感不能瞬間改變電流,這就帶來了一個問題。工作時,線圈會通過很高電流,而關閉時,如果沒有一個地方分散電流,可能會破壞元件,非常危險。這里使RC緩沖器電路和二極體來解決這個問題。要使它們覆蓋盡量多的電磁控制並聯支路。
擊打器和其他線圈的電路略有不同。這是因為,在彈球游戲中,玩家有時會按住按鈕,以保持擊打器長時間啟動。如果要用同樣的功率線圈,很快就會燒毀。在此電路中的第二個線圈可以實現快速第一次翻轉。一旦翻轉完成,一個機械機構會打開EOS開關,迫使電流通過兩個線圈。
Step 6:組裝所有元件
根據游戲場地的大小,焊接時間或長或短。這個項目花了大約兩天的時間焊接,並把所有器件安裝到位。最終有5種連接器插到板子上:高功率的螺線管電源、與電磁鐵專用開關的連接、與LED的連接、與開關的連接、一些輔助電源(5V、48V等)。所有這些都插到了一個3D列印的連接板上,裡面封裝了所有電路設備。當需要開蓋檢測故障的時候,只需要拔掉5個大的連接器,然後把整個裝置舉起來。
Step 7:安裝Arino軟體驅動
在這台機器上,需要在與Arino相連的計算機上安裝以下依賴項:ROS rosserial_arino ROS package、OpenCV (c++)、Tkinter、Apscheler。整個軟體系統依靠ROS架構作為後端來回傳遞消息。四個主要節點在彈珠機運行在自主模式下時,進行非同步通信,以控制彈珠機的流程。這些節點分別是Input_Output.ino、track_metal.cpp、run_low_level.py和GUI.py。當不在自主模式下運行時,可以省略track_metal.cpp節點。源代碼和詳細解釋在本項目的Github主頁放出。
Step 8:更改Pin、將代碼上傳到Arino、更新USB攝像頭
如果你自己動手製作彈球機,並使用了本項目的源碼,要注意的是,你的Arino的Pin需要更新兩處:Arino/Input_Ouptut/ Input_Ouptut.io,以及src/Classes/playfield.py。此外還需要調整腳本,刪除對開關和LED的調用。playfield.py會記錄有多少個項目,需要手動設置每個項目的Pin。之後就可以將代碼上傳到Arino中。此步驟必須安裝上一步中提到的rosserial_arino,並正確設置Arino 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」。這行代碼啟動所有與彈球機相關的節點,包括GUI節點和跟蹤球的位置的節點。此外,你可以使用』roslaunch manual_pinball.report』不運行任何自主部分,只體驗手動模式。
四位來自KSU的「造夢者」是何許人也?Kevin Kamperman,今年畢業於KSU,目前正在喬治亞理工學院研究所實習,從事無人機相關的研究。春季畢業的時候,Kevin Kamperman還被KSU評為今年的「榮譽畢業生」。Cody Meier,同樣也是今年畢業於KSU,主修的專業是機械電子、機器人和自動化工程。Omar Salazar和上一位小哥是同專業,也是主修機械電子、機器人和自動化工程。他在采訪視頻中表示,這個項目加強了他在團隊合作方面的能力。最後一位叫Tyler Gragg的小哥,可謂是「機器人製造」的狂熱愛好者,在個人介紹文字中,還特意寫道「Let』s Make Robots」,參與不少機器人項目。Tyler也榮登了學校「光榮榜」。嗯,是四位非常優秀的「造夢者」了。
那些年,經典的Windows小游戲,紙牌、掃雷、空當接龍……這些至今仍然擁有眾多粉絲。然而,微軟如今把這些經典游戲放在了WindowsStore中,「三維彈球」就沒有那麼幸運了。其實,從win7開始,微軟團隊將原先的軟體全部移植到64位系統中。然而,「三維彈球」卻出現了嚴重bug,為了節省時間,微軟直接放棄了這個游戲。但四位小哥的這個項目,卻賦予了這款經典之作新的生命。這個星球有趣的人可真多啊。
更多細節和教程請參考以下鏈接:
現實版「三維彈球」項目地址: instructables.com/id/Ar...
Github源代碼地址: github.com/Tdoe4321/Aut...
通用彈球游戲設計製作教程: howtobuildapinballmachine.wordpress.com
❷ win7系統自帶的掃雷等游戲在哪,怎麼打開找
1、打開電腦,找到電腦桌面左下角的開始的圖標,使用滑鼠點擊。
❸ win7系統自帶的小游戲在哪個文件夾
C:Program FilesMicrosoftGames
(3)win7電腦如何玩三維彈珠擴展閱讀:
打開自帶游戲的具體步驟:
1、打開「開始」菜單,點「控制面板」。
❹ win7系統自帶的掃雷等游戲在哪,怎麼打開找
win7自帶的游戲在開始菜單里的games文件夾里的,如果沒有,可能你裝的是精簡版的吧另外:如果想在開始,游戲文件夾里的看得到,可以這樣做,在開始的搜索欄里輸入「打開」點擊「打開或關閉windows功能」(或者打開控制面板,程序,程序和功能,打開或關閉windows功能),勾選「游戲」文件夾,確定。以後就可以在「游戲」文件夾里看得到自帶的游戲了。