Já pensou em coletar os sinais elétricos do seu cérebro de um jeito muito fácil e barato? Se sim, vai ficar muito feliz em conhecer o Mindflex :)
Mind ... o que?
Mindflex é um brinquedo que foi fabricado pela empresa Neurosky em meados de 2009. Como vocês podem ver na imagem, o jogador coloca o dispositivo na cabeça e os sinais elétricos são enviados sem fio para a plataforma.
Basicamente, o jogo consiste em se concentrar no movimento que a bolinha faz. Quanto mais se concentrar, mais alto a bolinha subirá. Enquanto isso, ela percorre os obstáculos da plataforma.
Por baixo dos panos
O fato da bolinha subir e descer com o "poder da sua mente" não é magica. Na verdade, o sensor (eletrodo) faz a leitura dos sinais transmitidos pelo seu cérebro e envia para o circuito eletrônico, realizando cálculos para determinar o seu nível de atenção e meditação. Ou seja, os seus sinais servem como entrada para o dispositivo.
Baseado nesses níveis, o cooler da plataforma (que fica sempre embaixo da bolinha) pode girar com mais ou menos velocidade.
O que importa pra gente?
Não vamos usar a plataforma do brinquedo, já que nossa intensão é apenas ler os dados. Precisaremos na verdade adaptar o capacete para conectar á um outro dispositivo que vai mostrar essa leitura para nós: o Arduíno.
O que é Arduíno
O Arduíno é uma placa eletrônica de baixo custo, open source e com capacidade de conectar outros dispositivos eletrônicos como LEDs, motores e sensores. Por isso, é muito utilizado em pequenos projetos de eletrônica e automação.
Para controlar o funcionamento desses dispositivos, enviamos um código em linguagem C/C++ para ele a partir de um cabo USB conectado de um computador ou Raspberry para a placa.
Existem diversos modelos no mercado, mas o mais comum e que iremos utilizar aqui é Arduíno UNO. Inclusive, vamos precisar de mais algumas coisinhas:
O que vamos precisar:
Materiais |
Capacete com pilhas |
🔌 Placa Arduino UNO e cabo USB
🔌 Capacete Mindlfex - Manual do brinquedo
🔌 3 pilhas do tipo AAA
🔌 Ferro de solda
🔌 Solda
🔌 2x Jumpers macho-macho
🔌 Chave estrela (cerca de 1/4'')
Preparando o Mindflex
O capacete vem fechado, já que ele foi feito para se conectar com sua plataforma. Mas podemos abrir a placa facilmente e soldar alguns pontos importantes: o ponto de leitura e referencia.
📝 Abra o capacete usando uma chave estrela. Você encontrará algo como:
📝 Encontre os pontos de leitura e referencia da placa:
📝 Solde os pontos indicados com os fios que serão conectados ao Arduíno posteriormente.
📝 Para ligar o Mindflex, encaixe as pilhas e use a chave para ligar e desligar.
Preparando a IDE
Com o nosso Mindflex pronto, está na hora de preparar a placa para coletar os dados. Se você nunca usou o Arduíno, vai precisar fazer o download da IDE clicando aqui.
Se estiver usando Ubuntu, você pode abrir o terminal e rodar esse comando:
$ sudo snap install arduino
Depois de instalar, ao abri-la você vai encontrar uma interface como essa:
Primeiro, vamos precisar instalar uma lib especifica para ler dados dos capacetes na Neurosky: o Brain.
Para importar a lib no Arduíno, siga os passos:
Faça o download da lib pelo Github, gerando um arquivo
.ZIP
Pela IDE, abra
Sketch > Include Library > Add ZIP library
e selecione a pasta ZIP.De novo, acesse
Sketch > Include Library
e selecione Brain-master.
Agora, bora pro código:
#include <Brain.h>
Brain brain(Serial);
void setup() {
Serial.begin(9600);
delay(10);
}
void loop() {
if (brain.update()) {
if(brain.readSignalQuality() <= 60){
Serial.println(brain.readCSV());
}
}
}
A partir desse código, estamos importando a biblioteca Brain com #include
.
Dentro de void setup()
estamos abrindo a comunicação serial com velocidade de 9600 bits por segundo e dando um pequeno delay antes de realizar a primeira leitura. Vale lembrar, que essa parte será realizada apenas uma vez.
O que será executando o tempo todo é código dentro de void loop()
. Dentro dele, estamos chamando a função brain.update()
, que retorna true
se for possível ler os dados.
Depois, chamamos a função brain.readSignalQuality()
, que retorna a qualidade dos sinais em um intervalo de 0 á 200.
Ok, mas que sinais são esses?
A leitura do Mindflex vai retornar 11 colunas, que indicam:
Coluna | Significado |
---|---|
Qualidade do Sinal | quanto mais próxima de 0, melhor, quanto mais próxima de 200, pior. |
Atenção | retorna uma estimativa de atenção, variando de 0 (mínimo) á 100 (máximo). |
Meditação | retorna uma estimativa de meditação, variando de 0 (mínimo) á 100 (máximo). |
Os demais sinais são valores referentes aos nossos 5 tipos de ondas cerebrais, que representam resumidamente:
Onda | Significado |
---|---|
Delta | relacionada ao sono profundo sem sonhos. |
Theta | relacionada ao sono, reflexão e imaginação. |
Alfa Baixo | relacionada com calma e relaxamento. |
Alfa Alto | idem, com frequência mais alta. |
Beta Baixo | relacionado ao nosso estado de atenção. |
Beta Alto | idem, com frequência mais alta. |
Gama Baixo | relacionado com estados cognitivos, ou seja, quando estamos aprendendo ou memorizando algo. |
Gama Alto | idem, com frequência mais alta. |
Pelo nosso código, determinamos que se a qualidade do sinal for menor que 60, os dados serão mostrados na porta serial pela função brain.readCSV()
, retornando o valor de cada sinal separado por virgula.
Claro que o ideal seria captar somente os dados em que a qualidade fosse o mais próximo possível de 0, mas outros eletrodomésticos/dispositivos que emitem ondas eletromagnéticas podem influenciar na nossa leitura.
Para conhecer outras funções que essa lib oferece acesse a documentação
Show! Agora conecte o cabo USB na placa e depois na sua máquina. Vá em Tools > Board
para selecionar o tipo da placa (no caso, Arduíno UNO) e a porta em Tools > Port
, que pode ser algo como AMC0
, TTY
, etc (pode variar).
Conecte o Mindflex com o Arduíno da seguinte forma:
Show! Agora, vista o headset de modo que o sensor eletrodo fique em contato com a sua testa e conecte os clips em suas orelhas (eles são necessários para referenciar o sinal).
Lendo os dados
Para ver os dados, vá em Tools > Serial Portal
Pronto! Agora conseguimos ver os sinais.
Indo além:
Se ficou interessado no Mindflex e como podemos fazer coisas incríveis com ele, sugiro que de uma olhada nesses materiais:
📚 Monografia de graduação da Tamires dos Santos, atualmente estudante de Mestrado da Universidade Federal do ABC e desenvolvedora de IHR
📚 Minha monografia usando o Mindflex, com foco em automatizar os processos de coleta, tratamento e treinamento da RNA para os dados
📚 Monografia sobre sistema de neurofeedback para análise de nível de concentração
📚 Artigo sobre o uso de ondas cerebrais para o controle de componentes eletrônicos.
Top comments (0)