本项目介绍了一款基于MPU6050姿态传感器、NRF24L01无线模块及STM32微控制器的开源空中鼠标的设计方案,包括硬件选型与电路布局。
我参考正点原子战舰开发板上的鼠标例程制作了一个无线空中鼠标项目。这个项目的创新之处在于将有线鼠标的结构改造成无线版本,并且可以安装在移动电源中,使之兼具充电与操作功能。
该设备由发射板和接收板两部分组成:
- 发射板主要组件包括STM32微控制器、MPU6050传感器(用于姿态检测)以及NRF24L01模块(无线通信)。这些元件协同工作以捕捉用户的动作,并通过无线电波将数据传输给另一端的接收器。
- 接收板则包含一个STM32和同样型号的NRF24L01,其任务是接收到发射板发送过来的信息后将其转换为电脑能够识别的标准鼠标信号。此过程利用了STM32内置USB模块的功能来实现与计算机之间的通信。
整个系统的核心在于读取MPU6050传感器中X轴和Z轴的角速度值,并通过NRF24L01无线发送给接收板,随后再由后者转发至连接电脑。对于硬件选择上,则采用了体积小巧且成本低廉的STM32F103C8T6微控制器作为主控芯片。
为了便于制作与调试,在设计时还做了一些优化处理:
- 接收端采用双USB接口配置以适应不同使用场景。
- 将所有IO引脚都引出以便于开发和测试目的,使得接收板本身也能充当一个简易的开发平台来用。
此外,我还把发射器集成进移动电源内部。具体做法是将线路连接好并固定住电路板,在外壳上开孔以方便操作按键;同时考虑到不同电压输入情况下的兼容性问题而选用了低压差线性稳压器(LDO)进行供电管理。
项目中使用的程序代码基于官方例程或战舰开发板上的现有资源编写而成,除了基础的方向控制和鼠标左右键功能外还增加了一个双击启动滚轮模式的功能。希望未来能有更多爱好者在此基础上继续改进和完善该设计。