如何基于3D磁傳感器用控制器玩賽車游戲
用鍵盤(pán)和鼠標(biāo)玩賽車游戲是一回事。用控制器玩賽車游戲是另一種情況。玩帶有方向盤(pán)和踏板的賽車游戲……那完全是另一回事了!
你可以在亞馬遜(Amazon)或其他零售商那里找到數(shù)不清的游戲輪,但你自己做一個(gè)怎么樣?DIY總是很有趣的,尤其是當(dāng)你知道這個(gè)項(xiàng)目最終會(huì)成功的時(shí)候!
我給你帶來(lái)了迷你游戲輪和油門(mén)/剎車踏板。由3D打印部件制成,任何人都可以組裝,迷你游戲輪將給你一個(gè)現(xiàn)實(shí)的賽車世界的味道!
解釋
我希望這種推銷風(fēng)格的介紹能夠激發(fā)你對(duì)這個(gè)項(xiàng)目的興趣,從而達(dá)到這個(gè)目的?,F(xiàn)在是討論技術(shù)細(xì)節(jié)的時(shí)候了;畢竟,這是一個(gè)制造商和硬件愛(ài)好者的社區(qū)!
下面是一個(gè)簡(jiǎn)短的介紹。英飛凌3D磁傳感器2Go板將用作中央微控制器。在它的末端的磁性傳感器將被用來(lái)讀取的角度,一個(gè)磁鐵連接到迷你方向盤(pán),當(dāng)你轉(zhuǎn)動(dòng)它。微控制器還將從兩個(gè)操縱桿模塊的一個(gè)軸讀取模擬值,這些操縱桿模塊上有3D打印的踏板,而不是拇指桿。在收集完所有這些數(shù)據(jù)后,微控制器將通過(guò)串行端口將數(shù)據(jù)發(fā)送到計(jì)算機(jī)上運(yùn)行的Windows應(yīng)用程序。該應(yīng)用程序?qū)?chuàng)建一個(gè)假冒的USB設(shè)備,充當(dāng)Xbox 360控制器(游戲可識(shí)別),并將來(lái)自迷你方向盤(pán)和油門(mén)/剎車踏板的數(shù)據(jù)流式傳輸?shù)絏box控制器的各種輸出。
通過(guò)這種方式,您將能夠在一個(gè)迷你方向盤(pán)和手指操作踏板的賽車游戲中駕駛!我希望這聽(tīng)起來(lái)很有趣,并且您會(huì)親自嘗試這個(gè)項(xiàng)目!
示范
他們說(shuō)圖片勝過(guò)千言萬(wàn)語(yǔ)。說(shuō)完這些話,來(lái)個(gè)視頻怎么樣?還是兩個(gè)?這里有一對(duì)夫婦展示了這個(gè)令人敬畏的項(xiàng)目在行動(dòng)!
打印所有必要部件
好吧,你已經(jīng)看過(guò)視頻了,決定要做這個(gè)。讓我們開(kāi)始吧。時(shí)間讓你的3D打印機(jī)去!您需要打印以下列表中的部件:
?(1x)前輪
?(1)回輪
?(1)車輪安裝
?(1)磁鐵耦合器
?(1 x)的立場(chǎng)
?(1)雙踏板底座
?(2 x)踏板
注意:打印時(shí)間大約需要4-5個(gè)小時(shí),具體取決于打印機(jī)的打印速度。
組裝
現(xiàn)在是時(shí)候好好利用這些打印出來(lái)的部件了;畢竟,它們現(xiàn)在毫無(wú)用處!按照這些簡(jiǎn)單的步驟組裝一個(gè)令人敬畏的迷你游戲車輪與氣體/剎車踏板。
#1:重要的事情先做。如下圖所示,將4個(gè)公引腳焊接到3D磁傳感器板上。你可以把這個(gè)放在一邊。
#2:現(xiàn)在,將其中一個(gè)軸承壓入輪座,然后將墊片放在軸承上,最后,另一個(gè)軸承。
#3:推動(dòng)M3x20螺栓通過(guò)孔在車輪安裝的一面,并螺紋尼龍移交到它。你們可以把會(huì)眾放在一邊。
#4:是時(shí)候建造輪子了!從后側(cè)用m5 × 8螺栓將WheelBack和WheelFront連接在一起。
#5:將M3x12螺栓螺紋入WheelFront的頂部孔,并將M5x25螺栓螺紋入中心孔。
#6:將M5尼龍墊片放在中心螺栓上,然后是步驟#3中的輪座組件,然后是M5墊圈。
#7:將磁鐵壓入磁力耦合器的矩形邊,然后將其擰到墊圈頂部的螺栓末端。
#8:將3D磁傳感器2Go板放在尼龍支架的螺紋端,并用尼龍六角螺母固定。你們可以把會(huì)眾放在一邊。
#9:將M5螺母按入支架上相應(yīng)的插槽。
#10:將未使用的孔放置在支架上的柱子之間,將輪座安裝到支架上。將剩余的m5 × 25螺栓穿過(guò)螺母的另一側(cè),并擰緊以緊固鉸鏈。你們可以把會(huì)眾放在一邊。
#11:使用4個(gè)m3 × 8螺栓將每個(gè)操縱桿模塊安裝到DualPedalBase上。我用的是尼龍十字頭螺栓。
#12:將踏板按在操縱桿模塊上,即拇指桿的位置。
#13:現(xiàn)在你已經(jīng)組裝了方向盤(pán)和踏板,你需要用跳線(母-公)將它們連接在一起。使用下面的圖表。
編程板
這并不難,對(duì)吧?嗯,這部分更簡(jiǎn)單?,F(xiàn)在所有的硬件都完成了,這個(gè)項(xiàng)目剩下的就是軟件了。讓我們從編程3D磁傳感器2Go板開(kāi)始!
#1:用USB線將電路板插入電腦。
#2:在這里下載這個(gè)項(xiàng)目的GitHub存儲(chǔ)庫(kù),并打開(kāi)提供的SteeringWheel。在Arduino IDE中編寫(xiě)ino代碼。
#3:現(xiàn)在代碼無(wú)法構(gòu)建,因?yàn)樗枰~外的庫(kù)和英飛凌板管理器。要解決這個(gè)問(wèn)題,請(qǐng)打開(kāi)Arduino IDE的首選項(xiàng)。
#4:在名為“附加董事會(huì)管理器url”的字段中,粘貼以下內(nèi)容,然后按確定。
#5:現(xiàn)在,轉(zhuǎn)到Tools > Board > Boards Manager…在Arduino IDE。在搜索框中搜索“xmc”,并安裝英飛凌的xmc微控制器。
#6:在Tools > Board中,選擇XMC1100XMC2Go,并將串行輸出選擇設(shè)置為PC。
#7:還記得我說(shuō)過(guò)你需要一個(gè)額外的庫(kù)來(lái)編譯代碼嗎?現(xiàn)在你會(huì)得到那個(gè)圖書(shū)館。點(diǎn)擊這里,以zip格式下載存儲(chǔ)庫(kù)。
#8:回到Arduino IDE,轉(zhuǎn)到Sketch > Include Library > Add.ZIP Library并選擇您剛剛下載的zip文件。
#9:現(xiàn)在你終于可以將草圖上傳到你的3D磁傳感器2Go微控制器。一旦上傳完成,您可以打開(kāi)串行監(jiān)視器并觀看數(shù)據(jù),包括轉(zhuǎn)向角度,剎車和油門(mén)踏板通過(guò)!
運(yùn)行主機(jī)程序
你現(xiàn)在擁有的是一個(gè)方向盤(pán),它可以發(fā)送它的角度,以及油門(mén)和剎車踏板的值,但只能以文本的形式發(fā)送。我們需要一些東西將其轉(zhuǎn)換成Xbox 360控制器發(fā)送的數(shù)據(jù)。這就是Visual Studio項(xiàng)目的由來(lái)!如果你還沒(méi)有Visual Studio,現(xiàn)在就下載吧!
#1:打開(kāi)Visual Studio解決方案,它是本項(xiàng)目的GitHub存儲(chǔ)庫(kù)的一部分。(你之前下載過(guò))
#2:現(xiàn)在代碼正在嘗試使用您可能沒(méi)有的庫(kù),因此它將無(wú)法正確構(gòu)建!點(diǎn)擊這里下載SlimDX庫(kù)。這允許訪問(wèn)一些特殊功能的管理USB設(shè)備,甚至創(chuàng)建一個(gè)假的,并發(fā)送它的輸入…也許是Xbox 360的控制器?
#3:接下來(lái),您需要設(shè)置ScpDriver。幸運(yùn)的是,這非常簡(jiǎn)單,因?yàn)槲乙呀?jīng)將它包含在存儲(chǔ)庫(kù)中,您需要做的就是在GitHub存儲(chǔ)庫(kù)的ScpDriver文件夾下運(yùn)行ScpDriver.exe。
#4:現(xiàn)在,構(gòu)建并運(yùn)行項(xiàng)目!您應(yīng)該會(huì)看到一個(gè)帶有開(kāi)始按鈕的窗口彈出。確保你的方向盤(pán)插上電源,然后按開(kāi)始鍵。當(dāng)USB設(shè)備插入時(shí),應(yīng)該會(huì)播放聲音,表明代碼已經(jīng)創(chuàng)建了一個(gè)假的Xbox 360控制器,現(xiàn)在正在將輸入從方向盤(pán)映射到L2, R2和左搖桿x。你現(xiàn)在可以與它比賽了!
注意:如果您仔細(xì)查看代碼,主要部分是Serial_DataReceived方法。該部分處理接收到的串行數(shù)據(jù),并發(fā)送帶有數(shù)據(jù)映射的Xbox 360控制器報(bào)告。
開(kāi)始開(kāi)車
我想你知道現(xiàn)在幾點(diǎn)了……RACINGTIME !我將在這個(gè)項(xiàng)目中玩《極限競(jìng)速6》,因?yàn)檫@是一款擁有出色機(jī)制和物理效果的高質(zhì)量游戲,而且它是免費(fèi)的!
第一步顯然是發(fā)行游戲。接下來(lái),我修改了控制器映射,使油門(mén)在R2上,剎車在L2上,轉(zhuǎn)向在左搖桿的X值上。
本文編譯自hackster.io





