14浏览
查看: 14|回复: 0

二哈2:隔空一发!——“克赛号人间大炮”体感发射器

[复制链接]
本帖最后由 云天 于 2025-9-28 21:02 编辑

【项目缘起】
       今年9月的二哈识图2发布会上,官方只动了动手指,就隔空模拟了一把“愤怒的小鸟”游戏——这“无接触操控”实在上头。  

【项目设计】
      于是我把手边的行空板K10+HuskyLens 2组合起来,复刻一个“童年回忆杀”:
二哈2:隔空一发!——“克赛号人间大炮”体感发射器图13  

       **拇指-食指一捏,克赛号蓄能;手掌一张,人间大炮发射!**  
       Mind+实时模式图形化编程,10分钟就能搭完,正好适合给入门同学当“AI+IoT”第一课。

二哈2:隔空一发!——“克赛号人间大炮”体感发射器图9

【硬件清单】
       行空板K10

        HuskyLens 2



【软件准备】
       1. Mind+ 2.0→ 切换“实时模式” → 扩展 →  
       主控:行空板K10  
       传感器:HuskyLens2(AI视觉)  
       网络:MQTT(SIOT)  
二哈2:隔空一发!——“克赛号人间大炮”体感发射器图6

二哈2:隔空一发!——“克赛号人间大炮”体感发射器图5

二哈2:隔空一发!——“克赛号人间大炮”体感发射器图7
       2. 电脑端运行SIOT,记录IP,默认账号siot / dfrobot。

二哈2:隔空一发!——“克赛号人间大炮”体感发射器图8
【核心算法】

1. **“捏”与“张”判定**  
   利用HuskyLens2返回的“手势关键点”数组:  
   x1 = 母指指尖x坐标  
   y1 = 母指指尖y坐标  
   x2 = 食指指尖x坐标  
   y2 = 食指指尖y坐标
   计算欧氏距离  
   ```
   d = √[(x1-x2)²+(y1-y2)²]
   ```
   经验阈值:d < 30 视为“捏(闭合)”,d ≥ 30 视为“张(张开)”。

2. **防抖 & 状态上报**  
   只在状态翻转时发送一次MQTT:  
   捏 → 发布“a”到主题 **df/bird**  
   张 → 发布“b”到主题 **df/bird**

【行空板K10主控流程】
二哈2:隔空一发!——“克赛号人间大炮”体感发射器图4
1. 初始化  
   - 连接Wi-Fi  
   - MQTT(SIOT_IP,siot/dfrobot)  
   - HuskyLens2 I²C握手 → 切到“手势识别”算法  
2. 主循环  
   - 请求手势数据  
   - 调用自定义积木“母食指距离”计算d  
   - 状态翻转检测 → MQTT发布a/b  
   - RGB灯带随状态变色(捏=红,张=绿)

【Mind+实时模式】
克赛号角色
二哈2:隔空一发!——“克赛号人间大炮”体感发射器图1
1. 连接同一SIOT → 订阅 **df/bird**  
2. 收到“a”  
       播放“蓄力”音效bj2  
       变量【加力】开始递增  
       屏幕出现“人间大炮一级准备!”字幕  
3. 收到“b”  
       播放“发射”音效bj3  
       角色向上冲刺+背景漩涡特效  
       变量【得分】+1  
       清空蓄力值,等待下一次指令

子弹角色程序
二哈2:隔空一发!——“克赛号人间大炮”体感发射器图2
       这段子弹程序通过“发射标识”切换两种状态:发射前在右侧绘制预览弹道、蓄力调整初速度,发射后从左侧射出真实子弹、模拟重力抛物线飞行,并在击中目标后触发得分、音效与状态重置,实现了一套完整的“瞄准-发射-命中反馈”机制。
       轨迹算法是典型的**“重力抛物线模拟”**:
  • 每帧在 X 方向做匀速增量(VX 不变)
  • 在 Y 方向先叠加当前 VY,再对 VY 做恒定重力增量(VY ← VY + g,g 隐式为 1 单位/帧²)
       即:
       X(t+1) = X(t) + VX
       Y(t+1) = Y(t) + VY(t)
       VY(t+1) = VY(t) + g
       由此生成一条开口向下的二次抛物线;初速度 (VX, VY) 由“加力”变量线性放大,实现蓄力越远、射程越高的可控弹道。
怪物角色程序
二哈2:隔空一发!——“克赛号人间大炮”体感发射器图3
被击中的反馈
  • 如果碰到“Ball”(子弹),立即给自己加 200 漩涡 + 100 颜色特效,持续 3 秒
  • 3 秒后再把特效清零,恢复常态
【硬件搭建】
二哈2:隔空一发!——“克赛号人间大炮”体感发射器图12


二哈2:隔空一发!——“克赛号人间大炮”体感发射器图11


二哈2:隔空一发!——“克赛号人间大炮”体感发射器图10

【效果演示】

【后续可玩方向】
       把“距离”映射成无级调速,捏得越小,蓄力越快。  
       增加人体骨骼识别,用左手控制方向,右手控制发射,实现真正的“体感版坦克大战”。  





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

本版积分规则

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

硬件清单

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

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

mail