【教學】紙板自製賽車遊戲控制器

哪個男孩不想要擁有自己的賽車搖桿,一組好幾千元的賽車外部裝置,除非你是賽車遊戲愛好者,否則一般人難以體驗這種夢幻設備。

在這邊我要教大家如何便宜的DIY賽車搖桿,而且這種自己做的賽車搖桿可以對應幾乎所有的賽車遊戲,甚至可以直接用在電腦與家用主機上。

【教學】紙板自製賽車遊戲控制器
網路上雖然也有許多自己DIY的賽車模組,但價格材料通常較為昂貴,或是製作方法較為困難,而這篇文章主要是教大家如何用便宜簡單的方式,來製作自己的簡易賽車搖桿。

材料:

  • Arduino Leonardo開發板 * 1片 (UNO開發板無法使用)
  • 麵包板 * 1片
  • 電阻10KΩ~100KΩ * 3個
  • 小洋芋片罐 * 1個
  • 6B~8B鉛筆 *1隻
  • 厚紙板
  • 電線
  • 棉線
  • 橡皮筋
  • 膠帶
  • 熱溶膠

震動功能選配:

  • 馬達+馬達驅動器 *1
注意:製作這款賽車搖桿,需要會一點Arduino以及寫程式的基本技能喔!

方向盤控制器

【教學】紙板自製賽車遊戲控制器
首先我們先製作最重要的方向盤控制器,這部分我省略了按鈕、換檔之類的功能,雖然只做方向控制的功能,但輸入的訊號是類比訊號,所以可以讓車子轉向更為精準

【教學】紙板自製賽車遊戲控制器
首先找一塊厚紙板,這個賽車控制器的寬度需要寬一點,我製作的寬度是60cm,建議尺寸在60cm以上,越寬越好製作

【教學】紙板自製賽車遊戲控制器
劃一條弧形,用美工刀切割下來,這就是方向盤儀表板的部分

【教學】紙板自製賽車遊戲控制器
準備一個圓筒狀的物體,我這邊是使用洋芋片的罐子,在中間適當的地方畫一個圓形,並且切割下來

【教學】紙板自製賽車遊戲控制器
將罐子放上去,確保罐子能夠在中間順利轉動,不會卡卡的

【教學】紙板自製賽車遊戲控制器
切割另一塊紙板,作為斜撐,讓方向盤可以在桌上傾斜一個角度

【教學】紙板自製賽車遊戲控制器
再來切割一塊大面積的板子,作為方向盤的底板

【教學】紙板自製賽車遊戲控制器
使用熱熔膠黏貼板材,這邊不得不說一下威克士的無線膠槍真的很讚,沒有電線,所以在黏貼大板材時也不會被電線勾到


【教學】紙板自製賽車遊戲控制器
可以使用紙膠帶先固定住,這樣會比較好上熱熔膠喔

【教學】紙板自製賽車遊戲控制器
底座完成,非常精簡卻穩固的設計

【教學】紙板自製賽車遊戲控制器
再來切割一片主軸的固定座,這個圓形的洞也要稍大一點點,讓主軸旋轉不容易卡住

【教學】紙板自製賽車遊戲控制器
使用熱熔膠固定,可以將洋芋片罐子插著,才不會黏歪掉

【教學】紙板自製賽車遊戲控制器
側面用兩塊紙板固定,這樣旋轉軸就會非常穩固了

【教學】紙板自製賽車遊戲控制器
接著製作方向盤,這邊可以使用紙板直接打兩個洞畫圓

【教學】紙板自製賽車遊戲控制器
像方向盤這種許多彎曲的曲線,可以使用30度的美工刀,比較容易切割小弧度的形狀

【教學】紙板自製賽車遊戲控制器
外面再切一圈紙板,讓方向盤比較好握

【教學】紙板自製賽車遊戲控制器
將罐子黏貼在方向盤上,最好可以多塗一些膠,讓方向盤比較穩固

【教學】紙板自製賽車遊戲控制器
切割兩個甜甜圈形狀的紙板,內圓切割剛好卡住罐子,外圈大概切5cm寬

【教學】紙板自製賽車遊戲控制器
在其中一塊甜甜圈穿一個洞,這是用來穿過橡皮筋用的洞

