如何使用通过OpenBCI硬件和OpenBCI GUI流式传输的EMG数据来控制Hexbug的动作

电子说

1.4w人已加入

描述

步骤1:将跨接电缆焊接到控制器

控制器

控制器

控制器

1.1卸下控制器盖

通过将平头螺丝刀或其他工具楔入控制器的四个锁定卡舌中,撬开透明的塑料外壳。抓住滑动通道切换器和外壳本身。所有其他按钮都可以丢弃。

卸下粘贴的按钮并丢弃。另外,解焊“开火”按钮并丢弃。

1.2 跨接电缆上的焊接

然后分别焊接的公-公跳线连接到较小的内部圆圈,其中向前,向后,向左和向右按钮位于其中。还要焊接到拆下的消防电缆的连接,其接地引脚在其左侧。

1.3更换控制器的盖子

使用剪刀或美工刀,从透明的塑料盖上切下会干扰跨接电缆位置的碎片,然后将其重新安装到控制器上,并保持通道开关就位。

我们重复使用盖子,以使滑动通道切换器有效地与板上的导电贴片接触。

步骤2:创建面包板设置并连接控制器

控制器

控制器

控制器

重新创建设置,如上所示。

说明:

2.1将控制器引脚放置在面包板上

每个命令将位于其自己的行中。将每个销钉放在面包板内部的单独一行中。从上到下,这些命令的顺序应为右,左,前进,开火。

2.2添加电阻器

在插入这些引脚之后,添加一个10KΩ电阻器,将面包板的两侧桥接起来。这样可以纠正流到每个引脚的电流量,从而使错误可以正常工作。

2.3添加错误检查LED

出于可视化目的,在这一点上,我们还可以添加一个LED。 LED的阳极应与控制引脚和电阻器对齐,而阴极应位于面包板的另一条线上。将另一个电阻从阴极线连接到面包板的接地。请注意,此步骤是可选步骤,但可以帮助解决电路中的任何错误。

2.4将设置连接到Arduino

最后,添加另一根跳线将每一行连接到Arduino引脚。重要的是,它们的对应关系如下:

3-射击

4-转发

5-左

6-右

步骤3 :使用流式合成数据进行测试

控制器

控制器

3.1将示例代码上传到开发板

下载后我们提供的代码,在Arduino中打开。将开发板连接到笔记本电脑,并确保从工具下拉列表中将其选择为端口。

然后,将您的代码上传到Arduino开发板。

3.2开放式综合流

8个通道在此示例中可以正常工作。单击“启动系统”继续。

打开GUI后,关闭6-8通道。

3.3设置网络小部件

使用串行模式打开并设置网络小部件,如图所示。我们希望数据类型为“ EMG”。

另外,请注意,我们Arduino草图中的波特率为57600,因此我们从Baud下拉列表中选择57600。

请确保为Arduino选择正确的端口。这是我们用于将草图上传到Arduino的端口。如果使用的是Mac/Linux,则应将其标记为“ usbmodem”,与标有“ usbserial”的OpenBCI板不同。

一旦确认所有信息正确,请按开始!/p》

3.4运行测试

由于综合数据难以控制,因此请调整EMG小部件中的设置,直到方差足够大以通过阈值为止代码中枚举的值。如果这还不够的话,您可能需要更改代码中的阈值并重新上传到您的电路板上。

它可能还有助于一次关闭除一个通道之外的所有通道,并逐个测试每个命令,以确保它们都按照预期的方式工作。确认一切正常后,就可以继续使用真实数据。

步骤4:设置OpenBCI板和电极

控制器

控制器

这可以采取两个方向:一个人控制所有5条命令,或者多人控制每个命令。

选项A:一个人可以控制所有五个命令

只需按照此处的OpenBCI文档中的EMG安装指南中的说明进行操作。

选项B:多人控制不同的命令

遵循OpenBCI网站上的EMG设置教程,但要进行以下更改:必须将多个基础拼接在一起。

为此,请切掉大约3英寸的公插针线和一根母插针线的末端,并从末端去除一英寸的橡胶以露出内部的线。对尽可能多的公线重复此操作,以使每个人都有自己的地面。将这些裸露的末端拼接在一起,并将它们包含在一条热缩管中。

步骤5:连接到真实数据

控制器

控制器

现在,返回GUI主页,并根据您使用的板卡,选择LIVE(来自Cyton)或LIVE(来自Ganglion)作为数据源。

从这里,打开EMG Widget和Networking Widget,并完全像以前一样开始流式传输。现在,数据应该来自实时输入!

第6步:战斗!

现在一切就绪,您就可以战斗了。如果已经创建了两个设置,则可以使用控件进行战斗。

请注意,应该一次打开一个机器人,以确保从两个唯一的来源收集信号。

每个hexbug都有3个生命,当这些生命都过去之后,只需按电源按钮即可重置得分。

玩得开心,战斗起来!

步骤7:故障排除-键盘控制代码

如果您遇到任何问题电路板设置,并希望仅使用键盘输入来控制它,请下载此代码以使用内置的Arduino串行监视器来控制电路。这将使您能够隔离每个动作,并确定您遇到的问题是来自物理Arduino设置还是来自数据。
       责任编辑:wv 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分