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

学习微波射频没方向?这些资料不可少!

【备战电赛】先导片-如何补全知识链条


基于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飞车测试:

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设备的规范
分享到:
收藏 (20)
电子硬件助手小程序 电子硬件助手小程序

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

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

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

(版权归Deng Qilong所有)

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

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

换一批 more>>

大家都在看:

继续阅读

  • 形程记录仪

    最近发现市场上关于编码器形程记录的设备缺乏,特设计了一款形程记录仪,供大家参考。本行程记录仪为24v供电,按照24v 差分编码器规格设计,可采用A-,B-,Z-接分压电阻的方式实现普通编码器兼容,同时电路试用与不同规格编码器包括5v差分等不同电压编码或单向、差分编码器的使用。
    来自:电机驱动与控制时间:2019-04-05 stm32
  • STM32核心板

    STM32F103C8T6的目前市面上最小的核心板,晶振是16MHZ的,有需要可以自己改,附件有时钟设置替换文件,覆盖到工程里可以直接用。
    来自:MCU开发板时间:2019-04-03 stm32 开发板 核心板 最小系统板
  • STM32Mini开发板

    1、0.96寸OLED2、字库GT20L163、实时时钟PCF8563,带锂电池充电4、2路继电器控制接口5、1路光敏电阻测量光照强度6、DS18B20温度传感器7、4路按键
    来自:MCU开发板时间:2019-04-03 stm32 oled ds18b20温度传感器
  • 基于STM32的智能监控(OV7670)

    通过手机APP在有互联网的环境下,可随时接收到该智能监控上传的图片.(可用服务器的IP地址和端口号在源代码中有提供,详情请见 ESP8266.h)功能:1.远程控制拍摄图片2.WIFI断开自动重连3.TCP连接断开自动重连4.每个故障都有相应的指示灯亮起提示错误类型(如:OV7670初始化错误 红灯亮)
  • 基于STM32F0的GPS模块,带CAN通讯+IST8310磁力计

    个人研发的GPS模块,GPS芯片采用现在无人机应用最火的Ublox-M8N-010(大疆无人机同款),可达信号和搜星能力不输淘宝任何一家专业做GPS的店铺,位置和速度数据精度秒杀淘宝做6M系列GPS模块。开源PCB和软件。已在自己的无人机上进行测试,与加速度经行融合轻松实现厘米级别的无人机定位,无源天线设计,UbloxM8n010 外加一个CAN通信功能用来传输GPS数据和IST8310磁力计数据。第一次上电到适合无人机定位只需要不到30S时间。这个是我的GPS模块在我的无人机上的测试视频:https://www.bilibili.com/video/av48447900/
    来自:通信与网络时间:2019-04-02 stm32 开源 无人机 gps can
销量
268
查看
8689
笨笨的虾

笨笨的虾

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