概述
本项目的目的是为了仅利用眼球运动控制任天堂游戏机。因此,需要使用称之为眼动电图描记法(EOG)的技术读取眼睛位置,并且通过与NES标准协议接口,模拟游戏控制器。为了实现这两个任务要求的多样性,选择National Instruments的 Singleboard RIO作为系统控制器。
系统概述
位于脸上眼睛周围的电极把较小的电信号输入至在NI Singleboard RIO 子卡上定制的隔离模拟输入电路。所有处理过程在NI Singleboard RIO上完成并且信息以数字形式回传至控制任天堂游戏机的子卡上。
电极
电极用于探测出现在眼睛内的非常小的电信号。滑铁卢实验室(Waterloo Labs)团队使用Ambu Blue Sensor N 湿式电极。通过使用湿式电极,导电材料被用于减低皮肤的电阻并且提高导电性。
这些电极按照菱形图案放置在眼睛的周围,使用眼动电图描记法(EOG)检测眼睛当前位置。通过获取水平电极和垂直电极之间的电压差,确定眼睛的位置。另外,把接地参考电极放置在颈部,用于过滤掉所有与眼睛位置无关的基本生物电活动。
隔离电路
如上所述,使用湿式电极降低皮肤的自然电阻,提高导电性。不幸的是,这在改进测量的同时,也会削弱人体对外部电击,如测量电路的浪涌的防御力。为了防止测试对象遭受可能出现的致命电击,所以使用隔离电路。
NI Singleboard RIO
在信息通过隔离模拟输入电路被数字化之后,信息会传递给NI Singleboard RIO,以供分析。RIO上的FPGA最初会获取信息,然后通过DMA转移至内置实时控制器(Real Time Controller)进行处理。
然后,把水平和垂直眼睛位置信号与预置阈值做比较。如果测量的信号超过阈值,会触发控制器指令并且送回至子卡,以控制任天堂游戏机。例如,如果测试对象明显看向左边,与左边按下的按钮对应的数字线路会起作用并且分配给子卡,从而传送到游戏机。
任天堂
任天堂控制器基本上是一个串行连接8条数据线的移位寄存器,每条数据线都与控制器上的一个按钮对应。所有这些都通过往返任天堂游戏机的信号(例如锁存器和时钟信号)完成。通过在子卡上进行重新构建并且用数字线路替代控制器按钮,团队可以成功控制任天堂游戏机。
更多资源
开发者园地教程:eyeMario EOG设计概述
开发者园地教程:通过“eyeMario”视频了解对任天堂游戏机的控制
NI 社区:eyeMario应用码
NI Single-Board RIO