读这篇文章大约需要两分钟
今天有点事,太忙了,再忙也不能没有干货分享。
什么是无线飞鼠
今天分享好久之前实现的一个无线飞鼠。还不知道什么是无线飞鼠吧?鼠标见过么,就和鼠标一样,不过普通鼠标只能放在桌面上,离开桌面是无法准确使用的,但是这款无线飞鼠缺可以使用。
外观
先看看外观样子,这样心中有了大概的了解
无线飞鼠接收端
无线飞鼠发送端-手持端
整体由2部分组成,发射端和接收端。
原理
手持端实时获取当前的位置及姿态信息,通过计算将计算后的值通过无线2.4G发送给接收端,接收端接收到后将对应的信息转化成USB协议规定的信息,然后进行显示控制。
涉及到的技术
无线通信
卡尔曼子滤波
USB通信
C语言编程
开发流程
开发流程主要有:
硬件电路选型
传感器选择
原理梳理学习
编码测试
因为这个是给别人做的,所以硬件选型上直接选择自己最熟悉的STM32,也是买的现成的,本着快速开发为目的。
姿态检测
鼠标姿态检测使用MPU6050传感器,这是一个六轴传感器,通过试试通信将姿态信息通过I2C总线传输。
MPU6050
MPU6050通信方式为I2C,简单说就是通过2根线
原理图
I2C原理
无线传输
无线传输使用NRF24L01模块,该模块采用2.4Ghz进行传输。
RF24L01模块
整个系统必须使用2个,才能构成一对进行数据收发。
USB通信
UBS通信这块属于比较难的,光USB协议就有厚厚的一本书,所以还是很难的,不过本次使用的知识点可以不用涉及到非常底层的东西,好多api直接拿过来用就行了,想要细究需要花费一点时间哦。
部分代码展示
接收端主函数
详细的数组帧组织,发送和接收协议组织:
数据组织
好了,就写这些,有不懂的可以私信交流哦。
原创不易,若觉得不错,希望多留言,关注,点赞都是对我的支持对我的认可!鹅卵石再次感谢了!
1.《怎么弄超级小飞鼠看这里!无线飞鼠来了,纯手工使用2块STM32核心板实现自己的无线飞鼠》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《怎么弄超级小飞鼠看这里!无线飞鼠来了,纯手工使用2块STM32核心板实现自己的无线飞鼠》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3218765.html