In this instructable, I am going to show how to replicate my PIC16F628A based pulse meter project using Arduino. This project uses an Arduino Uno board, an Easy Pulse Plugin sensor, and a 4-digit SPI seven segment LED display module. It computes the heart beat rate by processing the analog pulse signal output from the Easy Pulse Plugin sensor and displays it on the seven segment display module. The heart beat rate is refreshed every ~3 sec.
Step 1: Things You Will Need
1. Arduino Uno or any other compatible board. I am using Crowduino Uno SD board for this project.
2. Easy Pulse Plugin : A pulse sensor based on Photoplethysmography principle. It directly plugs on to the left-side headers of Arduino Uno. It also works for 3.3V chipKIT platform.
3. 4-digit serial seven segment display: It is a MAX7219 based serial segment LED display that is easy to interface with Arduino using only 3 I/O pins.
4. Few male-to-female jumper cables.
Step 2: Wiring Things Together
The hardware setup of this project is pretty simple and straightforward. Here are the instructions to be followed for setting up the connections between Arduino, Easy Pulse Plugin, and the display. On Easy Pulse Plugin module, place the 2-pin shunt jumpers JP1 and JP2 to 5V and A0 positions, respectively. This configuration will allow the module to use the 5V power supply from the Arduino Uno board and connect the pulse output signal to the Arduino’s A0 ADC channel, when it is plugged in to the Arduino Uno board. Insert the fingertip pulse sensor jack to the 3.5mm stereo socket on the Easy Pulse Plugin board. Make sure it is inserted well as shown in the picture below. Then plugin the sensor module on to the left headers of the Arduino Uno board such that the A0 and A1 pins of the sensor module go into the A0 and A1 analog pins of the Arduino.
The 4-digit seven segment LED display is connected to Arduino Uno as shown in the table.
Step 3: Arduino Sketch
Load the project sketch to the Arduino board using Arduino IDE. You can download the Arduino sketch for this project from the link below. Wear the sensor on your index fingertip as shown in the picture below. Sit on a chair with your hand resting on some support. The heart rate meter will display the heart beat rate in beats per minute (bpm) on the seven segment LED module. If Arduino didn’t receive any pulse signal from the sensor, it will display ‘EEEE’ on the seven segment as an error message. Otherwise, the heart beat rate is refreshed every 3 seconds. Arduino reads in the analog PPG signal from the pulse sensor and identifies three consecutive peaks in the photoplethysmography signal using the principle of differentiation (finding maxima where the curve changes the slope from positive to negative), and the spacing (time interval) between the peaks can give the frequency of heart beat.
If you keep seeing ‘EEEE’ on display, that means that the Arduino is not receiving a good pulse signal from the sensor. You can try a couple different things like make sure the sensor jack is plugged in well and increase the gain of the instrumentation amplifier on Easy Pulse Plugin board by turning the potentiometer counter-clockwise. The algorithm to compute the heart beat is shown in the flowchart above.