参考正点原子战舰开发板上的鼠标例程,我也做了一个空中鼠标,其实只是将他的有线鼠标改造成无线的。 鼠标由发射板和接收板组成,发射板主要包括stm32,MPU6050,NRF24l01,相信我不用说明大家都知道他们分别是干什么的了吧。 接收板主要包括stm32和NRF24l01,接收板通过USB接口和电脑连接,USB驱动是STM32的官方例程。另外,cpu使用的是stm32f103c8t6 这个芯片有两个优点,一个是小,另外一个是便宜,统计下来做一个鼠标刨去PCB的成本,大概60元左右。 这个空中飞鼠的原理大概讲一下,就是读取MPU6050中X和Z轴上的角速度值,然后通过NRF24l01发送给接收板,接收板通过NRF24l01接收到数据后,通过stm32内部自带的USB模块将数据发送给电脑,而USB部分的东西基本不用去深入研究,使用的时候只要知道那个鼠标数据的接口函数就可以了。 https://v.youku.com/v_show/id_XNzc1MzQ1ODg0.html 视频中只有发射板,我将发射板做成跟18650电池大小差不多,这样就直接可以放到移动电源里了,这样移动电源就不仅可以充电,还可以 当鼠标使用。怎么样实际的使用效果还可以吧? 下面是空中鼠标的图片细节。 这是发射板的PCB,MPU6050和NRF24l01都是直接使用的现成模块,方便了焊接并且提高了制作成功率。 这是装好后的实物图,也许你会奇怪后面为什么要用那么长的两个按键?这是因为我要把板子放到移动电源的电池仓内,所以需要很长的按键, 我也懒得再去研究怎么装按键会更好看,所以就用了这种懒办法。 这是接收板的PCB板和实物图,电路其实很简单,我做了两点优化,一个是双USB接口,这样不仅可以直接插到电脑上,而且可以在调试程序的时候 使用USB线来连接,另一个是将IO口全部引出,这样接收板还可以当做开发板使用,对于我这种电子爱好屌丝来说无疑是一个很省成本的方案。 上图是发射板放在移动电源中,移动电源最好选用内部是18650的,这样方便改造。只要将线连接好,将板子固定住,在盖子上打好洞就行, 我用的LDO是一个低压差的,座椅无论你使用移动电源出来的5V或者直接连接18650都是可以正常工作的。 最后,附上原理图和程序,没有太多注释,因为程序我自己写的部分很简单,其他部分都是官方或者战舰开发板上现成的例程,现在我的程序, 除了控制方向,鼠标左右键外,还增加了两个按键同时按下开启滚轮功能,期望有人能在我的基础上继续优化程序,因为我对算法这边实在了 解的不多。
2021-10-18 22:05:19 9.99MB mpu6050 nrf24l01 无线鼠标 电路方案
1
MPU6050陀螺仪dmp库 c c++便于移植
2021-10-17 19:05:55 822KB MPU6050
1
MPU6050 energia(arduino)的库,可以直接调用程序
2021-10-15 21:41:06 5KB energia arduino mpu6050
1
stm32f103 和mpu6050 oled显示角度温度,整个工程打包,大家可以参考一下,DMP将原始数据转换成四元数,再转换成欧拉角
2021-10-13 19:44:54 4.8MB mpu6050 stm32 oled 加速度
1
MPU6050六轴陀螺仪
2021-10-13 19:04:25 120.7MB MPU6050 六轴陀螺仪
1
Arduino UNO R3
2021-10-13 16:03:43 39KB Arduino NRF24 MPU6050
1
请勿使用光电编码器
2021-10-13 12:02:02 3.29MB msp432
1
STM32F103采用模拟IIC实现GY-86 10DOF模块的数据采集(陀螺仪,加速度,气压,温度,数字罗盘)
2021-10-08 11:57:23 6.43MB GY-86程序 MS5611 HMC5883 MPU6050
1
基于STM32 mpu6050,亲测好用,希望对您能有所帮助。对于研究陀螺的人有帮助,
2021-10-07 18:07:50 600KB stm32 mpu6050
1
MPU6050系列官方驱动代码V5.1.2
2021-10-07 16:06:42 730KB MPU 最新 2014 V5.1.2
1