1、简单易用,可快速上手
2、流畅支持300个器件或1000个焊盘以下的设计规模
3、支持简单的电路仿真
4、面向学生、老师、创客
1、全新的交互和界面
2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计
3、更严谨的设计约束,更规范的流程
4、面向企业、更专业的用户
专业版 为台式机设计的USB重力6D传感器
简介:想必大家都有台式机没有重力感应的烦恼,这款为主机设计的USB加速度和陀螺仪传感器能帮你解决问题!
开源协议: GPL 3.0
(未经作者授权,禁止转载)
已参加:电子”愚“ 乐设计征集令
想必大家都有台式机没有重力感应的烦恼,这款为主机设计的USB加速度和陀螺仪传感器能帮你解决问题!
插在机箱后置的USB就有了:
为了防止吃灰,为它增加了一些额外功能,可以当做USB开发板:
手写上述功能代码就学习了:USB-HID,USB-CDC,USB大容量储存设备。
后面还附上了(有代码):
操作鼠标和操作游戏的部分看看下面的视频吧。
基于比较便宜的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
操作平衡器游戏,模拟鼠标
接入3D游戏引擎,计算空间角度
简单实现 usb-hid
免驱设备,请自行修改描述符文件。
基于sdcc4.4编译器,移植到keil请注意语法和字节序问题。
包含usb-hid代码和lsm6ds3tr驱动。外设和引脚配置请参考 bsp.c
和 bsp.h
文件。
# 清理
make clean
# 编译
make
# 输出位于 bin/main.ihx
默认工作在 24MHz
,复位脚用作复位。固件代码检测 DL
按钮,按下时自动复位到 usb-isp
下载模式。两个按键可以配置成普通通用用途。
样例代码,无滤波,python访问设备并读取传感器值,并模拟鼠标操作实现“空中鼠标”功能。显然,也可以修改固件实现硬件鼠标,这里的代码是软件模拟鼠标。
基于 hid
包,模拟鼠标基于 pyautogui
包。
# pip install hid
# pip install pyautogui
./main.py
样例代码,用rust读取传感器值并简单滤波,bevy 3D引擎把设备的旋转角度用3D模型还原出来。
角度映射和滤波非常简陋,实际应用需要修改。
素材文件夹里保存了PCB的3D模型。
# rust最低版本1.75
cargo run
---
更新了B站视频: https://www.bilibili.com/video/BV1uM4m1R7bB/
加载中...
是否需要添加此工程到专辑?