Heart rate, body temperature and blood pressure monitoring are very important parameters of human body. Doctors use various kind of medical apparatus like thermometer for checking fever or body temperature, BP monitor for blood pressure measurement and heart rate monitor for heart rate measurement. In this project, we have built an Arduino based heartbeat monitor which counts the number of heartbeats in a minute. Here we have used a heartbeat sensor module which senses the heartbeat upon putting a finger on the sensor.

### Components

1. Arduino
2. Heart Beat sensor module
3. 16x2 LCD
4. Push button
6. Power
7. Connecting wires

### Working of Heartbeat Monitor Project

Working of this project is quite easy but a little calculation for calculating heart rate is required. There are several methods for calculating heart rate, but here we have read only five pulses. Then we have calculated total heart beat in a minute by applying the below formula:

Five_pusle_time=time2-time1;

Single_pulse_time= Five_pusle_time /5;

rate=60000/ Single_pulse_time;

where time1 is first pulse counter value

time2 is list pulse counter value

rate is final heart rate.

When first pulse comes, we start counter by using timer counter function in arduino that is millis();. And take first pulse counter value form millis();. Then we wait for five pulses. After getting five pulses we again take counter value in time2 and then we substarct time1 from time2 to take original time taken by five pulses. And then divide this time by 5 times for getting single pulse time. Now we have time for single pulse and we can easily find the pulse in one minute, deviding 600000 ms by single pulse time.

Rate= 600000/single pulse time.

In this project we have used Heart beat sensor module to detect Heart Beat. This sensor module contains an IR pair which actually detect heart beat from blood. Heart pumps the blood in body which is called heart beat, when it happens the blood concentration in body changes. And we use this change to make a voltage or pulse electrically.

### Circuit Diagram and Explanation

Circuit of heartbeat monitor is shown below, which contains arduino uno, heart beat sensor module, reset button and LCD. Arduino controls whole the process of system like reading pulses form Heart beat sensor module, calculating heart rate and sending this data to LCD. We can set the sensitivity of this sensor module by inbuilt potentiometer placed on this module.

Heart beat sensor module’s output pin is directly connected to pin 8 of arduino. Vcc and GND are connected to Vcc and GND. A 16x2 LCD is connected with arduino in 4-bit mode. Control pin RS, RW and En are directly connected to arduino pin 12, GND and 11. And data pin D4-D7 is connected to pins 5, 4, 3 and 2 of arduino. And one push button is added for resetting reading and another is used to start the system for reading pulses. When we need to count heart rate, we press start button then arduino start counting pulses and also start counter for five seconds. This start push button is connected to pin 7 and reset push button is connected to pin 6 of arduino with respect to ground.

### Program Description

In code we have used digital read function to read output of Heart Beat sensor module and millis() fuction for calculating time and then calculate Heart Rate.

Before this we have initiazed all the components that we used in this project.

and here we have pullup the push button line by using software pullup.

Code

#include<LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int in = 8;
int Reset=6;
int start=7;
int count=0,i=0,k=0,rate=0;

unsigned long time2,time1;
unsigned long time;

byte heart[8] =
{
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};

void setup()
{
lcd.createChar(1, heart);
lcd.begin(16,2);

lcd.print("Heart Beat ");
lcd.write(1);
lcd.setCursor(0,1);
lcd.print("Monitering");
pinMode(in, INPUT);
pinMode(Reset, INPUT);
pinMode(start, INPUT);
digitalWrite(Reset, HIGH);
digitalWrite(start, HIGH);
delay(1000);
}

void loop()
{
{
k=0;
lcd.clear();
while(k<5)
{
{
if(k==0)
time1=millis();
k++;
}
}
time2=millis();
rate=time2-time1;
rate=rate/5;
rate=60000/rate;
lcd.clear();
lcd.print("Heart Beat Rate:");
lcd.setCursor(0,1);
lcd.print(rate);
lcd.print(" ");
lcd.write(1);
k=0;
rate=0;
}
{
rate=0;
lcd.clear();
lcd.print("Heart Beat Rate:");
lcd.setCursor(0,1);
lcd.write(1);
lcd.print(rate);
k=0;
}
}

Video

Subscribe below to receive most popular news, articles and DIY projects from Circuit Digest

### Related Content

• Junior
May 28, 2017

my lcd and heart beat module not working while code has been uploaded successfully
do i have to give output power too to aurdiuno?

• Fiza
May 30, 2017

Hi sir, i am getting some random values as output. Sometimes -1, 2500, 98. And can you explain the coding regarding the formula to calculate heartbeat. You can email me. Thank you sir.

Jun 10, 2017

pls give me heart beat sensor or pulse sensor library for proteus

• AISHA
Sep 21, 2017

There is no library for Proteus which could simulate a heart sensor .

• Anil Kumar Reddy A
Jul 05, 2017

Can give me the exact connections for arduino with lcd and pulse sensor?

• brhanu
Aug 12, 2017

Nice idea!! but, I couldn't get the heart beat sensor module library for Proteus. please help me how can I get this library?

• faiz
Aug 27, 2017

i need heart attack detection code. can you help me please.

• Pooja Sain
Oct 22, 2017

I m a b.tech final year student, I want to know the explanation of code with comments (//). Could you provide it ? Please i need it urgently.

• Godfrey
Nov 01, 2017

hello sir

sir could you please post me all the components and the full codes required to

to design heart beat sensor using arduino at: []. i also want to incorporate SPO2 measurements in the heart rate sensor project. how possible is it?

• santhi
Jan 19, 2018

can I have full code and I want the types of codes in heart beat sensor using arduino and IOT please...........

• Navaneetha
Jan 23, 2018

Hi,
Could anyone let me know the advantages of this project [Heartbeat Sensor using Arduino/Heart Rate Monitor] over the Heartbeat using Mobile Apps??

Also how can we determine the Accuracy of this project?

• AISHA
Jan 23, 2018

It not possible for a Mobile app to measure the heartbeat without any hardware. This hardware is made using the Arduino, which is a cost effective open-source platform. The accuracy of the project depends in the sensor used. The one used here is only for development purpose and not medically approved

• ashu
Feb 18, 2018

why are you not selling these projects in market/

• PRATHYUSHA
Feb 28, 2018

How do we get rate =60000/1pulse time

1pulse time will be in sec then the rate calculated
would be beats per sec how is it possible

• arooj azhar
Mar 09, 2018

hello sir,
i want to send the heartbeat rate(printed on my lcd) on my phone.please help me in doing so.
thank you

• JOSS
Mar 12, 2018

hi sir can i have a full code please

• AISHA
Mar 13, 2018

The full code is already given above

• Sai Supriya
Mar 13, 2018

Here when sensor is activated we can see the data in the digital format. Can we store that digital data in our pc so that data analysis can be done on the obtained data set

• narayan
Apr 26, 2018

byte heart[8] =
{
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};

what it represents