Site icon Circuit Ideas for You

Arduino Based Pulse Monitoring Circuit

This project show how to make a simple Arduino Based Pulse Monitoring Circuit, as it uses Arduino Nano, pulse sensor, OLED display, buzzer, an LED; also the system reads heartbeat from finger sensor.

Then Arduino calculate pulse per minute and OLED show result; after that LED and buzzer give alert when pulse go high or low.

Also, circuit is simple and with low power and is good for beginners and students.

Arduino Code:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 display(128, 64, &Wire);

int pulsePin = A0;
int ledPin = 7;
int buzzerPin = 8;

int signal;
int threshold = 550;
boolean pulse = false;
unsigned long lastBeat = 0;
int bpm = 0;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.display();
}

void loop() {
signal = analogRead(pulsePin);

if (signal > threshold && pulse == false) {
pulse = true;
unsigned long nowTime = millis();
unsigned long gap = nowTime - lastBeat;
lastBeat = nowTime;
if (gap > 0 && gap < 2000) {
bpm = 60000 / gap;
}
}

if (signal < threshold) {
pulse = false;
}

display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.print("BPM:");
display.print(bpm);
display.display();

if (bpm > 100 || bpm < 50) {
digitalWrite(ledPin, HIGH);
digitalWrite(buzzerPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
digitalWrite(buzzerPin, LOW);
}

delay(20);
}

Coding Explanation:

Circuit Working:

Arduino Based Pulse Monitoring Circuit Diagram

Parts List:

ComponentsQuantity
Resistor 220Ω 1/4 watt1
Arduino Nano1
Pulse Sensor Module1
OLED Screen 13061
LED any1
SPST switch On Off 1
Buzzer1
9V Battery1

In this circuit pulse sensor give small voltage change when heart beat and then Arduino read this change at analog pin.

After that, Arduino measure time gap between peaks and from this time gap Arduino calculate beats per minute.

Now OLED show live BPM(Beats Per Minute) and when BPM cross set value, LED turn ON and buzzer beeps; then the resistor R1 limits the current and keeps the LED safe.

When BPM is normal again both turn OFF and a switch in the circuit makes it easier to turn the whole project ON and OFF.

Finally, a 9V battery give portable power to the Arduino and the whole pulse monitoring circuit.

Formula with Calculation:

The following formula, commonly used in Arduino pulse sensor projects.

BPM formula:

BPM = 60000 / time_between_beats_in_milliseconds

Example:

If time between beats = 750 ms

BPM = 60000 / 750

BPM = 80

80 BPM is normal heart rate, not too high and not too low.

How to Build:

To build a Arduino Based Pulse Monitoring Circuit follow the connection steps below:

Conclusion:

Overall, this Arduino Based Pulse Monitoring Circuit costs very little and is easy to build, as it works well for school projects and hobby applications, although it is not a medical device.

Using Arduino make code easy to change and if required we can add Bluetooth or SD card later, as it is simple and work fine for learning heartbeat sensing.

Exit mobile version