0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xbox360控制器陀螺儀轉(zhuǎn)向模塊的制作

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-15 11:52 ? 次閱讀

步驟1:您將需要:

工具:

烙鐵

焊料

焊料吸盤(pán)/編織物

剝線(xiàn)鉗

一把螺絲起子,也許是梅花刀取決于控制器中的螺釘(我的是十字頭)

膠水(最好不是超強(qiáng)膠水,以便以后可以拆開(kāi))

USB到串行適配器以對(duì)Arduino進(jìn)行編程

材料:

Xbox 360控制器(duh!)

Arduino Pro Mini(或克?。ㄗ詈脼?.3V)。如果使用5V版本,則可能需要一個(gè)升壓轉(zhuǎn)換器

MPU-6050陀螺儀/加速度計(jì)

MCP4725 DAC(如果要控制兩個(gè)軸,則為兩個(gè)) )

一些細(xì)導(dǎo)線(xiàn)

一個(gè)面包板,因此您可以在焊接前進(jìn)行所有測(cè)試(可選,但建議使用)

第2步:分開(kāi)控制器

您必須卸下七顆螺釘。其中有六個(gè)很明顯,但第七個(gè)在標(biāo)簽后面。我認(rèn)為刪除它會(huì)使您的保修失效,因此,后果自負(fù)。許多指南說(shuō)您需要Torx螺絲刀,但是我的卻是十字頭,因此請(qǐng)檢查您的控制器。

然后,小心地撬開(kāi)后蓋。如果撬開(kāi)前面板,則按鈕會(huì)溢出,可能會(huì)散布到整個(gè)房間。從底部將其提起。然后拔下兩個(gè)振動(dòng)電機(jī)。 (重量較小的一個(gè)應(yīng)該在左側(cè),重量較大的一個(gè)應(yīng)該在右側(cè))將PCB取出,并取下模擬搖桿上的橡膠蓋。他們只是簡(jiǎn)單地拉開(kāi)了。

下一步是移除左側(cè)的模擬搖桿,以免干擾我們的輸入,但是左側(cè)的觸發(fā)機(jī)制妨礙了這種操作。為了將其卸下,您必須從板子的前部拆下電位計(jì)的三個(gè)引腳,然后從PCB上拆下該機(jī)構(gòu)的蓋。

接下來(lái),請(qǐng)拆下固定左模擬桿的14個(gè)引腳。然后拉開(kāi)搖桿。

步驟3:將組件固定到位

您將請(qǐng)注意,PCB背面和外殼之間有很大的間隙。

我稍后才意識(shí)到,但是這是取消在Arduino上重置按鈕的好時(shí)機(jī)。如果不這樣做,則在重新組裝時(shí)如果擰緊其中一個(gè)螺釘,它將壓在盒體的背面并使項(xiàng)目停止工作。

我用膠水粘了一塊薄卡粘貼到每個(gè)PCB的背面以使其絕緣,然后將其粘貼到控制器的PCB上。我不愿使用膠水,但想不出更好的方法。

圖像中的位置是我能找到的最佳組合。 Arduino位于左側(cè),帶有復(fù)位按鈕的邊緣與右側(cè)觸發(fā)機(jī)構(gòu)的塑料片齊平,另一側(cè)位于電線(xiàn)下方,并且拐角盡可能靠近白色連接器。外殼略微隆起,但找不到更好的放置位置。

加速度計(jì)在電線(xiàn)的右側(cè)。它應(yīng)該盡可能平坦和筆直,否則您可能需要稍后編寫(xiě)一些代碼來(lái)補(bǔ)償偏移量。請(qǐng)注意,在盒子的背面有一些突出的塑料塊,請(qǐng)務(wù)必避免。我發(fā)現(xiàn)您可以在突出的塑料片上放一些像口紅這樣的粘性和彩色的東西,然后將后蓋放在上面,看看它留下的痕跡。

DAC進(jìn)入左下角。如果要控制兩個(gè)軸,這里有足夠的空間來(lái)堆疊兩個(gè)DAC,一個(gè)堆疊在另一個(gè)之上。您無(wú)需將它們粘下來(lái)。他們將僅通過(guò)焊接連接就可以呆在原處。如果要在它們之間粘貼卡,請(qǐng)確保切開(kāi)卡,以使SCL,SDA,VCC和GND可以訪問(wèn),因?yàn)槟鷮膬蓚?cè)訪問(wèn)它們。

如果使用兩個(gè)DAC,請(qǐng)不要忘記切換地址跳線(xiàn)并禁用其中之一的上拉電阻,如下所述:https://learn.sparkfun.com/tutorials/mcp4725-digital-to-analog-converter-hookup-指南

步驟4:焊接導(dǎo)線(xiàn)

現(xiàn)在您已經(jīng)擁有連接一切。來(lái)自所有2/3設(shè)備的VCC,GND,SDA和SCL應(yīng)分別連接到Arduino上的VCC,GND,A4和A5。 DAC是最棘手的部分。如果您有兩個(gè),則必須將它們連接在一起,而在某個(gè)地方可以將電源和線(xiàn)路連接到加速度計(jì),同時(shí)保持OUT線(xiàn)分開(kāi)。

DAC的OUT引腳應(yīng)連接到控制器PCB上的引腳,該引腳曾經(jīng)是模擬搖桿的中間水平電位器引腳。也就是說(shuō),在模擬搖桿所在的位置,頂部有三排針。將其連接到中間一個(gè)。如果您有另一個(gè)DAC,則以相同的方式將其連接到垂直電位計(jì)引腳(左側(cè)的行)。更換扳機(jī)后,您將無(wú)法從背面觸到引腳,因此必須將電線(xiàn)連接至電路板的正面。模擬搖桿區(qū)域周?chē)幸粋€(gè)圓形的塑料“墻”,但是幸運(yùn)的是其中有一個(gè)方便的間隙,您可以將電線(xiàn)穿過(guò)。確保電線(xiàn)不會(huì)擋住機(jī)箱前部的螺絲柱。

我最初的計(jì)劃是通過(guò)連接到RAW引腳的USB電纜用5V電壓為Arduino供電,但是當(dāng)我嘗試時(shí),它沒(méi)有用。 Arduino沒(méi)有運(yùn)行任何東西,幾秒鐘后Arduino和控制器都關(guān)閉了。但是,我發(fā)現(xiàn)板子正面靠近黑色外圍設(shè)備插座的兩個(gè)引腳有一個(gè)穩(wěn)定的3.3V輸出,大概是為外圍設(shè)備供電。它適用于VCC和RAW,但我選擇VCC是因?yàn)樗呀?jīng)是正確的電壓,并且因?yàn)樗试S我將其焊接到板底部附近的DAC的VCC線(xiàn)上并節(jié)省導(dǎo)線(xiàn)。

請(qǐng)注意,必須從外殼上伸出很多塑料零件,但是如果將電線(xiàn)粘在適當(dāng)?shù)奈恢?,則只需擔(dān)心一次。

所有其中很難用文字來(lái)描述,所以我提供了圖片和粗略的圖表。

第5步:對(duì)Arduino進(jìn)行編程

現(xiàn)在您有了對(duì)Arduino進(jìn)行編程。這需要移動(dòng)控制器上的USB電纜,以便您可以訪問(wèn)Arduino上的串行引腳。我已經(jīng)包含了我使用的代碼。它需要Adafruit MCP4725庫(kù),可以在這里找到:https://github.com/adafruit/Adafruit_MCP4725

按原樣,該代碼使您可以遍歷模擬搖桿的整個(gè)運(yùn)動(dòng)范圍通過(guò)將控制器向左90度均勻移動(dòng),向右90度均勻移動(dòng),并通過(guò)將其保持平坦?fàn)顟B(tài)將其保持在中間。

