2025-4-13 12:36:35 只看该作者
2273浏览
查看: 2273|回复: 0
打印 上一主题 下一主题

AI视觉手势/人脸跟踪传感器——手势控制频道切换

[复制链接]
本帖最后由 云天 于 2025-4-13 12:43 编辑

【项目背景】
近日,DF创客商城推出了一款新型AI视觉手势/人脸跟踪传感器,具备3米远距识别能力,支持5种手势和10个人脸追踪功能,并兼容Arduinomicro:bit及树莓派平台,适用于智能家居、无接触交互及人体感应等场景。秉持“为创客探路”的精神,我购买了这款传感器进行深度测试。经过两天的密集调试(恰逢张家口大风天气,蜗居在家),我发现传感器在IIC通信上存在部分问题,并已与DF技术支持团队沟通,期待后续优化。同时,我通过修改扩展代码,成功实现了在Mind+图形化编程环境下通过UART通信使用该传感器(官方仅支持IIC通信),为更多开发者提供了灵活的使用方式。

AI视觉手势/人脸跟踪传感器——手势控制频道切换图2

【硬件介绍】

AI视觉手势/人脸跟踪传感器——手势控制频道切换图3

【项目设计】
基于传感器的人脸检测和手势识别功能,我设计了一套手势控制家用电视机频道切换的系统。为减少误触发,系统采用“人脸优先”逻辑:仅在检测到人脸时启动手势识别功能。通过红外接收模块捕获机顶盒遥控器的按键编码,再结合手势识别结果,利用红外发射模块向机顶盒发送对应指令,实现频道切换。该方案不仅提升了交互的自然性,还通过人脸检测机制有效避免了误操作,为智能家居场景提供了一种创新的无接触控制方案。
【项目制作】
1.获取机顶盒遥控器的按键编码,列表只用于保存编码。
AI视觉手势/人脸跟踪传感器——手势控制频道切换图4

红外接收模块接Arduino UNO的引脚2。

AI视觉手势/人脸跟踪传感器——手势控制频道切换图1


2.硬件组装

AI视觉手势/人脸跟踪传感器——手势控制频道切换图7


AI视觉手势/人脸跟踪传感器——手势控制频道切换图8


AI视觉手势/人脸跟踪传感器——手势控制频道切换图9


AI视觉手势/人脸跟踪传感器——手势控制频道切换图10

3.加载扩展
通过“扩展”——“用户扩展"——输入“https://gitee.com/yuntian365/GestureFaceDetection

AI视觉手势/人脸跟踪传感器——手势控制频道切换图5

4.示例程序

AI视觉手势/人脸跟踪传感器——手势控制频道切换图6


用于控制AI视觉手势/人脸跟踪传感器和红外发射模块。以下是程序的逐步分析:
(1 )初始化部分
AI视觉手势/人脸跟踪传感器初始化:
使用UART模式,地址为0x72。
设置人脸检测灵敏度为60,手势检测灵敏度为60,头肩检测灵敏度为100。
(2) 循环执行部分
程序进入循环执行,主要逻辑如下:
1) 人脸检测
条件判断:如果检测到人脸数量大于等于1,则继续执行后续操作。
人脸得分判断:如果人脸得分大于80,则继续执行。
手势得分判断:如果手势得分大于80,则继续执行。
2) 手势类型获取
获取当前手势类型并存储到变量手势类型中。
3) 手势类型判断
根据手势类型的值,执行不同的红外发射操作:
手势类型 = 1:发射红外编码0xCD3249B6。
手势类型 = 2:发射红外编码0xCD32C936。
手势类型 = 3:发射红外编码0xCD233CC。
手势类型 = 4:发射红外编码0xCD32718E。
手势类型 = 5:发射红外编码0xCD32F10E。
4) 红外发射操作
每次红外发射后:
设置数字引脚13为高电平。
等待1秒后切换为低电平。
红外发射模块使用NEC协议,管脚为5,发射的编码为32位。
(3) 循环间隔
每次循环结束后,等待0.2秒,避免程序运行过快导致信号冲突。
程序功能总结
人脸优先逻辑:只有检测到人脸且人脸得分和手势得分都高于80时,才会进行手势识别,避免误触发。
手势控制:根据手势类型(1到5),发射不同的红外编码,用于控制机顶盒或电视机。
红外发射:通过红外模块发送预设的编码,实现远程控制功能。
硬件交互:通过数字引脚13的高低电平切换,控制UNO板载LED亮灭。
【演示视频】


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail