游戏的用户传感器数据(例如Arduino)

时间:2014-02-25 21:44:43

标签: arduino controls gesture

我正在研究我的学士论文。我想用“可穿戴”设备做一些事情来检测和识别不同类型的手势(比如手指拍摄)并使用这些手势来控制游戏(例如魔兽世界或射击游戏)。

我现在的问题是:将传感器转换后的数据放入游戏中的动作的最佳方法是什么?例如,我像指枪一样折叠我的指针手指,这转换为我选择的游戏中的拍摄键。 我需要某种DLL注入吗?还是比它更困难或更容易?

我有不同的设备可用,我也可以使用http://www.arduino.cc/,这应该会让生活变得更轻松,不是吗? 问题是我不知道这里的工作流程究竟如何。也许有人可以在这个领域发光,或者用一些链接,文件或其他东西推动我朝着正确的方向前进。

3 个答案:

答案 0 :(得分:2)

在Windows和Mac中,您只需使用AAC Keys即可转换串行输入,例如从Arduino,到按键。当识别出某个手势时,Arduino会将相应的字符打印到串行连接。缺点是你不能按住键,只能按下它们。

答案 1 :(得分:1)

  

我是否需要某种DLL-Injection或者它比这更困难或更容易?

更容易。

非常简单:有些Arduino可以像USB键盘一样动作。传感器将解释手势并生成适当的击键。

比DLL更容易:如果您为Arduino添加蓝牙防护罩,您可以更换蓝牙控制器。这些动作再次转换为您通过蓝牙链接传输的代码。

答案 2 :(得分:0)

正如jdr5cr所说:“真的很容易”

使用Arduino Leonardo(它充当键盘和鼠标)并使用函数Mouse.begin()resp。 Keyboard.begin()

通过这种方式,您可以选择多种选择。

发送按键:(将“w”发送给USB)

Keyboard.press('w');
delay(50);
Keyboad.releaseAll();

使用修饰符发送按键:(将“W”发送到USB)

Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press('w');
delay(50);
Keyboad.releaseAll();

使用修饰符发送更多按键:(将“WOOT”发送到USB)

Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press('w');
delay(50);
Keyboard.release('w')
Keyboard.press('o');
delay(50);
Keyboard.release('o')
Keyboard.press('o');
delay(50);
Keyboard.release('o')
Keyboard.press('t');
delay(50);
Keyboard.release('t')
delay(50);
Keyboad.releaseAll();

有关使用Arduino的键盘和鼠标的更多信息,请访问: http://arduino.cc/en/Reference/MouseKeyboard