眾所周知,蘑菇云創(chuàng)客空間有一臺(tái)大名鼎鼎的“LV牌”街機(jī)。
之前好多小伙伴也想自己做一臺(tái),其實(shí)我們也拍了視頻制作教程,不過粗略了一些。
前倆天,正好趕上有位瑞典斯德哥爾摩的數(shù)據(jù)科學(xué)家Max Fischer在Github上也放出來了做街機(jī)的教程。
那這周就帶給大家看一看。
如何從頭開始構(gòu)建一臺(tái)全尺寸1:1版本的街機(jī)!
文章篇幅較長,會(huì)詳細(xì)介紹搭建全尺寸街機(jī)的所有步驟,包括預(yù)先設(shè)計(jì)好的 CAD 文件(可免費(fèi)下載)、如何組裝機(jī)身、運(yùn)行街機(jī)程序的樹莓派的設(shè)置方法等。
注:這還是項(xiàng)目作者第一次使用CAD...
構(gòu)建機(jī)身
下載CAD文件
項(xiàng)目中所有的CAD設(shè)計(jì)都是用的 AutoCAD Fusion 360,由于這是作者第一次使用CAD,所以他也提到了自己的設(shè)計(jì)肯定不是最好的還有很大的改進(jìn)空間,有能力的小伙伴們可以再優(yōu)化。
CAD文件地址:https://github.com/maxvfischer/DIY-arcade#download-the-cad-file
當(dāng)然大家也可以直接到文末下載打包好的。
CNC切割部分
為了完美配合街機(jī)的按鈕、操縱桿,屏幕、電源按鈕和揚(yáng)聲器,按鈕面板和屏幕面板都采用了CNC切割。
缺點(diǎn)是,這肯定會(huì)比手工制作更昂貴,但帶來的好處是,整體效果更好了。
為了讓機(jī)箱完美地結(jié)合在一起,兩個(gè)側(cè)板也采用了CNC切割。因?yàn)樗鼈兙哂卸鄠€(gè)需要在兩側(cè)相同的圓形形狀。
右滑查看更多圖片
大家千萬記住以1:1的尺寸利用CNC切割CAD文件,不要選擇“利用完整的MDF板”。
手工切割部分
考慮到剩余的部分大多是大大小小的矩形,我們可以手工切割了。
這里,我們會(huì)用到兩種不同的鋸:
裁板鋸將中密度纖維板(MDF)切成小塊
臺(tái)鋸切成最后需要的形狀
大概切割出來這么些形狀的板子:
背板
右滑查看更多圖片
在這過程中,唯一有一點(diǎn)困難的部分是艙蓋板。
首先我們要在板上繪制出艙口的輪廓,然后用圓鋸切出實(shí)際的艙口,這里在四角的邊緣處使用了手持的曲線鋸,因?yàn)樵谇懈顣r(shí)更容易掌控。
現(xiàn)在我們已經(jīng)把街機(jī)的主體部分拆分成了內(nèi)外兩部分,擋板用膠水粘到合適的位置。這里還用到了磁鐵來固定位置。
右滑查看更多圖片
后板的底部也打一個(gè)洞,用來穿電源板的線。
繪制零件的輪廓
這一步重要的是將所有部件固定在兩側(cè)面板上的同一位置,好讓機(jī)柜對稱。
為了簡化這一點(diǎn),在每個(gè)面板應(yīng)該連接到側(cè)面板的地方繪制了輪廓。當(dāng)按鈕面板和屏幕面板以一定角度連接時(shí),它們的輪廓首先被畫在其中一塊側(cè)板上。
然后,通過使用一些參考點(diǎn),將輪廓反射并轉(zhuǎn)移到另一個(gè)側(cè)面板。
這一步有點(diǎn)棘手,所以大家慢慢來。
開始組裝
接下來就是將所有的面板組裝到一起了,這里使用了木工接合片來加強(qiáng)固定作用,屏幕面板是唯一不使用木工接合片固定的地方,因?yàn)橐院筮€可能隨時(shí)更換。
在粘合之前,我們可以先將各個(gè)面板裝在一起試試,確保位置不偏不倚。
調(diào)節(jié)完畢后,上膠水,此時(shí)動(dòng)作要快。粘合完成后,使用釘槍進(jìn)行加固。
另外,別忘了清除從連接部件上滴下的多余膠水。
添加柜腳
為了均分來自支腿的向上力,將一小塊木頭膠合并釘在柜子的每個(gè)角上。
我把木頭切出四個(gè)正方形,用作柜子的支腿。
用砂紙把邊緣弄圓,
然后從外部將腿粘上,從內(nèi)部擰緊。
搞定屏幕面板
首先,使用兩根細(xì)木條作為固定的支架:
為了獲得平滑的外觀,此處使用手持銑床打了一個(gè)凹槽出來。
我使用的屏幕的前面設(shè)有按鈕,因此我們需要在屏幕面板上鉆孔才能使它們可單擊。
最后,將固定屏幕面板的螺絲與揚(yáng)聲器對齊,以獲得更好的外觀。
準(zhǔn)備燈箱
作為真正的復(fù)古街機(jī)柜,我們當(dāng)然需要在柜頂部安裝一個(gè)發(fā)光的燈箱。為了將有機(jī)玻璃固定在適當(dāng)?shù)奈恢?,將四個(gè)小木塊用膠粘并釘在每個(gè)角上,以使其固定在有機(jī)玻璃上。
抹灰膏和砂紙
在機(jī)身被送去噴漆之前,我們還要做最后的潤色,讓它表面漂亮而又光滑。
抹灰膏被用來掩蓋所有的指印,塑料襯墊被用來掩蓋小的瑕疵。
等所有的東西都干了,使用電動(dòng)砂光機(jī)去除多余的抹灰膏和塑料襯墊。所有的邊緣都用手工打磨得很光滑。
噴漆,完成
在噴漆之前,用電動(dòng)砂光機(jī)對機(jī)身表面進(jìn)行處理。噴漆的難度有些大,我請了一個(gè)比較專業(yè)的師傅來操作。
為了得到更好的反射效果,我選擇 黑色作為機(jī)身顏色,白色作為燈箱內(nèi)部顏色。
出于設(shè)計(jì)感考慮,我還打印了很多機(jī)身貼紙:
當(dāng)然這一步,大家也可以像蘑菇云的機(jī)器一樣,貼滿LV的貼紙。
貼貼紙的時(shí)候就要用到一些技巧了,通常是把一邊固定,然后從上到下刮,防止產(chǎn)生氣泡。
按鈕說明:
至此,機(jī)身部分已經(jīng)完成,接下來可以安裝電子器件了。
安裝電子器件
連接電源
將圓形的塑料電纜索環(huán)穿過背板底部的孔,從而連接電源。
安裝屏幕
使用電鍍打捆帶固定屏幕:
燈箱
為了與整體的設(shè)計(jì)感保持一致,我重用了側(cè)板的一些圖形組件:
打印一張大的貼紙,將貼紙上的「ARCADE MACHINE」鏤空處理,以便光線通過。稍后貼紙會(huì)被粘在磨砂玻璃上。
光源使用的是 LED 燈管,燈管的線可以連接至機(jī)身底部的電源插排。使用雙面膠將 LED 燈管粘在背板上。
為了防止光從玻璃處漏出,我剪下一些長泡沫條,并用雙面膠粘在玻璃的邊角背后。
使用雙面膠固定玻璃的位置,并把貼紙貼在上面:
安裝街機(jī)按鈕和搖桿
為了與整體的設(shè)計(jì)感保持一致,我重用了側(cè)板的一些圖形組件:
我事先購買了兩組街機(jī)按鈕和搖桿,它們便于使用,沒有電路板知識(shí)也不妨礙。因此,街機(jī)按鈕的安裝就很簡單了。將每個(gè)按鈕和搖桿安裝到自帶的電路板上,然后把 USB 線和電路板與計(jì)算機(jī)連接起來。
為了使搖桿位于孔的中心,我使用寬雙面膠,將搖桿置入按鈕面板。(這一步可以兩個(gè)人合作完成)
在樹莓派上配置 RetroPie
Retropie可以將你的樹莓派或者PC變成一臺(tái)復(fù)古游戲機(jī)模擬器。其基于完整的操作系統(tǒng)之上,你可以把它裝在Raspbian系統(tǒng)上,或者直接刷入完整的鏡像然后再添加更多的軟件。Retropie預(yù)裝了很多不同的模擬器,可以讓你玩很多不同平臺(tái)的游戲,比如FC,SFC,MD,CPS1,CPS2,NEOGEO,PS1等等。
RetroPie 是免費(fèi)的游戲機(jī)模擬器,通過它可以將你的樹莓派、PC或者是Odroid 變?yōu)橛螒驒C(jī),RetroPie支持超過50+的主機(jī)系統(tǒng),從1977的Atari 2600到PS2、Wii都可以支持,我們國內(nèi)熟悉的兒時(shí)經(jīng)典任天堂FC、GBA和PS都支持。RetroPie在樹莓派上提供了SD卡的鏡像文件,只需要刻錄到SD卡后,就可以運(yùn)行各種不同的模擬器,傳輸Roms到樹莓派后就可以開始回味經(jīng)典游戲了。
RetroPie 可以將樹莓派改造成復(fù)古游戲機(jī),它是一個(gè)持續(xù)更新的開源項(xiàng)目,你可以從官網(wǎng)獲取安裝指南:https://retropie.org.uk/docs/First-Installation/。
配置街機(jī)按鈕和搖桿
街機(jī)按鈕電路板的 USB 線與樹莓派連接。開啟樹莓派和 RetroPie,出現(xiàn)歡迎界面,這時(shí)你可以配置控制器了。
電源鍵
為了方便開關(guān)街機(jī),我在屏幕面板上加了一個(gè)孔來安裝電源鍵。
將兩根線與電源鍵焊接在一起,這兩根線分別連接樹莓派的 GPIO pins 5 和 6??s短 GPIO pins 5 和 6 時(shí),樹莓派將從暫停狀態(tài)中被激活。
然后添加一小段腳本,在樹莓派啟動(dòng)時(shí)執(zhí)行。該腳本聽從另一種 GPIO pins 5 和 6 的縮短情況,進(jìn)而觸發(fā)樹莓派安全關(guān)閉。
關(guān)閉腳本的添加過程如下:
要添加關(guān)閉腳本,請執(zhí)行以下操作:
1.啟動(dòng)Raspberry Pi;
2.當(dāng)EmulationStation(RetroPie)啟動(dòng)后,在鍵盤上單擊F4進(jìn)入bash;
4.安裝RPi.GPIO:(pip install RPi.GPIO請參閱https://pypi.org/project/RPi.GPIO/);
5.在/ home下創(chuàng)建一個(gè)utils文件夾:mkdir /home/utils/;
6.將此腳本(shutdown_script.py)添加到新創(chuàng)建的utils文件夾中;
importRPi.GPIOasGPIO importtime importsubprocess GPIO.setmode(GPIO.BOARD) GPIO.setup(5,GPIO.IN,pull_up_down=GPIO.PUD_UP) old_button_state=True whileTrue: button_state=GPIO.input(5) ifbutton_state!=old_button_stateandbutton_state==False: subprocess.call("shutdown-hnow",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE) old_state_button=button_state time.sleep(1)
7.要使Raspberry在啟動(dòng)時(shí)運(yùn)行此腳本,我們可以在文件/etc/rc.local的末尾的行添加python3 /home/utils/shutdown_script.py &,就在exit 0之前。
?目前,電源鍵只能關(guān)閉樹莓派。我計(jì)劃后續(xù)安裝由樹莓派控制的 relay,用于開關(guān)其他電子器件(如屏幕、燈箱等)。
揚(yáng)聲器
每一個(gè)揚(yáng)聲器焊接了兩根線。將揚(yáng)聲器置入 CNC 鉆孔,與屏幕面板相連。所有線均連接至擴(kuò)大器。然后用 3.5mm AUX 立體聲音響線連接擴(kuò)大器和樹莓派。
完善線路結(jié)構(gòu)
為了使機(jī)身內(nèi)部的線路結(jié)構(gòu)清晰,我用雙面膠粘貼了理線器。
街機(jī)搭建完成
至此,利用樹莓派搭建街機(jī)的過程就全部完成了。
目前,這臺(tái)「自建」街機(jī)能夠運(yùn)行很多復(fù)古游戲。作者還打算將樹莓派 3 升級到樹莓派 4,這樣就可以運(yùn)行更多 Nintendo 64 和 PS1 的經(jīng)典游戲了!
趕緊動(dòng)手搞起來!
原項(xiàng)目鏈接:https://github.com/maxvfischer/DIY-arcade 項(xiàng)目作者:Max Fischer 部分翻譯參考:機(jī)器之心 直接來源:DF創(chuàng)客社區(qū)
原文標(biāo)題:用樹莓派從零打造一臺(tái)街機(jī)
文章出處:【微信公眾號:玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
CAD
+關(guān)注
關(guān)注
17文章
1093瀏覽量
72629 -
CNC
+關(guān)注
關(guān)注
7文章
313瀏覽量
35260 -
RetroPie
+關(guān)注
關(guān)注
0文章
8瀏覽量
7195
原文標(biāo)題:用樹莓派從零打造一臺(tái)街機(jī)
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論