本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」
你想用你的意念来控制物品吗?这个教程描述了如何使用脑电波驾驶遥控卡车。耳机感应我的脑电波并将它们传输到一台小型计算机。当我提高注意力或眨眼时,计算机会转换信号并将它们传递到我已连接到计算机的卡车遥控器。当我集中注意力时,车轮就会旋转。单眼强烈眨眼使小车左转。强烈的双眨眼会右转。
该项目中使用的耳机是NeuroSky MindWave Mobile 2,电脑是Arduino Uno微控制器,蓝牙模块是HC-05。
实际应用
一些开发人员已经应用这些想法来帮助瘫痪的人。例如,驾驶轮椅、家庭设备自动化或在屏幕上选择字母和单词以在屏幕上或通过语音进行交流。他们的项目可以在 YouTube 上找到。
项目的主要步骤
这个项目有5个主要步骤:
如果您不熟悉这些设备,以下链接可能有用:
控制机器人车辆的方法
在开始我的项目之前,我在互联网上搜索了 NeuroSky 项目,找出开发人员选择使用的脑电波信号。许多项目只使用了注意力和冥想级别,还有一些还使用了眨眼。对于我的项目,我决定使用注意力级别来控制前进和停止,单次闪烁向左或双闪烁向右。
有一个项目使用了一种非常不同的方法:当用户眨眼时,软件开始向前、向后、向左、向右循环各 2 秒。如果用户眨了两下眼睛,那么车辆会在那个瞬间朝着循环所在的任何方向行驶。这种方法提供了很大的灵活性,但速度可能很慢。例如,如果用户向右转,他们将在大约 6 秒内无法向左转,
将 NeuroSky MindWave Mobile 2 连接到 Arduino 的方法
一些开发人员通过蓝牙将他们的 NeuroSky MindWave Mobile 直接连接到 Arduino 板,这种方法比下一种方法更容易,但检测眨眼所需的时间稍长(略多于 1 秒)。
其他开发人员通过计算机或智能手机对信号进行实时预处理,然后再将数据发送到 Arduino。这允许进行更复杂的分析或处理,并且可以更快地检测到眨眼(大约半秒)。NeuroSky 在这个网站上有关于这种方法的教程,适用于 PC Windows、Apple Mac OSX、Android 和 IOS:我决定不使用这种方法,因为它需要学习如何在计算机或智能手机上对软件进行编程。
如何训练注意力水平
最大化注意力水平的方法因人而异。以下是一些建议:
眨眼监测
强烈的眨眼才能被检测到,正常的眨眼会被忽略。
头部应保持不动,以避免错误的眨眼检测。该项目中检测眨眼的方法包括检查从耳机接收的信号的质量。强烈的眨眼会移动前额上的皮肤,从而降低信号质量,这被解释为眨眼。如果头部移动,耳机的传感器可能会轻微移动,从而降低信号质量,这将被识别为眨眼。
电子零件
第 1 步:将 HC-05 连接到 Arduino,对其进行配置和配对
有关详细信息,请查看我之前的教程之一中的第 1 步和第 2 步:
第 2 步:将舵机连接到遥控器
有两种方法可以将 Arduino 连接到卡车的遥控器:
遥控器可能会被破解如下:移除或绕过由控件推动的开关,然后将 Arduino 连接到控制器的电路板,并对 Arduino 进行编程,以在正确的电线上施加电压。我遥控器中的开关太小了,我觉得尝试将新电线焊接到电路板上的适当位置太棘手了。如果我犯了一个小错误,董事会可能会毁了。
我使用伺服器来移动控件。将伺服系统连接到遥控器被证明是一个“有趣”的挑战。
幸运的是,有一个大小合适的小塑料盒,经过一些切割和安装后,可以将伺服系统连接到卡车的遥控器上。尺寸为 2-56 的螺母和螺栓将盒子的各个部分固定在一起。两个螺丝将盒子固定到遥控器上。
左/右控制的伺服臂在末端有一个小凹口,给它一些摆动空间。伺服臂的中心不太可能与控制器的中心完全对齐。固定该臂末端的螺钉需要稍微松动。
为了连接左/右舵机,我使用了 2-56 号螺母和螺栓,并且不得不稍微扩大舵机上的螺栓孔。实芯线将 Go/Stop 伺服器固定到位。
第 3 步:连接 Arduino
电路如图所示,描述如下:
第 4 步:Arduino 代码
代码有以下主要功能:
从 MindWave 耳机读取数据。
当注意力大于 70 时打开绿色 LED 并移动 Go/Stop 伺服臂以推动 Go/Stop 触发器。
当注意力小于 70 时关闭绿色 LED,并将 Go/Stop 伺服臂移回中点。
当检测到闪烁时打开黄色 LED 并将闪烁信号设置为 1。
1.2 秒后检查第二次闪烁。
如果是单次闪烁,将左/右舵机臂向“左”移动 2 秒钟,然后将其转回,并关闭黄色 LED。
如果是双闪,打开红色LED,关闭黄色LED,将左/右舵机臂向“右”移动2秒,然后将其转回来,然后关闭红色LED。
在每个主要步骤中,在计算机的串行监视器中显示数据。
Arduino (代码)可以从位于此步骤的 Truck.ino 文件点击下载。(在编写这些指令时,instructables 系统有时会删除位于代码开头的部分 #include 语句。第一个应该是 #include 后跟左箭头 < 后跟 Servo.h 后跟右箭头 > 和第二个应该是 #include 后跟左箭头 < 后跟 Mindwave.h 后跟右箭头 >)。
草图使用必须在运行代码之前安装的特殊库。可从以下网站获得:该网站还包含安装库的说明和示例。
这个项目可以在不使用库的情况下完成,但代码会更复杂。用于从耳机读取数据、提取注意力级别和检查信号质量的代码在本网站包含的示例代码中:http://developer.neurosky.com/docs/doku.php?id=mindwave_mobile_and_arduino
代码应该可以成功编译,但值得注意的是可能会为 MindWave.cpp 库显示一条警告消息。
第 5 步:上传 Arduino 代码并运行
将代码上传到 Arduino 后,它可以使用单独的电源,而不是通过 USB 连接到计算机。唯一的区别是没有串行监视器来显示数据。步骤如下:
重要提醒
基于Arduino的温控风扇
2021-07-06
如何将超声波传感器与 Arduino 连接
2021-07-02
基于esp8266的便携式无线PM2.5检测电路设计
2020-02-07
基于MEMS的惯性测量装置 (IMU) 检测电路设计
2020-02-06
硬实力,游戏机自己做,十个经典游戏机方案合集
2020-08-24
如何将按钮与 Arduino 连接起?
2021-07-13
基于树莓派和Arduino打造的PLC EtherCAT电路设计
2020-02-25
《来实战》之多功能智能小车开源项目01期:一起来开源吧!(含项目介绍先导片)
2020-03-05
入门指南:TFT彩色显示屏,带Arduino和ESP8266
2020-04-23
Arduino最小系统板设计PCB板及原理图
2020-01-17
讨论