A Pulse Measuring device using Arduino is a project designed to measure and display a person's heart rate in beats per minute (BPM) using a photoplethysmography (PPG) sensor. This sensor typically works by shining light into the skin and measuring the changes in light absorption caused by blood flow, which correlates with the heartbeat.
In this project, the PPG sensor is connected to an Arduino microcontroller, which processes the sensor data to calculate the heart rate. The Arduino then displays the heart rate on a screen, such as an LCD display or through serial communication to a computer.
By interfacing with Arduino, this project can be customized and expanded to include features such as logging heart rate data over time, setting alarms for abnormal heart rates, or integrating with other health monitoring systems.
Overall, a Pulse Measuring device using Arduino offers a cost-effective and accessible solution for monitoring heart rate, making it suitable for personal health tracking, fitness applications, and medical research.
Circuit Diagram :-
Code :-
// By Arduino Techy
//
#define USE_ARDUINO_INTERRUPTS true
#include <PulseSensorPlayground.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Constants
const int PULSE_SENSOR_PIN = 0;
const int LED_PIN = 13;
const int THRESHOLD = 550;
// Create PulseSensorPlayground object
PulseSensorPlayground pulseSensor;
void setup()
{
// Initialize Serial Monitor
Serial.begin(9600);
lcd.init();
lcd.backlight();
// Configure PulseSensor
pulseSensor.analogInput(PULSE_SENSOR_PIN);
pulseSensor.blinkOnPulse(LED_PIN);
pulseSensor.setThreshold(THRESHOLD);
// Check if PulseSensor is initialized
if (pulseSensor.begin())
{
Serial.println("PulseSensor object created successfully!");
}
}
void loop()
{
lcd.setCursor(0, 0);
lcd.print("Heart Rate");
// Get the current Beats Per Minute (BPM)
int currentBPM = pulseSensor.getBeatsPerMinute();
// Check if a heartbeat is detected
if (pulseSensor.sawStartOfBeat())
{
Serial.println("♥ A HeartBeat Happened!");
Serial.print("BPM: ");
Serial.println(currentBPM);
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("BPM: ");
lcd.print(currentBPM);
}
// Add a small delay to reduce CPU usage
delay(20);
}