分享我制作的空中鼠标(MPU6050+NRF24L01+stm32)

2019-12-27 18:40发布

本帖最后由 小乔123 于 2014-9-6 20:44 编辑

      等qwe2231695同学开源他的空中鼠标等得我好辛苦,等了半年都没等到,不过前天他终于把他的设计文档发布了。
    参考正点原子战舰开发板上的鼠标例程,我也做了一个空中鼠标,其实只是将他的有线鼠标改造成无线的。
    鼠标由发射板和接收板组成,发射板主要包括stm32,MPU6050,NRF24l01,相信我不用说明大家都知道他们分别是干什么的了吧。
接收板主要包括stm32和NRF24l01,接收板通过USB接口和电脑连接,USB驱动是STM32的官方例程。另外,cpu使用的是stm32f103c8t6
这个芯片有两个优点,一个是小,另外一个是便宜,统计下来做一个鼠标刨去PCB的成本,大概60元左右。
    这个空中飞鼠的原理大概讲一下,就是读取MPU6050中X和Z轴上的角速度值,然后通过NRF24l01发送给接收板,接收板通过NRF24l01
接收到数据后,通过stm32内部自带的USB模块将数据发送给电脑,而USB部分的东西基本不用去深入研究,使用的时候只要知道那个鼠标
数据的接口函数就可以了。
        废话不多说,直接上视频。
http://v.youku.com/v_show/id_XNzc1MzQ1ODg0.html

视频中只有发射板,我将发射板做成跟18650电池大小差不多,这样就直接可以放到移动电源里了,这样移动电源就不仅可以充电,还可以
当鼠标使用。怎么样实际的使用效果还可以吧?
下面是空中鼠标的图片细节。
IMG_20140828_162901.jpg (1.31 MB, 下载次数: 3) 下载附件 实物 2014-9-6 20:14 上传
上图是发射板放在移动电源中,移动电源最好选用内部是18650的,这样方便改造。只要将线连接好,将板子固定住,在盖子上打好洞就行,
我用的LDO是一个低压差的,座椅无论你使用移动电源出来的5V或者直接连接18650都是可以正常工作的。
最后,附上原理图和程序,没有太多注释,因为程序我自己写的部分很简单,其他部分都是官方或者战舰开发板上现成的例程,现在我的程序,
除了控制方向,鼠标左右键外,还增加了两个按键同时按下开启滚轮功能,期望有人能在我的基础上继续优化程序,因为我对算法这边实在了
解的不多。
空中鼠标.zip (10.02 MB, 下载次数: 1201) 2014-9-6 20:35 上传 点击文件名下载附件
原理图+程序

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。