基于OPENMV和STM32的键鼠统一管家系统设计与实现

发布者:心愿成真最新更新时间:2026-04-10 来源: EEWorld 论坛作者: lzhan 手机看文章 扫描二维码
随时随地手机看文章

项目概述

键鼠统一管家是一个创新嵌入式项目,旨在通过人脸朝向识别实现一套键盘鼠标控制两台电脑的智能切换。该系统由OPENMV H7摄像头模块、STM32 NUCLEO-L476RG主控板和自制PCB扩展板组成,能够根据用户面部朝向自动将键鼠操作定向到对应的PC主机。

系统组成与工作原理

系统硬件核心包括三个部分:OPENMV H7负责图像采集和人脸检测,通过计算人脸中心位置与预设标定点的比较来判断朝向;NUCLEO-L476RG开发板作为USB Host连接用户键鼠,并接收OPENMV的GPIO信号控制数据转发;自制PCB板载两个STM32F070芯片作为USB Device,分别连接两台电脑,通过SPI从主控接收键鼠数据并模拟USB输入设备。

工作流程:OPENMV持续捕捉人脸图像,当检测到人脸中心偏向左侧时,其GPIO P1输出高电平、P2输出低电平,同时蓝色LED点亮;偏向右侧时则相反。主控STM32检测这些GPIO电平,将键鼠的USB HID数据通过SPI发送到对应的STM32F070(左侧或右侧),最终实现键鼠操作的智能切换。

关键技术实现

OPENMV图像处理

OPENMV运行MicroPython程序,初始化摄像头后加载Haar级联分类器进行人脸检测。程序计算人脸区域中心点坐标,与标定的中点位置比较:若当前中心点小于等于标定点且之前状态为左转,则切换为右转状态,改变GPIO和LED指示;反之亦然。代码中设置了外部中断用于标定校准,提高了系统适应性。

STM32主控程序

主控STM32配置为USB Host模式,通过USB协议解析键鼠数据包。同时,它监控OPENMV的GPIO输入,根据电平状态选择SPI从设备(对应左右两台电脑)。时钟配置为PLL输出48MHz,确保USB和SPI通信的时序要求。中断服务程序处理定时器和USB事件,实现实时数据转发。

USB Device端实现

两个STM32F070芯片作为SPI从设备,接收主控发来的键鼠数据,并通过USB端点模拟成标准HID设备向电脑发送输入报告。代码实现了完整的USB协议栈,包括设备枚举、配置描述符响应和数据传输状态机,确保被电脑识别为即插即用键鼠。

项目总结与展望

本项目成功演示了基于视觉识别的键鼠共享方案,作者通过参赛深入学习了MicroPython嵌入式开发和USB协议栈移植。目前系统限制在于需要用户头部相对摄像头位置固定,身体大幅移动会影响识别精度。未来可加入更复杂的姿态估计算法或多人脸跟踪以提升实用性。

更多详细内容,包括代码下载链接、实物照片和操作演示视频,请阅读原帖:【2024 DigiKey 创意大赛】 键鼠统一管家——作品提交

引用地址:基于OPENMV和STM32的键鼠统一管家系统设计与实现 本文为EEWorld论坛网友原创,未经授权谢绝转载。如需转载或用于商业请联系作者并注明出处。如认为该文章侵权或违规请联系:bbs_service@eeworld.com.cn

上一篇:家庭共享智能药盒设计与实现——基于STM32和OpenMV人脸识别
下一篇:赛博竖笛制作教程:基于ESP32和气压传感器的MIDI电子乐器

小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved