步骤1 项目介绍:
《少数派报告》中汤姆·克鲁斯隔空拖曳屏幕的场景历历在目,以及众多科幻电影的隔空孔物频有出现,让我甚是向往,借着这次机会,也来感受下这种感觉。
PS:好像这个场景很受大家喜欢,论坛上有多篇文章介绍类似的效果。不过本人准备换种方式,不用手势传感器,直接用二哈的物品分类功能,自动识别不同手势效果。
步骤2 功能介绍:
为了方便演示,这里主要采用二哈识别不同方向的手势来进行PPT上下翻页的效果。因为PPT的演示是最常见和最实用的功能,因此用它来作POC是很合适的。当然因为时间关系,简化了很多功能只加入两种手势。
步骤3 作品演示:
步骤4 制作过程:
装备比较简单,主要是以下几个,
刷入掌控板的代码:
为了能控制电脑的键盘操作,这里用了python代码,通过串口进行通讯。原理很简单,利用python的串口库读取掌控板发送的串口信息,再利用python的自动化库进行键盘操作。有代码,有真相:
步骤5 总结:
没想到暑假比平时还忙,时间有点赶,暂时先做个简单的概念模型。实际上,本项目也可以用mind+的人体识别来进行,还可以进行很多的操作。如不同手型、手部的不同位置,来进行不同操作的判断。当然这是后话了。
不过,有了本地化的python,等同于有了操作电脑的root权限,后面的创意就看读者自行天马行空了。
代码
/*!
* 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')
评论