马斯克的脑机接口,一块树莓派就能做出来?

2024-05-18 17:48

本文主要是介绍马斯克的脑机接口,一块树莓派就能做出来?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方“小麦大叔”,选择“置顶/星标公众号”

福利干货,第一时间送达

大家好,我是小麦。

想必大家都听说过马斯克,还有特斯拉,SpaceX以及脑机接口。

前两个太难了,但是现在只需要一块树莓派的板子,就可以做一个低配版的脑机接口?

没有开玩笑,这位俄罗斯小哥Rakhmatulin还真做出来了。

这接地气的设备只用一块树莓派板子做处理器,可以实时处理八个大脑电信号:

c13d675e7ad73de7ac5d12315f31e6f7.png

不信来看看实时信号图像:

c1c68dc16b5e871da8c264d4f52d4fbf.gif

这些有规律的波形就是大脑在进行活动时产生的电信号。

目前这个项目已经开源,成本也不高,如果想自己动手做一个脑机接口,机不可失,赶快来学一学~

项目地址https://github.com/Ildaron/EEGwithRaspberryPI

树莓派脑机接口

在制作设备之前,我们要先有一个大致的框架。

脑机接口的框架很好理解:首先从脑壳上读取生物电信号,然后传到处理器中处理,最后用输出信号控制其他设备。

b44b0625a22fda85b64980e22a849343.png

所以第一步就是要读取脑中的生物信号,为此Rakhmatulin做了一个小帽子(下图左边),上面有8个电极(下图右边)。

4c4970cc2f6443272f9250a1adc492ee.png

这8个电极的位置是依据国际10-20系统(如下图)的脑电图检测电极位置来确定的,其中首字母代表大脑不同的分区,例如F为额叶,P是顶叶,T是颞叶等:

c478fb39159b4b17adcca745e05938e4.png
图注:国际10-20系统

当大脑在进行不同的活动时,也会同时产生可以区分的电信号模式。这样这些电极就可以检测到电信号,用以进行后续的分析处理。

有了脑信号之后,接下来第二步,就是对信号的处理了。这里用树莓派第三代或者是第四代都可以,如下的电路图显示了小黄板上的电路结构:

6decfbe768ca5c44b608b04ca78c971f.png

391c13ba02ec6f980f0557b9c36d80b2.png

上图中左边10个管脚中的8个接小帽子上的8个电极,1个接参考电平,1个接偏移信号。

右边的管脚用来传输数据,采样率为每秒250次到每秒16000次。

Rakhmatulin已经在GitHub开源了实时信号检测和处理的代码。

接上电源、显示器,戴上小帽子之后,硬件部分就万事俱备了:

c05191f8328fae1ac0a11ac69c8e13ca.png
图注:硬件部分

现在我们要做的就是做一些简单的动作,让大脑产生电信号。

在测试中,Rakhmatulin采用了“咀嚼”和“眨眼”这两个动作。

每次做咀嚼动作的时候,电信号都会有一个峰值出现,为了能够从波形图上清晰地看到脑信号的变化,小哥共做了四组咀嚼动作,每组依次咀嚼4下、3下、2下、1下,形成一串峰值。

然后通过处理器记录八个电极产生的八条信号(从上至下)如下图:

7cee5ceb506693249d7f7e6e13ab5aab.png

从上图可以很明显地看出,每一次动作都有对应的电信号峰值出现,并且按照动作次数排列。

在咀嚼动作之后,小哥又做了四组眨眼的动作,每组眨眼次数也依次是4、3、2、1下。

同样地,这些电信号变化也被记录了下来(如下图)。其中前四组波动是咀嚼的电信号,后四组波动是眨眼的电信号:

8d0ea190d0532ffa66468b3c9500ef92.png

通过带通滤波器之后波形更加清晰,4、3、2、1,4、3、2、1…像是脑信号在跳广播体操:

6d0b6a03c48755ff8ba015c9912592e7.png

到这里,脑机接口的使命就已经完成了,从处理器中输出的信号可以接到其他设备上去,形成不同的指令,例如指挥机械臂,玩具车,无人机等等。

怎么样?是不是很简单?全程没有复杂的硬件设备,自己在家就可以做,有条件的可以动起手来啦~

如果实在不想动手,也可以关注小哥官网的公告,众筹活动即将上线:

ec9ff40c127511edae6b0a3544776e8a.png

作者简介

这个项目的开发者Ildar Rakhmatulin是一位电气工程师,毕业于俄罗斯南乌拉尔国立大学。

c01c1dc14550e0ab78cbf085d023d993.png

这哥们在做脑机接口之前,还用树莓派做了一个检测蚊子的处理器,还可以发射激光消灭蚊子。

最近,他还和同伴Sebastian Völkl一起经营一家公司,希望能提供给人们经济实惠的脑机接口设备。

参考链接:

[1]https://github.com/Ildaron/EEGwithRaspberryPI
[2]https://www.hackerbci.com/
[3]https://arxiv.org/abs/2201.02228

行早 发自 凹非寺
本文来自 量子位 报道 | 公众号 QbitAI

—— The End ——

往期推荐

高手常用的3个开源库,让单片机开发事半功倍

看似简单的代码,却暗藏玄机...

如何防止破解?MCU加密技术揭秘

实战总结的7个C程序,好东西不私藏

成为嵌入式高手,少不了这100多个软硬件开源项目

加入嵌入式技术交流群一起进步

点击上方名片关注我

1488b98f03b83ae2dc56dc3aa177bdbe.png

你点的每个好看,我都认真当成了喜欢

这篇关于马斯克的脑机接口,一块树莓派就能做出来?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995609

相关文章

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

树莓派启动python的实现方法

《树莓派启动python的实现方法》本文主要介绍了树莓派启动python的实现方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、RASPBerry系统设置二、使用sandroidsh连接上开发板Raspberry Pi三、运