开启新的征程,邀请您见证ST的蜕变

【特惠季】小马哥最新小四轴,完整资料限时特价开源!

精美元器件欣赏:连接器分立电线外壳(0039012225)

基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器

  • 基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器
  • 基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器
  • 基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器
  • 基于stm32和mpu9250的usb hid键盘、鼠标、游戏控制器

基于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,配置方法和测试工程源码点我。或者“相关文件”直接下载

如下图,可看到USB枚举成功为键盘、鼠标、游戏控制器复合设备。

程序流程图如下:

实物与演示

1、实物图片与说明:

Demo板说明:Demo板配置了9个按键,Nucleo板载蓝色按键为模式切换按键,开机板载LD2绿色LED快闪表明此时为锁定状态,控制器不起作用,短按1下,切换到按键控制模式,LD2慢闪,再短按切换到体感控制模式,LD2 1s闪烁一次,再按切换到锁定状态;板载4个大按键,依次映射为WASD,4个小按键依次映射为R、shift、鼠标左键、鼠标右键。

2、演示视频:

QQ飞车测试:

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

坦克世界测试:

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

电路相关文件

源代码
L476USBKeyBoard.zip
描述:Nucleo-L476RG的测试工程源码
电路图文件
L476USBKeyBoard.pdf
描述:STM32CubeMX配置的PDF文档
其他文件
USB官网的2个关于HID设备的规范.zip
描述:2个关于HID设备的规范
分享到:
收藏 (18)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归Deng Qilong所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • usb 转 NRF24L01 无线透传

    无线数据透传附件内容截图:
    来自:无线手持设备时间:2018-11-14 stm32 nrf24l01无线模块
  • 散热风机测试板,直流无刷电机测试板

    基于STM32F103的散热风机测试板,直流无刷电机测试板 ,测试风机转速FG,告警信号 RD,调速功能输出PWM,On/OFF测试功能
    来自:电机驱动与控制时间:2018-11-09 stm32
  • 语音遥控智能小车

    1、非特定人称语音识别指令;2、2.4G无线发送数据;3、超声波测距;4、UCOSIII实时操作系统实现各个任务协调工作;(1)启动小车运作命令“大白”(参考超能陆战队)。(2)发出指令“前进”,小车会向前行走,LED处于跑马灯状态,遇到障碍物会自动停车,此时“前进”指令无效,且小车发出警告以及闪灯。(3)发出指令“后退”,小车会向后行走,LED处于跑马灯状态,此时检测障碍物无效。(4)发出指令“左转”,小车会向左移动一段距离然后停止,LED灯一排处于闪灯状态,此时遇障碍物会发出警告以及全部灯闪。(5)发出指令“右转”,小车会向右移动一段距离然后停止,LED灯另一排处于闪灯状态,此时遇障碍物会发出警告以及全部灯闪。(6)发出指令“停车”,小车会停止运行,LED处于呼吸灯状态。检测到障碍会发出警告及闪灯。(7)小车运行过程检测到与障碍物距离过近会自动向后挪一段距离。(8)发出指令“向后一点”,小车会后退一段距离然后停车。(9)发出指令“冲刺”,小车会不顾前方障碍向前走(该指令容易因障碍重于小车而造车小车电机无法转动而导致电源发烫)。
    来自:智能车时间:2018-11-10 stm32 diy制作 毕业设计
  • 基于STM32单片机甲醛烟雾温湿度检测报警wifi传输APP查看设计

    功能描述:设计采用STM32F103C8T6单片机做主控制器,利用一路串口采集甲醛传感器信息,利用另一路串口和wifi模块进行通信,一路AD采集烟雾传感器AD值,预留一路串口作调试接口。一个IO采集DHT11温湿度数据。加3个按键可进行烟雾报警值设置。单片机将采集到的信息通过wifi传输给手机APP(wifi串口调试助手,到应用商店即可下载安卓版APP)。打开APP连接wifi发出的热点,并连接wifi热点产生的服务器IP和端口,即可实现APP与wifi的链接,即可接收数据显示。资料说明: 附件内容提供AD格式原理图PCB工程文件,用altiumDesigner打开。程序采用C语言编写,通过keil软件编译,文件为工程源代码。技术咨询QQ:2067054198(咨询时请说明来自电路城);实物链接:https://item.taobao.com/item.htm?spm=a2126o.11854294.0.0.8dc1483163SzHW&id=581508936261功能演示:
    来自:DIY创意产品时间:2018-11-09 stm32 温湿度检测 甲醛检测
  • STM32简易lora收发模块

    USB供电,支持USB串口下载程序,模块小巧易携带,可接充电宝使用
    来自:基础电路时间:2018-11-09 stm32 sx1278 lora
销量
240
查看
7841
笨笨的虾

笨笨的虾

见习卖家
智能硬件开发,传感器,信号链路,USB
参数名 参数值
发布于 2017 年 02 月 27日
更新于 2017 年 02 月 27日
Moore8直播课堂