【教學】紙板自製賽車遊戲控制器
將板子用熱溶膠固定在罐子上,先固定有挖洞的這塊,離底部方向盤約1~2cm的距離

【教學】紙板自製賽車遊戲控制器
再來黏貼另一片甜甜圈紙板,由於上方這邊會直接接觸底座,所以這邊不能有熱熔膠溢出來,否則轉動的時候就會卡卡的

【教學】紙板自製賽車遊戲控制器
從側面看起來像這樣,中間各約間隔1~2cm的縫隙,這就是讓橡皮筋走的路徑

【教學】紙板自製賽車遊戲控制器
接下來要製作拉力感測器,感測器的詳細製作方法可以參考我之前拍的這部影片




感測的原理主要是透過棉線來回摩擦,讓棉線沾滿鉛筆芯,電阻值就會因為拉扯的力道而有不同。透過分壓原理,就可以讓Arduino讀取到不同的數值。


【教學】紙板自製賽車遊戲控制器
將棉線約5cm的範圍沾滿鉛筆芯,用電表測量電阻值必須小於1M歐姆

【教學】紙板自製賽車遊戲控制器
在方向盤底座切割三條縫,這是要用來固定感測器的地方

【教學】紙板自製賽車遊戲控制器
棉線的一端打一個圈圈,套進去這三個縫隙,就可以固定住感測器了

【教學】紙板自製賽車遊戲控制器
棉線打兩個結,固定住兩條電線,棉線與電線僅需要綁著就好,不需要焊接或是黏在一起

【教學】紙板自製賽車遊戲控制器
在另一端穿上橡皮筋,形成一串橡皮筋串

【教學】紙板自製賽車遊戲控制器
感測器與橡皮筋的長度大概與底座差不多長即可

【教學】紙板自製賽車遊戲控制器
橡皮筋穿過方向盤前方的這個洞

【教學】紙板自製賽車遊戲控制器
可以使用鉛筆把橡皮筋挑出來

【教學】紙板自製賽車遊戲控制器
感測器與橡皮筋長度條整成一樣長

【教學】紙板自製賽車遊戲控制器
先固定住感測器這端

【教學】紙板自製賽車遊戲控制器
橡皮筋這端也固定住

【教學】紙板自製賽車遊戲控制器
橡皮筋就像圖上標示的虛線,完成之後還可以調整左邊橡皮筋的長度,甚至可以串兩條橡皮筋,調整方向盤旋轉的阻力

【教學】紙板自製賽車遊戲控制器
從側面看,會發現橡皮筋箭頭處有點卡卡的,所以在邊邊用紙板將感測器墊高,另一端也可以墊高防止摩擦

【教學】紙板自製賽車遊戲控制器
這樣轉起來就很順暢了


震動馬達

這種賽車搖桿沒辦法有旋轉的動力回饋,但手把的震動功能還是有的,所以接下來就自己製作震動馬達吧。

【教學】紙板自製賽車遊戲控制器
你可以找一顆小風扇,或是玩具的馬達來製作,還需要一顆螺帽當重物,以及一條束線帶

【教學】紙板自製賽車遊戲控制器
用束線帶綁住螺帽

【教學】紙板自製賽車遊戲控制器
並且使用熱熔膠加強固定,震動馬達就完成了

【教學】紙板自製賽車遊戲控制器
為了不讓電線影響方向盤的操控,震動馬達可以裝在轉軸後面,這邊塗上熱溶膠來將馬達固定

【教學】紙板自製賽車遊戲控制器
電線可以黏在馬達對面,這樣震動時不會碰到電線

【教學】紙板自製賽車遊戲控制器
確認方向盤旋轉不會影響之後,就把電線固定,整個方向盤就完成了喔!

【教學】紙板自製賽車遊戲控制器


油門剎車踏板

接下來要製作油門剎車的踏板,這邊我為了讓踏板比較耐久,所以使用木板製作,你也可以使用其他較為堅硬的材料來製作,若真的沒有材料,一般的厚紙板多黏幾層也是個選擇。


【教學】紙板自製賽車遊戲控制器
先切割踏板的大小,油門跟剎車各一片

