MIDTERM: PULSING EFFECTS

Addressing issues from last week’s prototypes and progress:

The Polar Heart monitor would not work with the interface board. There was some interference with the Bluetooth module, I replaced the band and all has been resolved. The components used were the Polar Monitor Interface Board, Arduino Uno Rev 3, and the Polar Heart Monitor T31C band.

Screen Shot 2014-10-17 at 4.12.19 PMScreen Shot 2014-10-22 at 2.04.48 PM

The same setup has been used as in last weeks prototype. The connections from the interface board to the Arduino were simple enough. 5V, GND to the corresponding Arduino pins. The the SDA (Data) and SCL (Clock) lines are linked to through pins 4, 5 as seen in the diagram below.

Next we need to set the board up to transmit data. I2C is a 2-wire serial connection that allows for this data to be taken using only the SDA and SCL inputs. In order to set this type of connection up we need to adjust the solder jumpers on the board. This first is the SJ1, to the right of the 5V pin. Using a solder sucker I removed the solder from there, making sure the two parts were no longer connected. Next I sodered the pads labeled OP0 pads together.

IMG_6206.Screen Shot 2014-10-17 at 3.55.20 PMIMG_6204

All iterations use the same Arduino code. Build with the help of both the Sparkfun website, Arduino code can be found here. Instead of using processing, I chose to work in openFrameworks.

Receiving Data in OF: In order to receive data from the arduino we need to set up the same serial connection as we do in processing, but in of we put the list into a vector. We also will list the connection speed (baud) as an int, making it easily modified.  It reads like this (in the set-up loop):

//list my serial devices…
serial.listDevices();
vector <ofSerialDeviceInfo> deviceList = serial.getDeviceList();

//define feedback speed from arduino and connect to my port
int baud = 9600;

There are two ways we can open the connection. The simplest is to just automatically open the first device:
serial.setup(0, baud);//open the first device

On a MAC you may need to set it up specifically like so:
serial.setup(“/dev/tty.usbmodem1411”, baud); // mac osx example

Using the line ofxGetSerialString(serial,’\n’); retrieves the data until the end of line is reached.  To parse data, the string of data is split by comas and put converted into an integer. This basic program can be found here.

In my attempts to alter my code for the waves to move differently failed. The alterations modified the wave in ways I did not want to. As I began to stress about this I felt and saw my pulse in my eyes. This lead me to explore an alternate application to replace the waves. Using the Open Frameworks method explained above I began to recreate my experience in the iterations below

Open Frameworks Exploration 1: Pulsing Dot Matrix Video

In this iteration as your pulse rate rises the video capture becomes brighter. The movement of the dot matrix pattern is meant to symbolize the sight you have before fainting. The code can be found here.

 

Open Frameworks Exploration 2: Pulsing Blur

In this iteration as your pulse rate rises the blurrier the video capture becomes. This is done by triggering a change in the blur amount/iterations in the code. The blur effect was created using the OF tutorial. The code can be found here.

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s