回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【看见未来】隔空控物 简单

头像 kylinpoet 2020.07.31 624 0

步骤1 项目介绍:

《少数派报告》中汤姆·克鲁斯隔空拖曳屏幕的场景历历在目,以及众多科幻电影的隔空孔物频有出现,让我甚是向往,借着这次机会,也来感受下这种感觉。

PS:好像这个场景很受大家喜欢,论坛上有多篇文章介绍类似的效果。不过本人准备换种方式,不用手势传感器,直接用二哈的物品分类功能,自动识别不同手势效果。


project-image

步骤2 功能介绍:

为了方便演示,这里主要采用二哈识别不同方向的手势来进行PPT上下翻页的效果。因为PPT的演示是最常见和最实用的功能,因此用它来作POC是很合适的。当然因为时间关系,简化了很多功能只加入两种手势。

步骤3 作品演示:

步骤4 制作过程:

装备比较简单,主要是以下几个,


材料清单

  • Gravity: 二哈识图(HuskyLens)AI 视觉传感器 X1 链接
  • 掌控板2.0编程入门学习主控板 含microUSB转TypeC两用线 X1 链接
  • micro:bit掌控I/O扩展板 X1 链接
  • 安装了python的电脑 X1

刷入掌控板的代码:

project-image

为了能控制电脑的键盘操作,这里用了python代码,通过串口进行通讯。原理很简单,利用python的串口库读取掌控板发送的串口信息,再利用python的自动化库进行键盘操作。有代码,有真相:

project-image

步骤5 总结:

没想到暑假比平时还忙,时间有点赶,暂时先做个简单的概念模型。实际上,本项目也可以用mind+的人体识别来进行,还可以进行很多的操作。如不同手型、手部的不同位置,来进行不同操作的判断。当然这是后话了。

不过,有了本地化的python,等同于有了操作电脑的root权限,后面的创意就看读者自行天马行空了。

project-image
代码
/*!
 * MindPlus
 * mpython
 *
 */
#include <MPython.h>
#include <DFRobot_HuskyLens.h>
// 创建对象
DFRobot_HuskyLens huskylens;


// 主程序开始
void setup() {
	mPython.begin();
	Serial.begin(9600);
	huskylens.beginI2CUntilSuccess();
	huskylens.writeAlgorithm(ALGORITHM_OBJECT_CLASSIFICATION);
}
void loop() {
	huskylens.request();
	if (huskylens.isAppear(2,HUSKYLENSResultBlock)) {
		display.setCursorLine(1);
		display.printLine("id2");
		Serial.println("pgup");
		delay(2000);
		display.fillInLine(1, 0);
	}
	if (huskylens.isAppear(3,HUSKYLENSResultBlock)) {
		display.setCursorLine(2);
		display.printLine("id3");
		Serial.println("pgdn");
		delay(2000);
		display.fillInLine(2, 0);
	}
}
代码
import serial
import pyautogui

pass
ser = serial.Serial(
    port='COM8',
    baudrate=9600,
    parity=serial.PARITY_ODD,
    stopbits=serial.STOPBITS_TWO,
    bytesize=serial.SEVENBITS
)
while True:
    data = ser.readline().decode().replace('\r\n', '')
    print(data)
    if data == 'pgdn':
        pyautogui.press('pgdn')
    elif data == 'pgup':
        pyautogui.press('pgup')
project-image

评论

user-avatar