为台式机设计的USB重力6D传感器 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 为台式机设计的USB重力6D传感器

  • 2.4k
  • 9
  • 32

简介:想必大家都有台式机没有重力感应的烦恼,这款为主机设计的USB加速度和陀螺仪传感器能帮你解决问题!

开源协议: GPL 3.0

(未经作者授权,禁止转载)

已参加:电子”愚“ 乐设计征集令

创建时间: 2024-03-13 08:58:37
更新时间: 2024-04-09 16:10:01
描述

USB加速度陀螺仪传感器

 

想必大家都有台式机没有重力感应的烦恼,这款为主机设计的USB加速度和陀螺仪传感器能帮你解决问题!

 

插在机箱后置的USB就有了:

  • 自动旋转:翻转机箱时自动旋转屏幕;
  • 自由落体检测:检测到机箱坠落时自动销毁数据,无后顾之忧;
  • 识别机箱摔倒:你的主机似乎摔倒了,需要帮您联系维修吗?
  • 地震报告:当发生七级以上地震时延后两秒通知您及时处理;

 

为了防止吃灰,为它增加了一些额外功能,可以当做USB开发板:

  • 串口UART:线序参考了USB转串口设备,写入USB-CDC固件可以当做USB转串口;
  • RGB指示灯:好看,没用;
  • 两个按键:默认是调试用途,可以配置成通用按键;
  • SD卡槽:可以当做速度极慢的USB读卡器使用;

 

手写上述功能代码就学习了:USB-HID,USB-CDC,USB大容量储存设备。

 

 

后面还附上了(有代码):

  • 空中鼠标:重力检测映射到鼠标,指针随设备方向移动;
  • 接入游戏引擎:实时控制3D物体;

 

操作鼠标和操作游戏的部分看看下面的视频吧。

 

硬件设计

 

基于比较便宜的stc8h8k64u单片机,和lsm6ds3tr传感器。立创BOM约14¥,某宝约10¥。

使用通用U盘板型,可以使用普通U盘外壳。

正面放了SD卡槽,与按键和指示灯有冲突,所以按键在背面。

 

硬件注意事项:
1. P54(NRST)引脚做复位脚时内置4.1K上拉,不需要外部上拉,做普通IO时开启内部上拉即可,省略了外部上拉电阻;
2. 为了保证单片机复位时SD卡不会出现误动作,SD卡所有引脚都加了47K上拉电阻,软复位和重启进入ISP模式时保持高电平;
3. RGB指示灯加了比较大的限流电阻(10K因为我嫌它太亮),可以适当减小,否则可能偏暗;

 

PCB渲染

实拍

可以使用通用U盘外壳!

软件包含

附件里的代码可能不会更新,软件部分:

请访问github:https://github.com/lzyor/oshw-usb-gyro

  • firmware-gyro-hid:固件代码实现hid
  • py-air-mouse:python读取数据和模拟鼠标
  • rs-bevy-3d-view:rust实现简单滤波和3D界面演示

 

截图

操作平衡器游戏,模拟鼠标

接入3D游戏引擎,计算空间角度

固件代码 firmware-gyro-hid

简单实现 usb-hid 免驱设备,请自行修改描述符文件。

基于sdcc4.4编译器,移植到keil请注意语法和字节序问题。

包含usb-hid代码和lsm6ds3tr驱动。外设和引脚配置请参考 bsp.c 和 bsp.h 文件。

# 清理
make clean
# 编译
make
# 输出位于 bin/main.ihx

默认工作在 24MHz,复位脚用作复位。固件代码检测 DL 按钮,按下时自动复位到 usb-isp 下载模式。两个按键可以配置成普通通用用途。

模拟鼠标 py-air-mouse

样例代码,无滤波,python访问设备并读取传感器值,并模拟鼠标操作实现“空中鼠标”功能。显然,也可以修改固件实现硬件鼠标,这里的代码是软件模拟鼠标。

基于 hid 包,模拟鼠标基于 pyautogui 包。

# pip install hid
# pip install pyautogui
./main.py

演示3D模型 rs-bevy-3d-view

样例代码,用rust读取传感器值并简单滤波,bevy 3D引擎把设备的旋转角度用3D模型还原出来。

角度映射和滤波非常简陋,实际应用需要修改。

素材文件夹里保存了PCB的3D模型。

# rust最低版本1.75
cargo run

 

---


更新了B站视频: https://www.bilibili.com/video/BV1uM4m1R7bB/

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

out-low.mp4

24
2

oshw-usb-gyro-main_2024-03-29.zip

46
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP