基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器

  • 基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器
  • 基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器
  • 基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器
  • 基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器

北京单场奖金计算公式 www.ygpyvk.com.cn 基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器

基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器

基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器

基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器


項目介紹

1、方案主題:基于STM32+MPU9250的重力感應游戲控制器

2、方案功能:使用STM32CubeMX配置了Nucleo-L476RG,開發了USB HID復合設備用于體感游戲控制,板載STM32L476RG ARM核微控制器支持USB2.0 全速設備,通過I2C讀取九軸姿態傳感器-MPU9250(三軸加速度、三軸陀螺儀、三軸磁力計),使用高效的傳感器數據融合算法、姿態解算算法,實現體感控制PC游戲,精度高,超低延遲,可作為虛擬自行車等控制器,支持硬件定制。

硬件:帶USB控制器的STM32都可以,我這里使用的是Nucleo-L476RG,芯片是STM32L476RG,支持USB2.0全速模式,其中
PA12---->USB_DP
PA11---->USB_DM

軟件:使用STM32CubeMX配置
直接用USB線連接到電腦USB即可,按照USB規范,USB線里面的綠線為DP(D+),白線為DM(D-),全速設備是要在DP線加上拉1.5K電阻的,由于STM32的USB外設內部有這個電阻,因此無需外加上拉電阻。
配置過程不解釋了,查看附件的PDF文檔即可

工作原理介紹

1、硬件組成與介紹:

Demo板采用了Nucleo-L476RG板卡,板載STM32L476RG高性能ARM Cortex-M4內核MCU,主頻高達80MHz,1MB Flash、128KB SRAM,支持浮點DSP;8個輕觸按鍵連接到了STM32的GPIO;MPU9250采用GY-91???,通過I2C接口連接到STM32,MPU9250由應美盛(InvenSense)出品,是MPU6050的升級版,第二代9軸組合傳感器將6軸慣性測量單元(三軸加速度計+三軸陀螺儀)和三軸軸磁力計集成于3 mm x 3 mm QFN封裝中。

2、此項目中STM32的功能:

通過I2C接口采集傳感器數據;強大的運算性能和浮點DSP的支持保證了數據融合、姿態解算等算法的高效、準確運行;控制LED作為狀態指示;掃描按鍵狀態;通過USB接口與PC機通信。

3、軟件流程介紹:

采用前后臺系統,主要分為三大部分,一是外設初始化,二是數據處理,三是業務邏輯處理。使用STM32CubeMX配置生成了USB HID復合設備,是一個USB鍵盤和USB鼠標、2個游戲Pad,配置方法和測試工程源碼點我?;蛘摺跋喙匚募敝苯酉略?/p>

如下圖,可看到USB枚舉成功為鍵盤、鼠標、游戲控制器復合設備。

程序流程圖如下:

實物與演示

1、實物圖片與說明:

Demo板說明:Demo板配置了9個按鍵,Nucleo板載藍色按鍵為模式切換按鍵,開機板載LD2綠色LED快閃表明此時為鎖定狀態,控制器不起作用,短按1下,切換到按鍵控制模式,LD2慢閃,再短按切換到體感控制模式,LD2 1s閃爍一次,再按切換到鎖定狀態;板載4個大按鍵,依次映射為WASD,4個小按鍵依次映射為R、shift、鼠標左鍵、鼠標右鍵。

2、演示視頻:

QQ飛車測試:

https://player.youku.com/player.php/sid/XMjUyOTY3ND...

坦克世界測試:

https://player.youku.com/player.php/sid/XMjUyOTY5NT...

電路相關文件

源代碼
L476USBKeyBoard.zip
描述:Nucleo-L476RG的測試工程源碼
電路圖文件
L476USBKeyBoard.pdf
描述:STM32CubeMX配置的PDF文檔
其他文件
USB官網的2個關于HID設備的規范.zip
描述:2個關于HID設備的規范
分享到:
收藏 (22)
電子硬件助手小程序 電子硬件助手小程序

