Posts Tagged ‘MentalBlock’

Mental Block at DorkBot NYC

Tuesday, August 10th, 2010

Last March, Eric, Sofy and I were invited to present Mental Block at DorkBot NYC.

dorkbot-nyc, 03 March 2010 — Eric Mika, Arturo Vidich, Sofy Yuditskaya: Mental Block from dorkbot on Vimeo.

Mental Block– tha code

Wednesday, December 30th, 2009

Below is the code that was uploaded to each Arduino in each headset. Kudos to Eric for the noble task of commenting. It’s easier to read if you copy/paste into the Arduino IDE or another IDE like Eclipse.

Or you can just download the zipped file available right below.

ZIP!

MentalBlockCode

// MENTAL BLOCK
// Parses packets from a Neurosky chip to collect EEG-derrived
// “attention” and “medidation” values.
// Uses these values to set the position of a polarized disk mounted
// on a servo.

#include <SoftwareServo.h>
#include <NewSoftSerial.h>

// Give the headset an ID. Useful for debugging over serial.
int id = 1;

// Set up the polarizer disk servo.
// Using the SoftwareServo library because I suspected the
// built-in library was conflicting with the NewSoftSerial
// library.
SoftwareServo servo;
int currentPos = 45; // Start halfway between the 0 – 90 degrees we care about.
int targetPos = 45; // The target tells the servo where it should move towards.
int servoPin = 9;
unsigned long lastMovement = 0; // Track time so we can move the servo at regular intervals without delay().

// Set up the simulator for brainless testing.
unsigned long lastSimulatedPacket = 0;

// NeuroSky Parser and Serial Communication.
(more…)

Mental Block– documentation

Tuesday, December 29th, 2009

(all this and more is available at http://mentalblock.net)

Mental Block system schematic

(Eric Mika has a ton of great documentation for this project on his blog, Frontier Nerds)

Eric came up with a great idea for how to make a variable detent potentiometer using a regular pot and a vibrating motor. When the pot is adjusted to a specific interval, the motor vibrates for a moment letting you know you’ve reached the first, second, third, etc, interval.

Here’s Sofy’s Pure Data patch that mirrors binaural beats– it was really too bad we couldn’t get the radios to work.

Here’s what we came up with, in action:

A fun video of that stuff getting cut out on the laser:

From Brain Radio to Mental Block: A History

Tuesday, December 29th, 2009

(All this and more is available for perusal at http://mentalblock.net)

(This Flickr feed has the A-Z photo documentation for the process)

The project began with an interest in using EEG equipment to control media. There are two consumer level EEG hookups on the market, the MindFlex and the Star Wars Force Trainer. Both use chips from NeuroSky. The MindFlex only let us listen to LED states, whereas the Force Trainer gave us direct serial data. Wonderful. Here’s us playing with the Mindflex, and then hacking the Force Trainer.

After some playing around we settled on listening to people’s brainwaves made audible, and broadcasting your own. It was called Brain Radio. In the original scenario, a wearer would put on a brain-reading headset to start broadcasting brain state over the air. The wearer could tune into sounds generated by other headset-wearers via a dial. Brain Radio sought to create a kind of perceived telekinesis, in which your thoughts — alpha and beta waves reduced to “attention” and “meditation” by the EEG headsets we hacked — supply the source for sounds broadcast to any other headset-wearers who chose to tune in. The sound is designed to reflect and represent on the broadcaster’s state of mind. However, who, exactly, you’ve tuned into is unknown. Instead, it’s left up (more…)