news 2026/6/10 12:22:41

量产空中鼠标:手把手带你拆解这个黑科技

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
量产空中鼠标:手把手带你拆解这个黑科技

量产空中鼠标电路设计资料 原理图+PCB资料 空中鼠标硬件由两个部分组成,鼠标端(发射板)和USB端(接收板)。 ◆ 发射板主要器件是STM32、MPU6050、NR24L01。 MPU6050感知人手的动作(X、Y、Z轴上的角速度值),并将测得的数据通过I2C数据接口传输给STM32。 STM32内部自带12位ADC对数据做转换,并且通过NRF24L01无线传输给USB端。 ◆ 接收板是模拟的HID鼠标和键盘即插即用,通过USB接口和电脑连接。 USB端同样有一颗NRF24L01芯片接收发射板传输过来的数据,通过SPI接口传输给STM32。 ?作为电脑的输入设备,空中鼠标可以像传统鼠标一样操作屏幕,仅需要在空中晃动或者移动就可以实现鼠标的操作和翻页等功能。

最近在研究一个挺有意思的东西——空中鼠标。这玩意儿不用沾桌子,挥挥手就能控制屏幕,想想都觉得酷毙了。今天就带大家拆开这个黑匣子,看看它是怎么工作的。

发射板:你的每一个动作都被我捕捉

发射板是整个系统的"眼睛"和"大脑",主要由三个核心元件组成:STM32、MPU6050和NR24L01。

MPU6050这个小家伙负责感知你的动作。它能捕捉到你手部在X、Y、Z三个轴上的角速度值,简单来说就是你手是怎么动的。这些数据通过I2C接口传给STM32。

STM32这个小机灵鬼接到数据后就开始忙活了。它会用自己内部的12位ADC(模数转换器)把这些数据处理一下,然后通过NR24L01这个无线小能手把这些数据发射出去。

量产空中鼠标电路设计资料 原理图+PCB资料 空中鼠标硬件由两个部分组成,鼠标端(发射板)和USB端(接收板)。 ◆ 发射板主要器件是STM32、MPU6050、NR24L01。 MPU6050感知人手的动作(X、Y、Z轴上的角速度值),并将测得的数据通过I2C数据接口传输给STM32。 STM32内部自带12位ADC对数据做转换,并且通过NRF24L01无线传输给USB端。 ◆ 接收板是模拟的HID鼠标和键盘即插即用,通过USB接口和电脑连接。 USB端同样有一颗NRF24L01芯片接收发射板传输过来的数据,通过SPI接口传输给STM32。 ?作为电脑的输入设备,空中鼠标可以像传统鼠标一样操作屏幕,仅需要在空中晃动或者移动就可以实现鼠标的操作和翻页等功能。

这里有个小细节,NR24L01的工作频率是2.4GHz,这和Wi-Fi是一个频段。所以有时候用空中鼠标时可能会受到Wi-Fi信号的干扰,这也是为什么有时候鼠标会卡顿的原因。

接收板:你的动作我全接收

接收板是整个系统的"耳朵"和"嘴巴"。它同样用了一颗NR24L01,负责接收发射板发来的数据。

数据接收后,STM32会通过SPI接口把这些数据处理一下,然后通过USB接口传给电脑。电脑收到这些数据后,会把它们当作普通的鼠标和键盘输入来处理。

这里有个关键点,接收板模拟的是HID(Human Interface Device)设备。HID是USB设备的一种类型,包括鼠标、键盘、游戏手柄等等。通过模拟HID设备,空中鼠标就能像普通鼠标一样被电脑识别和使用了。

实战代码:数据怎么传的这么快

发射板代码片段:

void MPU6050_Init(void) { // 初始化MPU6050 I2C_WriteByte(MPU6050_ADDRESS, PWR_MGMT_1, 0x00); // 唤醒传感器 I2C_WriteByte(MPU6050_ADDRESS, CONFIG, 0x00); // 配置传感器 I2C_WriteByte(MPU6050_ADDRESS, SMPLRT_DIV, 0x07); // 设置采样率 }

接收板代码片段:

void USB_Process(void) { if (usb_rx_data_available) { // 处理接收到的数据 process_mouse_data(); usb_rx_data_available = 0; } }

总结:黑科技背后的简单逻辑

空中鼠标虽然看起来很高大上,但本质上就是几个元件的配合工作。MPU6050负责感知动作,STM32负责数据处理,NR24L01负责无线传输,接收板负责数据接收和转发。整个过程环环相扣,缺一不可。

这个设计的最大优点就是成本低、实现简单。只要掌握基本的嵌入式开发知识,完全可以在家里 DIY 一个属于自己的空中鼠标。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/3 5:12:34

DLSS Swapper:解锁游戏性能优化的终极秘籍

DLSS Swapper:解锁游戏性能优化的终极秘籍 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 还在为游戏中DLSS版本不兼容而头疼?当新版本DLSS带来更多问题而非解决方案时,DLSS Swapper…

作者头像 李华
网站建设 2026/6/1 1:10:50

思源黑体TTF:7大免费商用字体打造多语言设计新标准

思源黑体TTF:7大免费商用字体打造多语言设计新标准 【免费下载链接】source-han-sans-ttf A (hinted!) version of Source Han Sans 项目地址: https://gitcode.com/gh_mirrors/so/source-han-sans-ttf 在当今数字化的世界,一款能够完美支持中日韩…

作者头像 李华
网站建设 2026/6/4 22:16:14

YOLOv9引用格式规范,论文写作参考

YOLOv9引用格式规范,论文写作参考 在深度学习与计算机视觉领域,YOLO(You Only Look Once)系列模型持续引领目标检测技术的发展。作为该系列的最新进展之一,YOLOv9 提出了“可编程梯度信息”机制,通过引入P…

作者头像 李华
网站建设 2026/6/5 6:11:39

中兴光猫配置解密终极指南:从技术困扰到完全掌控

中兴光猫配置解密终极指南:从技术困扰到完全掌控 【免费下载链接】ZET-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/ze/ZET-Optical-Network-Terminal-Decoder 还在为光猫配置的复杂性而困扰吗?想要真正掌握家庭…

作者头像 李华
网站建设 2026/6/1 6:39:36

中兴光猫配置解密工具:三步掌握网络管理主动权

中兴光猫配置解密工具:三步掌握网络管理主动权 【免费下载链接】ZET-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/ze/ZET-Optical-Network-Terminal-Decoder 还在为看不懂的中兴光猫配置文件而烦恼?想要自主优化…

作者头像 李华
网站建设 2026/5/31 9:50:26

用Arduino蜂鸣器音乐代码打造趣味发声玩具(完整示例)

用Arduino玩转蜂鸣器音乐:从“嘀”一声到《小星星》的完整实践 你有没有试过按下按钮,玩具突然“叮咚”响起一段熟悉的旋律?那种瞬间点亮童心的感觉,正是嵌入式音频最迷人的地方。而实现这一切的核心,可能只是一个几块…

作者头像 李华