file-type

创新设计:基于MPU6050和NRF24l01的无线空中鼠标制作方案

9.99MB | 更新于2024-12-26 | 95 浏览量 | 54 下载量 举报 22 收藏
download 立即下载
知识点概述: 本资源详细介绍了如何制作一个基于MPU6050加速度计/陀螺仪模块、NRF24l01无线通信模块和STM32微控制器的无线空中鼠标。该鼠标分为发射板和接收板两个部分,均使用STM32F103C8T6微控制器,成本较低,适合DIY爱好者制作。本方案不仅包括硬件设计,还包括软件实现和程序代码的分享。 详细知识点: 1. 硬件组成: - **MPU6050**:集成6轴运动跟踪设备,包含3轴陀螺仪和3轴加速度计,用于测量物体的运动和姿态。 - **NRF24l01**:2.4GHz无线收发模块,用于发射和接收无线信号。 - **STM32F103C8T6**:ARM Cortex-M3微控制器,执行数据处理和USB通信任务。 - **PCB**:电路板,用以固定和连接电子组件。 - **18650移动电源**:作为鼠标发射端的电源和外壳。 2. 工作原理: - 发射板上的MPU6050模块检测到鼠标移动并产生相应的角速度值,通过NRF24l01模块发送这些数据。 - 接收板通过NRF24l01模块接收数据,并通过STM32的内置USB模块将数据转换为鼠标移动信号发送给电脑。 - 用户可以通过无线信号控制鼠标指针,实现基本的移动和点击操作。 - 鼠标的左右键功能和滚轮功能由程序中实现,增加了额外的按键控制。 3. 制作与优化: - 发射板设计尺寸较小,可与18650电池大小相当,便于整合进移动电源。 - 发射板与移动电源的整合通过直接连接电池和固定电路板实现。 - 接收板设计成双USB接口形式,方便连接电脑和程序调试。 - 接收板的IO口全部引出,可作为开发板使用,降低成本。 - 程序设计简单,主控部分使用开源代码,作者主要编写了控制方向和按键的代码。 - 程序中增加了两个按键同时按下的滚轮功能,提供额外的用户交互。 4. 软件与程序: - 作者提供了基本的程序代码,未进行详细注释,代码分为开源和现成例程部分。 - 期待社区成员继续优化程序,特别是在算法和用户交互方面。 5. 成本与材料: - 制作成本低,不考虑PCB成本大约为60元人民币。 - 材料主要为现成模块,便于DIY爱好者使用。 6. 连接与驱动: - 接收板通过USB接口连接到电脑,使用STM32官方例程中的USB驱动。 - 鼠标数据的接口函数简化了USB部分的研究,用户只需关注鼠标数据部分。 7. 其他信息: - 提供了发射板和接收板的原理图和PCB布局图。 - 发布了包含视频链接的网站,展示了发射板的使用情况。 - 提供了包含原理图和程序的压缩文件,便于用户下载和制作。 总结: 本资源提供了完整的空中鼠标制作方案,从硬件选择、电路设计、程序编写到成本估算,详细的步骤和资源对于DIY爱好者来说是一份宝贵的学习资料。作者不仅分享了硬件设计和程序代码,还鼓励社区成员在此基础上进行优化和创新,以实现更高效的无线鼠标设计。

相关推荐

filetype
鼠标由发射板和接收板组成,发射板主要包括stm32,MPU6050,NRF24l01,相信我不用说明大家都知道他们分别是干什么的了吧。 接收板主要包括stm32和NRF24l01,接收板通过USB接口和电脑连接,USB驱动是STM32的官方例程。另外,cpu使用的是stm32f103c8t6 这个芯片有两个优点,一个是小,另外一个是便宜,统计下来做一个鼠标刨去PCB的成本,大概60元左右。 这个空中飞鼠的原理大概讲一下,就是读取MPU6050中X和Z轴上的角速度值,然后通过NRF24l01发送给接收板,接收板通过NRF24l01 接收到数据后,通过stm32内部自带的USB模块将数据发送给电脑,而USB部分的东西基本不用去深入研究,使用的时候只要知道那个鼠标 数据的接口函数就可以了。 视频: 视频中只有发射板,我将发射板做成跟18650电池大小差不多,这样就直接可以放到移动电源里了,这样移动电源就不仅可以充电,还可以 当鼠标使用。怎么样实际的使用效果还可以吧? 下面是空中鼠标的图片细节。 这是发射板的PCB,MPU6050和NRF24l01都是直接使用的现成模块,方便了焊接并且提高了制作成功率。 这是装好后的实物图,也许你会奇怪后面为什么要用那么长的两个按键?这是因为我要把板子放到移动电源的电池仓内,所以需要很长的按键, 我也懒得再去研究怎么装按键会更好看,所以就用了这种懒办法。 这是接收板的PCB板和实物图,电路其实很简单,我做了两点优化,一个是双USB接口,这样不仅可以直接插到电脑上,而且可以在调试程序的时候 使用USB线来连接,另一个是将IO口全部引出,这样接收板还可以当做开发板使用,对于我这种电子爱好屌丝来说无疑是一个很省成本的方案。 上图是发射板放在移动电源中,移动电源最好选用内部是18650的,这样方便改造。只要将线连接好,将板子固定住,在盖子上打好洞就行, 我用的LDO是一个低压差的,座椅无论你使用移动电源出来的5V或者直接连接18650都是可以正常工作的。 最后,附上原理图和程序,没有太多注释,因为程序我自己写的部分很简单,其他部分都是官方或者战舰开发板上现成的例程,现在我的程序, 除了控制方向,鼠标左右键外,还增加了两个按键同时按下开启滚轮功能,期望有人能在我的基础上继续优化程序,因为我对算法这边实在了 解的不多。