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

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

智能车电机驱动(HIP4082+LR7843)

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

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

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

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

(版权归Deng Qilong所有)

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

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

换一批 more>>

大家都在看:

继续阅读

  • 基于STM32的MPL3115A2气压高度采集系统(OLED显示)

    本设计采集的均为原始传感器数据,未经过算法处理,所以数据需要你经过算法处理飞思卡尔MPL3115A2提供高精度压力和高度数据,可调采样速率,具有超低功耗、智能功能及不需要数据处理等特点,适用于移动设备、医疗及安全应用。MPL3115A2压力传感器智能功能包括数字输出、两个自动唤醒的中断、最小/最大门限检测和自主数据采集。MPL3115A2压力传感器可自己处理传感器数据,减少了与主机通信的需要,降低了微控制器(MCU)的使用频率。 这个MPL3115A2雇佣了MEMS压力传感器和一个I2C接口提供准确的压力/高度和温度数据。该传感器输出是由一个高分辨率数字化24位ADC。内部处理删除补偿任务从主机单片机系统。多种可编程,节能、中断和自治数据采集模式可用,包括程序采集周期时间,民调显示仅有模式。典型活跃的电源电流是40m每个测量第二稳定30厘米输出分辨率。压力可以解决输出与输出在几分之一帕斯卡,和高度可以解决在分数一米。这个MPL3115A2提供一个5毫米3毫米,直径为1.1毫米的LGA包和指定操作从-40°C到85°C。包是表面与山不锈钢的盖子,是通过无铅认证。本设计通过stm32采集MPL3115A2的气压、高度、温度;通过oled显示实物购买,价格实惠,淘宝链接:https://item.taobao.com/item.htm?spm=0.7095261.0.0...
  • 晶闸管投切装置+控制器

    产品特点1.采用知名品牌可控硅,其可靠性和稳定性高。2.实现真正的过零投切3. 投切电容器时无涌流、无过压、无火花产生,响应速度快,时间小于15ms4. 支持电平、脉冲触发方式,触发方式灵活,改造、更换方便。5. 采用光电隔离,以避免干扰6. 缺相报警,带过热保护
    来自:工业控制时间:2018-12-06 stm32
  • 麦克纳姆轮图纸和51,arduino,stm32可用的程序

    麦克纳姆轮3D打印的图纸和控制程序,图纸根据网上下载的进行了修改,做了一些优化和改成一个轮需要8个M4x10或更长的螺丝都行,这样螺丝这打印完成后需要再外面套上内径12mm,外接16mm左右的橡胶管,不然会很滑,这种管很好买,电机常见的是1:48的,建议买1:120减速比的,如需3D打印车轮或车身结构这些可以联系我,如果需要其他的可以联系我qq:804223922
  • 基于STM32金属探测避障蓝牙遥控小车

    功能说明:1、采用STM32F103RBT6单片机做主控制器;2、金属探测传感器探测下方是否有金属,检测到金属即立即停车并报警;3、搭载蓝牙模块可与安卓手机链接,使用我们专用APP软件即可操控小车;4、超声波传感器检测小车与前方障碍物距离,小于40cm则进行转向;5、手机APP可设置小车行驶速度,速度等级分为3级;6、手机APP可遥控设置小车前进、后退、左转、右转、停止。资料说明: 附件内容提供AD格式原理图PCB工程文件,用altiumDesigner打开。程序采用C语言编写,通过keil软件编译,文件为工程源代码。技术咨询QQ:2067054198(咨询时请说明来自电路城);实物链接:https://item.taobao.com/item.htm?spm=a2126o.11854294.0.0.84a54831LnkJ70&id=583358561603资料截图:
  • 自制的Jlink

    自己做了一个Jlink,把PCB分享给大家
    来自:MCU开发板时间:2018-12-05 stm32
销量
253
查看
8193
笨笨的虾

笨笨的虾

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