【教學】紙板自製賽車遊戲控制器
兩側要切割凹槽,這是到時候固定橡皮筋用的,若你沒有鋸子可以使用美工刀慢慢挖,只要能卡住橡皮筋就可以

【教學】紙板自製賽車遊戲控制器
像這樣兩片踏板就做好了

【教學】紙板自製賽車遊戲控制器
踏板的架子我使用大小適合的紙箱,你也可以自己用紙板做一個框架

【教學】紙板自製賽車遊戲控制器
我將紙板的兩側反摺回去,形成一個三角形的柱狀體,這樣可以讓箱體更為結實不容易壞,

【教學】紙板自製賽車遊戲控制器
可以多塗一些熱溶膠固定,兩側都需要加強,否則紙箱很容易壓壞

【教學】紙板自製賽車遊戲控制器
箱子的頂部也需要加強硬度,可以塗一堆膠,再將頂部紙板反摺回來


【教學】紙板自製賽車遊戲控制器
將踏板黏在紙箱上,這邊我使用大力膠帶黏貼踏板的正反兩面,用膠帶當作活動鉸鏈

【教學】紙板自製賽車遊戲控制器
翻過來,確認位置正確不會卡到側邊或底板

【教學】紙板自製賽車遊戲控制器
將接著黏上膠帶,固定住踏板外側

【教學】紙板自製賽車遊戲控制器
兩個踏板製作完成後,確認上下活動順暢

【教學】紙板自製賽車遊戲控制器
在踏板頂部鑽兩個洞,將另外製作的「拉力感測器」穿過這個洞

【教學】紙板自製賽車遊戲控制器
拉力感測器一端固定在頂端,一端綁上橡皮筋,我希望油門跟剎車有較好的阻力回饋,所以綁上三條橡皮筋

【教學】紙板自製賽車遊戲控制器
上端這邊的固定方式,可以塗上熱熔膠再貼上膠帶,這樣比較能牢牢固定住

【教學】紙板自製賽車遊戲控制器
測試踏板確認能夠踩踏,剎車跟油門就完成了喔!

【教學】紙板自製賽車遊戲控制器



組裝電路

完成方向盤以及踏板之後,就準備來連接電路,測試感測器是否運作正常,電路的連接方式如下圖
【教學】紙板自製賽車遊戲控制器
方向盤、煞車、油門的拉力感測器,分壓用的電阻我都是裝33KΩ的電阻,這邊電阻的數值大小,僅會影響到感測到的範圍,讀取到的Apin訊號介於200~800之間較佳

方向盤連接到A0,煞車與油門則分別連接到A1與A2,震動馬達連接到D5、D6



程式碼

測試訊號,請先上傳 Racing_Game_Test 這個程式碼

Racing_Game_Test程式碼
https://create.arduino.cc/editor/kobebeefg/ff02df21-577c-4ece-b5fe-721e97a2f483/preview
按這裡檢視網頁


上傳完畢,打開序列埠監控視窗,確認感測器的數值狀態,並請紀錄以下幾種數值:

油門踩下去與放開的2個數值
煞車踩下去與放開的2個數值
方向盤打到最左、置中、最右的3個數值

【教學】紙板自製賽車遊戲控制器
若數值變化很小,或是根本沒有改變,請確認電路連線是否正確,如果一切正常,就剩下最後的步驟了!

接下來我們要使用XInput這個程式庫,將Arduino Leonardo變成Xbox手把,這個程式庫的操作步驟,需要在電腦新增XInput的開發板,並且安裝程式庫。

這個功能僅限於Arduino Leonardo 等32u4晶片的開發板,可用的開發板有 Leonardo, Esplora, Zero, Due , MKR 系列



安裝XInput開發板

首先要安裝XInput開發板,請到這個網址,點選 code > Download ZIP 下載安裝開發板所需的檔案
XInput開發板
https://github.com/dmadison/ArduinoXInput_AVR

【教學】紙板自製賽車遊戲控制器

