逆水寒动漫渡我不渡她|逆水寒台词|

基于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(三轴加速?#21462;?#19977;轴陀螺仪、三轴磁力计),使用高效的传感器数据融合算法、姿态解算算法,实现体感控制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封装?#23567;?/p>

2、此项目中STM32的功能:

通过I2C接口采集传感器数据;?#30475;?#30340;运算性能和浮点DSP的支持保证了数据融合、姿态解算等算法的高效、准确运行;控制LED作为状态指示;扫描按键状态;通过USB接口与PC机通信。

3、软件流程介绍:

采用前后台?#20302;常?#20027;要分为三大部分,一是外设初始化,二是数据处理,三是业务逻辑处理。使用STM32CubeMX配置生成了USB HID复合设备,是一个USB键盘和USB鼠标、2个游戏Pad,配置方法和测试工程源码点我。或者“相关文件”直接下载

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

程序流程图如下:

实物与演示

1、实物图片与说明:

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

2、演示视频:

QQ飞车测试:

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

坦克世界测试:

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

电路相关文件

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

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

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

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

(版权归Deng Qilong所有)

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

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

换一批 more>>

大家都在看:

继续阅读

  • 基于stm32f103ret6的小型4轴

    自己DIY的一个小作品,MPU6050,SPL06气压计定高,720空心杯电机,整体大小9.9*9.9cm。经测试可用。
    来自:飞行器时间:2019-08-18 stm32 四轴飞行器 无人机
  • 设计软件:keil 5 ,altium designer 16,STM32F401CCU6TR芯片简介:STM32F401CCU6TR:84MHz(支持超频到120MHz,仍然可以用usb,f103就做不到),256K flash+64K sram,ARM- Cortex-M4内核(链接:https://item.szlcsc.com/81004.html)支持以下功能: 硬件:检测PM2.5检测土壤湿度检测一氧化?#25216;?#27979;温度,气压,海拔高度(屏幕只显示bmp280的气压,但是其他数据都预留了,只是没显示出来)注:bmp280这里用的spi驱动方式,网上开源的几乎都是iic接口的,偶尔一两个spi的还要csdn的积分,所以我自己?#33455;?#25968;据手册写出来了,代码里也给出了详细说明,其实很简单。检测光照强度检测温湿?#28909;?#20214;:使用cubemx自动生成全工程,带FreeRTOS操作?#20302;?#21644;USB虚拟串口(预留了,宏定义控制是否打开)这些传感器多数都是ad采样,本来采用的dma多通道采集,可惜PM2.5传感器不能这么做,需要触发,所以全部是查询采集方式(轮询采集+二维滤波)开源附带传感器购买链接(选的最具性价比的传感器)气压 BMP280https://item.taobao.com/item.htm?spm=2013.1.0.0.20...光照强度https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w...温湿度传感器https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w...土壤湿度传感器https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w...一氧化碳传感器https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w...1.3寸 TFT显示屏:https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w...PM2.5?#39029;?#20256;感器https://cart.taobao.com/add_cart_succeed.htm?_inpu...这个由于没有好好保存当时的资料,实物图只剩一张,视频也没保存好,不过功能就是这么多,所以有无影响不大。买家需要技术支持或其他,可联系企鹅:2752301152

  • stm32 甲醛和PM2.5温度测试仪器

    基于攀藤传感器的甲醛和PM2.5检测仪(攀藤传感器资料在源码内),温度是DS12B80传感器,同时支持RGB灯WS2813B,可以通过红黄绿来区别空气质量。可以用USB口供电,1602作为显示器,带3个按键
  • 销量
    301
    查看
    9892
    笨笨的虾

    笨笨的虾

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

    tracer ?? 逆水寒动漫渡我不渡她