Pages: [1]   Go Down
Author Topic: Heart-rate measurement using Arduino  (Read 5875 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I want to make a project for measuring the heart rate from the fingertip and I also want to plot a graph over a period of time using the measurements taken. I have an Arduino Duemilanove and I am interested in what other components should I buy for the project. I know that I need an IR sensor which would send the light to the fingertip and the fingertip would reflect back to the detector but I don't really know how to connect this IR sensor to the Arduino.

I don't what to connect it to a LCD screen or something, I will just make a program on Mac and connect the Arduino to the PC.

Thanks!
Logged

Croatia
Offline Offline
God Member
*****
Karma: 13
Posts: 511
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How will the IR sensor detect a heart beat?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The oxygenated blood will reflect the light back to the detector and there's a correlation between the heart rate and oxygenated blood.
Logged

Croatia
Offline Offline
God Member
*****
Karma: 13
Posts: 511
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

And skin won't?
You think you can detect the change of oxygen level?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The idea is that when your heart beats you have a quick rush of blood into tiny blood vessels close to your skin which makes it less transparent. This effect is easiest to observe on your finger tips or earlobe. So the IR emitter and phototransistor are placed next to each other (not much light goes through the side of the emitter!) and I put my finger on top. Light from the IR emitter illuminates my skin and is reflected
Logged

Offline Offline
Full Member
***
Karma: 5
Posts: 113
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Have you checked this site (go to root before searching) or googled?
Logged

For whom does the clock pulse? It pulses for you!

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, but I did not really find informations about how should I connect the IR sensor to the arduino.
Logged

Topsham, Vermont USA
Offline Offline
Edison Member
*
Karma: 33
Posts: 1926
... in The Woods In Vermont
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

This is similar, but shows a 0ne-piece module with IR LED and IR detector.  
http://arduino-info.wikispaces.com/Opto-Switch

You probably want a separate IR LED and IR Phototransistor that you can mount in a way that fits a finger..

In the example above, you probably want to use an Analog input instead of the digital input shown. You can first sample the detector about 100 times per second and graph or examine the data to see the pulses, and then decide what levels to use for pulse detection. You probably want both an upper and lower threshold for a  property of "Hysteresis" . You might want to do more sophisticated averaging and tracking to get good pulse data even when the subject moves, parameters change etc..

I will probably source a module like this after Chinese New Year for about $5:



DISCLAIMER: Mentioned stuff from my own shop...
« Last Edit: February 14, 2013, 11:55:58 am by terryking228 » Logged

Regards, Terry King terry@yourduino.com  - Check great prices, devices and Arduino-related boards at http://YourDuino.com
HOW-TO: http://ArduinoInfo.Info

Lost Wages
Offline Offline
Full Member
***
Karma: 11
Posts: 103
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm sure no expert, but I'll add my two pence...

I have seen a number of the fingertip blood O2 / Pulse sensors, and they had the LED on one side and the receiver on the other. Thus, the IR light goes through the finger rather than reflect off of it.

Just sayin'
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 46
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thus, the IR light goes through the finger rather than reflect off of it.

That may work better though having the phototransistor on the same side should still work. I have a couple of heart rate monitors on my Android phone. You hold a finger over both the camera lens and the LED flash. The camera detects the slight brightness changes as the blood pulses through the capillaries. Works very well.
Logged

Topsham, Vermont USA
Offline Offline
Edison Member
*
Karma: 33
Posts: 1926
... in The Woods In Vermont
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@maximm , where are you located? Maybe I can send you one of these when I get them...
Logged

Regards, Terry King terry@yourduino.com  - Check great prices, devices and Arduino-related boards at http://YourDuino.com
HOW-TO: http://ArduinoInfo.Info

California
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@ maximu where you able to solve this... i am working on the same thing and I was wondering if you were willing to share your findings thank you
Logged

Sweden
Offline Offline
Full Member
***
Karma: 1
Posts: 185
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi!

Check out this site http://embedded-lab.com/blog/?p=1671 for some tips.
http://pulsesensor.com/2011/08/01/anatomy-of-the-diy-heart-rate-monitor/ has a nice guide and code. They also sell complete kits.

Don't forget to buy op-amps!

I tested the circlet from embedded-lab this weekend and it worked good.
I used 2 lm358 op-amps to amplifiy the signals. Maybe not the best op-amp but it works.

The IR-sensor was TCRT5000 (bought 60pcs for 2.7$ on ebay smiley )

/Olof
Logged

California
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@olof_n thank you so much for the information, I tried the code from pulse website but it didn't work for me, I haven't try the one from Embedded Lab but I will review it! Thank you tons!
Logged

Sweden
Offline Offline
Full Member
***
Karma: 1
Posts: 185
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

At first I did not get the code to work either because my signal was to weak.
Check your raw analog signal.

If your signal only go to say 300 you have to change some values in intrerrup.ino.

Code:
volatile int P =512;                      // used to find peak in pulse wave
volatile int T = 512;                     // used to find trough in pulse wave
volatile int thresh = 512;                // used to find instant moment of heart beat

Change 512 to your max value. I also added a third op-amp stage to get a stronger signal from the sensor.

/Olof




Logged

Pages: [1]   Go Up
Jump to: