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

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

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

怎樣將USB游戲控制器添加到Arduino Leonardo / Micro

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

步驟1:更新Arduino代碼

首先在“%”中制作以下兩個文件的備份副本PROGRAMFILES%\ Arduino \ hardware \ arduino \ avr \ cores \ arduino”文件夾:

USBAPI.h

HID.cpp

將這兩個文件替換為附加文件,以向Arduino Leonardo和Arduino Micro添加通用游戲控制器

步驟2:運行測試草圖

使用Arduino軟件(IDE)編譯附加的UsbJoystickTest.ino草圖文件并將其上傳到Arduino Leonardo或Arduino Micro。我已經(jīng)使用1.6.1到1.6.5版本的軟件對此進行了測試。對于Arduino IDE 1.6.6及更高版本,請參見以下Instructionable:Arduino Leonardo/Micro作為游戲控制器/操縱桿。

以下步驟適用于Windows 7。不同的操作系統(tǒng),這些步驟可能會有所不同。

步驟3:Windows控制面板-硬件和聲音

怎樣將USB游戲控制器添加到Arduino Leonardo / Micro

轉(zhuǎn)到Windows控制面板,然后選擇“硬件和聲音”。

步驟4:設(shè)備和打印機

然后選擇“設(shè)備和打印機”

第5步:應該出現(xiàn)Arduino

Arduino Micro或Arduino Leonardo應該出現(xiàn)在設(shè)備列表中。

第6步:Arduino設(shè)置

下一步,右鍵單擊Arduino Leonardo或Arduino Micro以顯示設(shè)置菜單。

然后選擇“游戲控制器設(shè)置”以進入“游戲控制器”對話框。

步驟7:游戲控制器設(shè)置

Arduino Micro或Arduino Leonardo應該出現(xiàn)在已安裝游戲控制器的列表中。選擇Arduino Micro或Arduino Leonardo,然后單擊“屬性”按鈕以顯示游戲控制器測試對話框。

步驟8:

當此對話框為焦點時,將Arduino上的A0引腳接地以激活測試腳本。測試腳本將按以下順序測試游戲控制器的功能:

32個按鈕

油門和方向舵

X和Y軸

Z軸

2個帽子開關(guān)

X和Y軸旋轉(zhuǎn)

第9步:操縱桿庫

現(xiàn)在,由于Arduino Leonardo或Arduino Micro具有游戲桿庫,因此Arduino可用于自定義游戲控制器項目。下面介紹了更新的USBAPI.h和HID.cpp文件中包含的游戲桿庫。

Joystick.begin(bool initAutoSendState)

啟動模擬連接到計算機的游戲控制器。默認情況下,所有方法都會立即更新游戲控制器狀態(tài)。如果initAutoSendState設(shè)置為false,則必須調(diào)用Joystick.sendState方法來更新游戲控制器狀態(tài)。

Joystick.end()

游戲控制器仿真到已連接的計算機。

Joystick.setXAxis(byte value)

設(shè)置X軸值。范圍-127至127(0為中心)。

Joystick.setYAxis(字節(jié)值)

設(shè)置Y軸值。范圍-127到127(0為中心)。

Joystick.setZAxis(byte value)

設(shè)置Z軸值。范圍-127到127(0為中心)。

Joystick.setXAxisRotation(int value)

設(shè)置X軸旋轉(zhuǎn)值。范圍從0°到360°。

Joystick.setyAxisRotation(int value)

設(shè)置Y軸旋轉(zhuǎn)值。范圍從0°到360°。

Joystick.setZAxisRotation(int value)

設(shè)置Z軸旋轉(zhuǎn)值。范圍從0°到360°。

Joystick.setButton(字節(jié)按鈕,字節(jié)值)