它通過(guò)計(jì)算X的反切線(xiàn)來(lái)獲得控制器的角度軸g力除以Z軸g力。這意味著它可以在控制器垂直,平坦或兩者之間有任何角度時(shí)使用。 (更多信息,請(qǐng)?jiān)L問(wèn):https://www.digikey.com/en/articles/techzone/2011/may/using-an-accelerometer-for-inclination-sensing)

在我的控制器上有效,但是其他控制器可能需要不同的電壓,使其無(wú)法對(duì)齊。我認(rèn)為找到電壓范圍的最佳方法是反復(fù)試驗(yàn)。許多游戲都會(huì)為您顯示模擬搖桿運(yùn)動(dòng)的滑塊,但是我發(fā)現(xiàn)確定運(yùn)動(dòng)的最準(zhǔn)確方法是在Linux上使用jstest。 (https://wiki.archlinux.org/index.php/Gamepad#Joystick_API)它為您提供-32,767到32,767之間的數(shù)字,而不是圖形,因此您可以確切地知道操縱桿的位置。將控制器和Arduino USB插入串行適配器,加載jstest并嘗試不同的DAC值,直到達(dá)到范圍的頂部和底部,并記下每個(gè)范圍。對(duì)我來(lái)說(shuō),它是1,593-382。

第36行是特別令人感興趣的地方:

dacvalue = (controllerangle + 2.5617859169446084418) / 0.0025942135867793503208 + 0.5;

目前尚不清楚它的作用。簡(jiǎn)單來(lái)說(shuō),它獲取控制器的角度(以弧度為單位,在?1.57和?-1.57之間測(cè)量),并將其轉(zhuǎn)換為DAC的1593至382之間的值。如果您有不同的DAC范圍,則需要更改該行。

該行可以寫(xiě)為:

dacvalue = (controllerangle + ) / + 0.5;

使用和是您需要更改的數(shù)字。 等于控制器角度(pi)的范圍除以DAC值的總范圍。 (范圍的頂部減去范圍的底部)這可以使您盡可能地改變電壓,盡管結(jié)果將超出所需的范圍。這就是為什么您需要的原因。 等于乘以范圍的底部再加上控制器運(yùn)動(dòng)范圍的一半。 (pi/2)將運(yùn)動(dòng)范圍的一半相加,以確保它不是負(fù)數(shù),然后將乘以范圍的底部,以確保其與所需的范圍同步。

轉(zhuǎn)換時(shí)小數(shù)點(diǎn)為整數(shù),C ++不舍入。取而代之的是,它會(huì)舍去小數(shù),因此9.9變成9。最后加0.5可以確保一半以上的內(nèi)容都可以到達(dá)下一個(gè)整數(shù),因此可以四舍五入。

一旦您上傳了程序,make

第6步:重新組裝控制器

將控制器拆回的方式與您拆開(kāi)控制器的方式相同(減去左側(cè))模擬棒?,F(xiàn)在應(yīng)該可以工作了。我發(fā)現(xiàn)沒(méi)有明顯的延遲,而且比使用模擬搖桿要好得多。因?yàn)樗褂眉铀俣扔?jì),所以會(huì)受到突然運(yùn)動(dòng)的影響,但是您必須格外注意它。

步驟7:可能的改進(jìn)

可以進(jìn)行一些改進(jìn)。其中包括:

使用較少的電磁線(xiàn)

將所有內(nèi)容蝕刻到一個(gè)旨在適合控制器外殼的PCB上

重新連接左側(cè)的模擬桿并將支腳連接到Arduino上的模擬輸入,以便它們可以用于調(diào)整Arduino