電路城電路折扣劵獲取途徑:

電路城7~10折折扣劵(全場通用):對本電路進行評分獲??;

電路城6折折扣劵(限購≤100元電路):申請成為賣家,上傳電路,審核成功后獲取。

(版權歸Deng Qilong所有)

版權聲明:電路城所有電路均源于網友上傳或網上搜集,供學習和研究使用,其版權歸原作者所有,對可以提供充分證據的侵權信息,本站將在確認后24小時內刪除。對本電路進行投訴建議,點擊投訴本電路反饋給電路城。

使用說明:直接使用附件資料或需要對資料PCB板進行打樣的買家,請先核對資料的完整性,如果出現問題,電路城不承擔任何經濟損失!

換一批 more>>

大家都在看:

繼續閱讀

  • BLDC無刷直流驅動控制板,可驅動300W電機,已量產(STM32 CAN總線)

    驅動視頻:https://v.youku.com/v_show/id_XNDMzOTMzMzc5Ng==.html?spm=a2h3j.8428770.3416059.1輸入電壓:15~36V驅動功率:300W~500W ,20A電流檢測,CAN通信總線功能介紹KEY1:運行KEY2:停止VR1:轉速調節提供工程原理圖,AD9工程內有提供電機型號如需PCB源文件,內置有賣家聯系方式(有償)離心機項目,已量產
  • 【畢業設計】基于STM32單片機智能電表無線WIFI插座APP交流電壓電流檢測設計

    本設計由STM32單片機核心板電路+交流電壓電流檢測??櫚緶?WIFI??櫚緶?指示燈電路組成。1、通過電壓互感器TV1005M和電流互感器TA1005M分別檢測交流電壓和交流電流值,2、手機APP和WiFi??榛チ?,可以實時顯示交流電壓、交流電流、功率和電量實時顯示在手機上。3、當功率超過200W時,繼電器自動斷開。功率不超過200W時,可以手動控制繼電器的開關。4、手機和WiFi??榱雍?,手機上顯示計時時間。需要實物或設計定做可聯系QQ:3162786026資料內容:
    來自:智能電網及電表時間:2019-08-30 stm32 單片機 畢業設計
  • STM32開發板全3D封裝

    該開發板是基于stm32F103C8T6設計的,性價比很高板載了usb轉TTL(CH340)擁有4個獨立按鍵配有ds1302時鐘??榕溆屑嬡軴LED和LCD液晶屏幕的接口帶有電池接口 可以測試RTC功能下載端口使用SWD方式 節省端口和位置
    來自:DIY創意產品時間:2019-08-21 stm32
  • 基于Lora的信息采集系統

    本系統基于lora無線傳輸技術,主控芯片采用STM32f103系列芯片。整套系統分為兩個采集從機節點,和一個接收主機基站。從機節點采集溫度、濕度、二氧化碳濃度、光照強度和PH值,這五個環境參數。采集完成,通過Lora??櫬洳問街骰?,進行顯示。本套系統還具有聲光報警功能,以及備用能源方案?;褂幸桓鯩ATLAB制作的上位機顯示界面可提供顯示。
    來自:Hackaday Prize 2019時間:2019-08-20 stm32 lora 二氧化碳測量
  • 基于QT與stm32智能家居控制系統

    ==========================================注意:sim800c??楣鶴蘊員?這里只提供示意圖連接。不提供電路圖==========================================1.主控芯片stm32f103rct62.gprs??槲猻im800c3.操作系統為rt-thread4.上位機程序:QT5.11.3寫的TCP服務器實現的功能:1.stm32f103rct6 + sim800c 扮演TCP客戶端,去連接外網的服務器(QT編寫的TCP服務器)。2.因為sim800c聯網???,只能連接公網的ip;所以我們需要把本地的ip映射到外網上。3.連上服務器后,可以在服務器端查看和服務器連接的客戶端,可以指定客戶端發送命令。目前支持三個家居的遠程控制。4.客戶端代碼支持斷線重連。=========================================測試步驟:請參考內外網映射教程與板子測試:1.連接好硬件,插好sim卡(目前僅測試了移動卡),更改stm32代碼中的服務器ip和端口,然后燒錄程序2.重新上電,等待連接上服務即可。3.命令下發。
    來自:智能家居時間:2019-08-16 stm32 智能家居 遠程控制
  • 人體坐姿檢測系統

    坐姿是人們在日常學習、工作和娛樂中常有的姿態,如果長期保持一個錯誤的坐姿而不加以調整,將會對我們身體產生很多危害,如駝背、近視眼、頸椎病、脊柱損傷等疾病。因此設計一個能夠檢測人體處于座椅上的壓力分布狀態坐姿檢測系統具有重要的研究意義與實用價值。本文設計的坐姿檢測系統為軟硬件結合,在座椅上安裝6個壓力傳感器來采集人體不同坐姿下的各壓力傳感器信號,然后通過單片機實現對壓力傳感器信號的處理與傳輸,并在液晶屏上顯示處理后的數據,然后通過USB接口將壓力傳感器的數據和坐姿視頻數據上傳到LabVIEW上位機界面顯示,通過處理后的壓力傳感器數據對人體坐姿進行識別,USB攝像頭進行輔助判斷。將上傳的數據進行分析和處理,然后判斷人的坐姿是正常、左傾、右傾、前傾還是后傾這五種不同的姿態,當保持某一錯誤坐姿超過設定時間,系統就會彈出健康提示。最后,通過針對不同壓力值下的人群對本系統進行測試,根據數據的不同對壓力傳感器的位置擺放進行調整,從而找到最佳的擺放位置,同時也對上位機的判斷方式進行不斷地優化改進,最終在LabVIEW界面上實時顯示個壓力傳感器數據、壓力曲線和人體坐姿視頻、顯示當前人體坐姿狀態。
    來自:Hackaday Prize 2019時間:2019-08-11 stm32 坐姿檢測
  • 多功能智能時鐘

    目前為止已完成全部的軟硬件開發。作品搭載了國產開源嵌入式實時操作系統RT-Thread,使用了RT-Thread的內核(Kernel)、FinSH控制臺(msh)、ulog日志、設備虛擬文件系統(DFS)(注冊的是Fat文件系統,可插入一張SD卡,用于存儲數據、日志等,方便用戶查看)。其中內核(Kernel)為實現一個操作系統的最少量代碼,實時內核的實現包括:對象管理、線程管理及調度器、線程間通信管理、時鐘管理及內存管理等等,內核最小的資源占用情況是 3KB ROM,1.2KB RAM。FinSH控制臺為RT-Thread的特色組件,可以讓單片機與電腦上的超級終端連接,使軟硬件調試變的非常方便。完成的實物作品主要功能有RTC萬年歷、心率測量,紅外式溫度測量,為了使作品更像一個產品,在這些功能的基礎上我們額外添加了很多輔助功能:調色板RGB565,字體的前景色和背景色可修改,日期時間可修改,鬧鐘,本機詳情等,并有文件系統(SD卡)用來保存系統參數。
    來自:Hackaday Prize 2019時間:2019-08-14 stm32
  • 藍牙萬年歷+溫濕度檢測

    藍牙萬年歷+溫濕度檢測。通過APP讀取時間和溫濕度,設置時間以及鬧鈴。
    來自:Hackaday Prize 2019時間:2019-08-14 stm32 dht11 cc2541
  • STM32F103開發板PCB

    STM32F103開發板PCB
    來自:MCU開發板時間:2019-08-13 stm32 pcb源文件
  • 銷量
    308
    查看
    9972
    笨笨的蝦

    笨笨的蝦

    見習賣家
    智能硬件開發,傳感器,信號鏈路,USB
    參數名 參數值
    發布于 2017 年 02 月 27日
    更新于 2017 年 02 月 27日
    Moore8直播課堂

    tracer ??