設(shè)置指定按鈕的狀態(tài)。該按鈕是從0開始的按鈕編號(即,按鈕#1為0,按鈕#2為1,依此類推)。如果按下按鈕,則值為1;如果釋放按鈕,則值為0。

Joystick.pressButton(字節(jié)按鈕)

按下指示的按鈕。該按鈕是從0開始的按鈕編號(即按鈕#1為0,按鈕#2為1,依此類推。)。

Joystick.releaseButton(字節(jié)按鈕)

釋放指示的按鈕。該按鈕是基于0的按鈕編號(即按鈕#1為0,按鈕#2為1,依此類推。)。

Joystick.setThrottle(字節(jié)值)

設(shè)置油門值。范圍為0到255。

Joystick.setRudder(字節(jié)值)

設(shè)置方向舵值。范圍從0到255。

Joystick.setHatSwitch(字節(jié)hatSwitch,整數(shù)值)

設(shè)置指定的帽子開關(guān)的值。 hatSwitch是基于0的(即,帽子開關(guān)#1為0,帽子開關(guān)#2為1)。值是從0°到360°,但以45°為增量。小于45°的任何值都將向下舍入(即,將44°向下舍入為0°,將89°向下舍入為45°,依此類推。)。/strong》

責任編輯:wv

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

    關(guān)注

    112

    文章

    16419

    瀏覽量

    178803
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6474

    瀏覽量

    187444
收藏 人收藏

    評論

    相關(guān)推薦

    Micro USB接口與USB-C的區(qū)別

    隨著科技的快速發(fā)展,USB接口已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?。從?shù)據(jù)傳輸?shù)皆O(shè)備充電,USB接口的應用范圍越來越廣泛。Micro USBUS
    的頭像 發(fā)表于 11-27 09:55 ?1004次閱讀

    usb主機控制器位于ahp總線上嗎

    關(guān)于“USB主機控制器是否位于AHP總線上”的問題,首先需要明確幾個概念: USB主機控制器 :在USB系統(tǒng)中,主機
    的頭像 發(fā)表于 09-25 09:20 ?325次閱讀

    usb主機控制器與主板連接方法

    USB主機控制器是計算機系統(tǒng)中用于管理USB設(shè)備的硬件組件。它允許計算機通過USB接口與外部設(shè)備(如打印機、鍵盤、鼠標、存儲設(shè)備等)進行通信。USB
    的頭像 發(fā)表于 09-25 09:15 ?1015次閱讀

    usb主機控制器無法啟動怎么解決

    USB主機控制器無法啟動是一個常見的問題,它可能會阻止你使用USB設(shè)備。解決這個問題需要對USB主機控制器、驅(qū)動程序、系統(tǒng)設(shè)置和硬件故障有一
    的頭像 發(fā)表于 09-25 09:10 ?950次閱讀

    USB控制器的作用、工作原理及技術(shù)規(guī)范

    、攝像頭、鍵盤、鼠標、耳機、音箱等。 一、USB控制器的作用 數(shù)據(jù)傳輸:USB控制器的主要功能是實現(xiàn)計算機與外部設(shè)備之間的數(shù)據(jù)傳輸。它通過USB
    的頭像 發(fā)表于 08-29 15:36 ?1313次閱讀

    如何通過ESP8266上的命令將此網(wǎng)關(guān)添加到路由?

    自互聯(lián)網(wǎng)的返回數(shù)據(jù)路由回芯片的AP部分。正如我所說的那樣,這有效,但我似乎在各種視頻中看到,有一種方法可以通過ESP8266上的命令將此網(wǎng)關(guān)添加到路由中,而不是重新編程路由。我的問題是,這可能嗎?命令
    發(fā)表于 07-16 07:41

    請問如何cURL庫添加到ESP8266_RTOS_SDK項目中?

    我想使用 curl api,但我不知道如何添加到我的項目中,這樣當我將該庫的頭文件包含在我的項目中時它就不會抱怨。 有誰知道如何正確地第三方庫添加到ESP8266_RTOS_SD
    發(fā)表于 07-09 07:52

    請問如何.C的圖片文件添加到VScode(PlatfromIO)生成的lvgh項目中?

    當使用LVGL官方網(wǎng)頁轉(zhuǎn)換,png圖片轉(zhuǎn)換為.c矩陣文件之后,如何.c的圖片文件加到VScode(PlatfromIO)的lvgh工程里面?<br> 不管是把.c放到
    發(fā)表于 06-17 06:03

    STM32F746 QSPI的Flash擴展后,添加到工程下載發(fā)現(xiàn)報錯,為什么?

    使用 W25Q128 模塊 ,使用的是微雪STM32F746IGT6的開發(fā)板,在QSPI進行Flash擴展了解發(fā)現(xiàn)需要做一個.FLM的Flash編程算法,我找一個STM32H7的進行修改,然后添加到工程下載發(fā)現(xiàn)報錯,無法加載算法,有大佬自己做過Flash編程算法嗎,求解
    發(fā)表于 04-17 06:31

    怎么把stlink server添加到keil里?

    stlink server的使用說明里面是支持keil5.25的。怎么把stlink server添加到keil里?
    發(fā)表于 03-27 07:28

    TC399 adc能添加到同一個隊列中并得到結(jié)果嗎?加入隊列是否有任何限制?

    添加到隊列中并得到結(jié)果。 我的疑問是,有了這些不同的頻道和組,我還能把它們添加到同一個隊列中并得到結(jié)果嗎?加入隊列是否有任何限制?
    發(fā)表于 03-04 06:33

    如何F-RAM?添加到現(xiàn)有的PSoC? Creator項目?

    我們在PSoC? Creator 中有一個 PSoC6 項目,并希望 QSPI F-RAM?存儲添加到TDA5235_868_5_BOARD中。我很難找到如何在F-RAM? PSoC
    發(fā)表于 03-01 12:14

    FCX3是否具有PTS或SCR添加到映像幀的功能?

    問題 1) FCX3是否具有PTS或SCR添加到映像幀的功能,如隨附的USB規(guī)范中所述? 如果可能,請?zhí)峁┯嘘P(guān)如何配置每個 PTS 和 SCR 的詳細信息。 問題 2) CAN FCX3 支持1080x1280@120fps傳
    發(fā)表于 02-26 08:23

    如何TC1798器件添加到MDK KEIL?

    我正在嘗試使用 KEIL MDK(μVision)為英飛凌TC1798編程,但我不確定如何TC1798器件添加到MDK KEIL。 誰能幫我拿到 .pack 或者.zip 對于 TC1798?
    發(fā)表于 02-01 08:18

    如何CMSIS DSP庫添加到XMC4700 Relax Kit的Dave CE項目中?

    我剛開始研究 Dave,這對我來說還是個新事物。 我創(chuàng)建了一個 Dave CE 項目,并能夠啟動并運行 blink 代碼。 我想將 CMSIS DSP 庫添加到我的項目中,并使用庫中的 DSP 函數(shù)
    發(fā)表于 02-01 07:11