Sunday, 25 April 2010

HRMI interfacing


Have been using the Polar HRMI device for a while now.

Advantages
Accurate beat for beat sampling of your pulse rate
The ability to be accurately sampled by the Arduino

Disadvantages
Difficult to interface into Max/MSP through conventional methods
Requires close proximity and parallel alignment to the polar strap transmitter to work reliably

The HRMI interfaces with the Arduino micro controller through I2C protocols. Theses protocols rely on code within the Arduino environment to interpret the values (including averaging and smoothing) from the HRMI module. In this context i want to use raw heart rate data and manipulate it within Max/MSP therefore i have no need to utilise the averaging sections of the HRMI board. I found it more accessible to simply tap the output from the receiver part of the module giving a raw information from the transmitter in the form of small voltage pulses whenever a heart beat is received.

Photobucket

Averaging stages within Max
Once the values were sampled through the Arduino's digital inputs I producing a patch that created a running average of the last 4 values. I did this because although the heart speeds up and slows down quite erratically on a consecutive basis, it is difficult to perceive this unless you have a while to become accustom to a particular range. Using an averaging method, the outcome exhibits a typical heart rate across, say 5 seconds, where the value meanders around a central point. When the heart is stimulated the effects are more obvious as it rises quite quickly and falls a little slower then it normally would. In the context of my heart visual this allows the viewer to see that a change has occurred, giving them time to engage with what is happening.

No comments:

Post a Comment