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

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

广州体彩北京单场开奖 www.mkcubp.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設備的規范
分享到:
收藏 (23)
電子硬件助手小程序 電子硬件助手小程序

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

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

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

(版權歸Deng Qilong所有)

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

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

換一批 more>>

大家都在看:

繼續閱讀

  • 簡易電路特性測試儀電路設計方案(2019電賽D題國二)

    供電: 采用±5V和±12V電壓 電壓采集方案: 使用AD637檢測有效值 輸入電阻測量:信號源(本題我們采用AD9959??椋┦涑齠舜繾?,通過一個模擬開關與三極管放大電路連接,采集模擬開關前信號源帶載和空載的電壓計算輸入電阻。 輸出電阻測量:繼電器切換輸出端是否帶載或空載,采集輸出端的兩種狀態下的電壓計算輸出電阻。 增益及幅頻曲線: 采集輸入輸出的電壓求比值得到增益。 幅頻曲線我們當時計算的掃頻范圍大概在200Khz以內,掃頻信號就只從幾百赫茲掃到200Khz。 電路故障檢測: R1、R2、R3、R4的開短路檢測,C2、C3的加倍和開路檢測,C1開路檢測,均需以各自電路的ADC采到的值做擬合 C1的加倍檢測我們用了AD5933??椴獾縟?,模擬開關的兩個狀態切換信號源或者AD5933輸入到三極管放大電路,在AD5933輸入的狀態下根據ADC讀到的值對C1加倍單獨做擬合。
    來自:測試與測量時間:2019-09-23 stm32 電子設計競賽
  • 基于NB-IOT的帶語音識別控制智能家居系統

    帶語音控制的NB-IOT智能家居系統優酷視頻鏈接https://v.youku.com/v_show/id_XNDM2ODc3NTI3Mg==.html?spm=a2h9p.12366999.app.SECTION~MAIN~SECTION~MAIN~5~5!2~5!3~5~5~5~5~5~21~22~TR~TD!2~5~5!2~H4~A1.通過NB-IOT接入網絡,可通過微信小程序監控并控制各類設備運行狀態,可監控溫濕度。2.可通過線下離線語音控制各類設備的運行狀態,可語音播報溫濕度,簡單人機對話。3.OLED可顯示基本運行參數。4.詳情可見視頻5.可聯系本人 QQ 1215310745,咨詢相關。#語音識別控制# #NB-IOT# #微信小程序# #智能家居#
  • 3路模擬量采集(最快1MSPS)、UDP協議傳輸+電源變換電路板

    功能描述:1、使用模數轉換芯片AD7091 采集模擬電壓值,電壓采集范圍0~5V;2、總共3路模擬采集通路。其中2路有帶通濾波電路,濾波器帶寬可通過改變電容靈活,另有1路為電荷變換+帶通濾波通路;3、采集數據通過UDP協議傳輸,使用的以太網芯片為DM9000A,源代碼使用了LWIP協議棧;4、主控芯片為STM32F407;5、可對輸入電壓進行變換后輸出,輸出電壓范圍6~40V性能:1、電壓測量范圍0~5V;2、供電方式:6~40V;
  • 樹莓派擴展板

    樹莓派擴展板,使用stm32f107作為擴展板主控芯片。擴展板和樹莓派通信可以通過USB通信和串口TTL通信。擴展板可以單獨使用部分功能,樹莓派也可以單獨使用部分功能。全部功能是需要stm32和樹莓派同時連接才能實現。擴展板STM32功能有:16路pwm輸出輸入;蜂鳴器;RGB LED;RTC時鐘;USB通信;USB轉TTL通信;12伏供電可以輸出5v、3.3v、12V電源;OLED接口;AIP1628數碼管驅動,按鍵功能擴展板樹莓派功能:RGB LED;OLED接口;AIP1628數碼管驅動;按鍵;蜂鳴器;風扇;SPI 、IIC擴展接口;40pin擴展接口。
    來自:其他開發板時間:2019-09-12 stm32 開源 raspberry pi 3
  • STM32F103ZET6最小系統板

    1,原理圖和PCB配套,AD17編輯。2,最小系統精簡,但功能齊全,所有IO口都有引出來方便擴展外接設備。3,包括:電源部分, 晶振部分8M和32.678貼片晶振 BOOT選擇位 復位電路 miniUSB接口(電源輸入口和串口連通) 所有引腳擴展口4,2路流水燈和2給按鍵5,3.3v,GND外接IO口6,JTAG下載接口
    來自:DIY創意產品時間:2019-09-11 stm32
銷量
327
查看
10K
笨笨的蝦

笨笨的蝦

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

tracer ??