獲取無(wú)線(xiàn)控制器的后殼并將項(xiàng)目放入電池倉(cāng)(這需要將電池USB電纜孔)
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16095

    瀏覽量

    177030
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    776

    瀏覽量

    98474
  • Xbox
    +關(guān)注

    關(guān)注

    0

    文章

    186

    瀏覽量

    16915
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    愛(ài)普生(EPSON) 慣性測(cè)量單元(IMU)、陀螺儀傳感模塊應(yīng)用領(lǐng)域選型介紹

    愛(ài)普生(EPSON)慣性測(cè)量單元(IMU)、陀螺儀傳感模塊應(yīng)用領(lǐng)域選型介紹EPSON傳感包括XV7011BB等單軸高精度陀螺儀和M-G
    的頭像 發(fā)表于 09-02 14:58 ?450次閱讀
    愛(ài)普生(EPSON) 慣性測(cè)量單元(IMU)、<b class='flag-5'>陀螺儀</b>傳感<b class='flag-5'>器</b>等<b class='flag-5'>模塊</b>應(yīng)用領(lǐng)域選型介紹

    陀螺儀x軸和y軸的應(yīng)用

    。陀螺儀通過(guò)使用慣性傳感(如MEMS)來(lái)測(cè)量物體的旋轉(zhuǎn)角速度。在x軸和y軸上分別放置兩個(gè)陀螺儀,可以更全面地捕捉到物體的旋轉(zhuǎn)和轉(zhuǎn)動(dòng)。陀螺儀x軸通常與設(shè)備的長(zhǎng)軸(通常是
    發(fā)表于 04-17 15:42 ?0次下載

    手機(jī)陀螺儀失靈解決方法

    手機(jī)陀螺儀是一種用于感知和測(cè)量設(shè)備旋轉(zhuǎn)、傾斜和方向的傳感。失靈的陀螺儀可能導(dǎo)致手機(jī)在運(yùn)動(dòng)控制、游戲和導(dǎo)航等應(yīng)用中出現(xiàn)問(wèn)題。下面將詳細(xì)介紹陀螺儀
    的頭像 發(fā)表于 01-30 10:06 ?2.6w次閱讀

    陀螺儀x和y比例是多少 陀螺儀x軸和y軸是指什么

    。陀螺儀通過(guò)使用慣性傳感(如MEMS)來(lái)測(cè)量物體的旋轉(zhuǎn)角速度。在x軸和y軸上分別放置兩個(gè)陀螺儀,可以更全面地捕捉到物體的旋轉(zhuǎn)和轉(zhuǎn)動(dòng)。 陀螺儀x軸通常與設(shè)備的長(zhǎng)軸(通常是水平軸)對(duì)齊,
    的頭像 發(fā)表于 01-17 11:10 ?1854次閱讀

    陀螺儀感應(yīng)校準(zhǔn)工具有哪些

    陀螺儀感應(yīng)校準(zhǔn)工具是用于對(duì)陀螺儀進(jìn)行校準(zhǔn)和精調(diào)的設(shè)備或軟件。陀螺儀感應(yīng)是一種用于測(cè)量和檢測(cè)物體的角速度、方向和姿態(tài)的傳感
    的頭像 發(fā)表于 01-02 14:53 ?2649次閱讀

    陀螺儀感應(yīng)測(cè)試的值

    陀螺儀感應(yīng)是一種常見(jiàn)的傳感,用于測(cè)量和檢測(cè)物體的旋轉(zhuǎn)、角度和方向變化。它被廣泛應(yīng)用于航空航天、汽車(chē)導(dǎo)航、運(yùn)動(dòng)控制等領(lǐng)域。在本文中,我們將詳細(xì)了解
    的頭像 發(fā)表于 01-02 14:51 ?1185次閱讀

    陀螺儀感應(yīng)常見(jiàn)的應(yīng)用領(lǐng)域

    陀螺儀感應(yīng)是一種用于測(cè)量物體自轉(zhuǎn)角速度的傳感。它通過(guò)檢測(cè)物體的旋轉(zhuǎn)和方向變化來(lái)確定其相對(duì)角速度。陀螺儀感應(yīng)常用于導(dǎo)航系統(tǒng)、飛行
    的頭像 發(fā)表于 01-02 14:49 ?1439次閱讀

    陀螺儀實(shí)體和支持有什么區(qū)別

    。 首先,陀螺儀實(shí)體是一種物理設(shè)備,用于測(cè)量和檢測(cè)物體的旋轉(zhuǎn)速度和角度。它通常由機(jī)械部件、感應(yīng)以及與其他裝置的連接接口等組成。陀螺儀實(shí)體的存在主要基于物理原理,例如角動(dòng)量守恒、陀螺
    的頭像 發(fā)表于 01-02 14:47 ?1731次閱讀

    陀螺儀傳感工作原理

    陀螺儀傳感是一種廣泛應(yīng)用于航空、航天、導(dǎo)航和自動(dòng)化控制系統(tǒng)中的重要傳感。它的主要作用是測(cè)量并感知物體的角速度。本文將詳細(xì)介紹陀螺儀傳感
    的頭像 發(fā)表于 01-02 14:45 ?1663次閱讀

    陀螺儀傳感的應(yīng)用實(shí)例

    陀螺儀傳感是一種用于檢測(cè)和測(cè)量設(shè)備旋轉(zhuǎn)的傳感,可以在多個(gè)領(lǐng)域中應(yīng)用。在本文中,我們將詳細(xì)介紹陀螺儀傳感的運(yùn)作原理和常見(jiàn)應(yīng)用實(shí)例。
    的頭像 發(fā)表于 01-02 14:37 ?1545次閱讀

    手機(jī)陀螺儀的基本原理是什么

    手機(jī)陀螺儀是一種用于測(cè)量和檢測(cè)設(shè)備在空間的旋轉(zhuǎn)運(yùn)動(dòng)的傳感。它被廣泛應(yīng)用于現(xiàn)代智能手機(jī)、平板電腦和游戲控制器等設(shè)備中,以提供更加智能、交互和感知的功能。手機(jī)陀螺儀的基本原理是基于角動(dòng)量
    的頭像 發(fā)表于 01-02 14:34 ?5411次閱讀

    陀螺儀三軸軸承怎么安裝

    和注意事項(xiàng)。 首先,在正式安裝陀螺儀之前,我們需要準(zhǔn)備必要的工具和材料。主要包括:陀螺儀模塊、軸承、螺絲、螺母、螺絲刀、扳手等。確保這些工具和材料都是干凈、整齊的,以避免在安裝過(guò)程中出現(xiàn)意外情況。 接下來(lái),
    的頭像 發(fā)表于 01-02 14:26 ?833次閱讀

    陀螺儀三軸六軸區(qū)別

    陀螺儀是一種用于測(cè)量物體旋轉(zhuǎn)的裝置,尤其在航空航天領(lǐng)域和導(dǎo)航應(yīng)用中得到廣泛應(yīng)用。陀螺儀根據(jù)其測(cè)量的軸數(shù)可以分為三軸陀螺儀和六軸陀螺儀。在本文中,我們將詳細(xì)討論三軸
    的頭像 發(fā)表于 01-02 14:22 ?3603次閱讀

    三軸陀螺儀模塊怎么使用

    三軸陀螺儀模塊是一種用于測(cè)量角速度和方向的傳感,可以在航空航天、汽車(chē)、無(wú)人機(jī)等領(lǐng)域廣泛應(yīng)用。本文將詳細(xì)介紹三軸陀螺儀模塊的原理、使用方法和
    的頭像 發(fā)表于 12-20 10:36 ?2350次閱讀

    陀螺儀的基本組成 陀螺儀的工作原理 陀螺儀的作用

    裝置和感應(yīng)陀螺儀的工作原理基于科氏力和陀螺效應(yīng),其作用是用于導(dǎo)航、姿態(tài)控制、動(dòng)作捕捉等領(lǐng)域。與重力傳感相比,
    的頭像 發(fā)表于 12-07 11:26 ?2753次閱讀