將下載後的檔案解壓縮,放在C:\Program Files(x86)\Arduino\hardware\xinput\avr
其中xinput\avr這兩個資料夾請自己建立
【教學】紙板自製賽車遊戲控制器
重新啟動Arduino軟體,在開發板看到Xinput AVR Boards就代表安裝完成
【教學】紙板自製賽車遊戲控制器

安裝Library

這個Library有收錄在Arduino內的程式庫管理員,打開Arduino的 草稿碼>匯入程式庫>管理程式庫,就可以打開程式庫管理員
【教學】紙板自製賽車遊戲控制器
搜尋xinput,點選安裝即可

【教學】紙板自製賽車遊戲控制器
準備好開發板的工作之後,就可以上傳正式的程式碼了,我們下載這個檔案並打開

Racing_Game程式碼
https://create.arduino.cc/editor/kobebeefg/35fd5c81-d149-4a0c-8e2e-4dd8023015c7/preview

按這裡檢視網頁

修改上面這幾個數值,這幾個數值請改成你剛剛測試時,讀取到的數值。

上傳之前,請先選擇開發板,選擇XInput裡面的板子,我用的是Leonardo開發板,所以選擇Arduino Leonardo w/XInput,就可以上傳了

【教學】紙板自製賽車遊戲控制器

上傳成功後,理論上就可以在電腦的「藍牙與其他裝置」看到Xbox 360的手把了
【教學】紙板自製賽車遊戲控制器
注意! 上傳完成後,電腦會判斷Arduino開發板為Xbox手把,如果需要再次上傳程式碼就會出錯,電腦會找不到Arduino開發板。


這時候不用擔心,請在上傳的時候,顯示「上傳中…」的字樣時,立刻按下Arduino上的Reset按鈕,這樣就可以成功上傳了。

(原廠的Arduino板按一次可以Reset,副廠的需要連按兩下)

【教學】紙板自製賽車遊戲控制器

測試手把的網站

上傳完程式碼之後,要先確認手把是不是正常運作,請到這個網站測試每個方向盤、油門、剎車是否正常。

方向盤控制的是左邊類比搖桿的X軸,油門是右邊板機鍵,剎車則是左邊的板機鍵

測試Xbox手把網站
https://gamepad-tester.com/
【教學】紙板自製賽車遊戲控制器



當然每一款賽車遊戲控制的方法都有差異,若要調整賽車搖桿分別對應的訊號,可以參考下方的網址,這裡面有較為詳細的解說
XInput程式碼詳細說明
https://www.partsnotincluded.com/how-to-emulate-an-xbox-controller-with-arduino-xinput/
如果你先不想修改程式碼,單純想測試遊戲的話,你可以在Steam找到免費的賽車遊戲RaceRoom Racing Experience,這款遊戲可以直接使用我提供的程式碼。

當然這只是最陽春的塞車搖桿,你可以搭配XInput裡面的各項功能,來自定義各種按鍵,比如說打檔、後視鏡、視角切換等功能。

當然也可以直接使用Arduino來控制LED燈、馬達…等,比如說在你踩油門或煞車時,會改變控制器上的燈光效果,或是踩油門或剎車時會有額外的震動馬達回饋,請發揮自己的創意,製作屬於自己的賽車搖桿吧!


詳細製作過程影片:
黃信惠的瘋狂教室
太厲害了
太有意思了,感謝分享
不要片扁我

這確定不是葉佩雯嗎?

讓我都心動想入手"威克士的無線膠槍"XD

要是靈壹上的葉佩雯有這百分之一的專業度

商品就賣得嚇嚇叫,不用整天來洗版

看完都超心動自己來動手做看看,不過不會編碼

只好先考慮要不要先入手威克士的無線膠槍了
厲害 謝謝分享
kobebeefg wrote:
哪個男孩不想要擁有自(恕刪)

只能給5分 !!
發文有幫助 請給分....................
太...太厲害了
God's in his heaven. All's right with the world.
這個還真是厲害,感覺如果再上個漆或是包彩色的膜應該會更讚
kobebeefg wrote:
哪個男孩不想要擁有自(恕刪)

一個賽車方向盤模擬器動輒幾千一萬多元
自製賽車遊戲控制器省錢拉
很奇特 & 很厲害,謝謝分享!
關閉廣告
文章分享
評分
複製連結