Introduction: Pulse Sensor With Arduino Tutorial
Description
Pulse Sensor Amped is a plug-and-play heart-rate sensor for Arduino and Arduino compatibles. It can be used by students, artists, athletes, makers, and game & mobile developers who want to easily incorporate live heart-rate data into their projects. Pulse Sensor adds amplification and noise cancellation circuitry to the hardware. It's noticeably faster and easier to get reliable pulse readings. Pulse Sensor Amped works with either a 3V or 5V Arduino.
Specification
- Diameter = 0.625" (~16mm)
- Overall thickness = 0.125" (~3mm)
- Working Voltage = 3V to 5V
- Working Current = ~4mA at 5V
Step 1: Material Preparation
In this tutorial , you will need :
1. Arduino Uno Board and USB Cable.
2. Pulse Sensor Arduino
3. Jumper Wires
4. LCD
5. Potentiometer 10K
6. 2 LEDs
7. Breadboard
Step 2: Pinout Details
you can see the s, + and - on pulse sensor's back view as shown in the picture above.
- S : signal, connected to any of your microcontroller's digital pin.
- + : supply, 3V up to 5V
- - : ground
Step 3: Pin Connection
1. Connect Pulse Sensor to Arduino Uno Board as following :
- + to +5V
- - to GND
- S tO A0
2. Connect LCD to Arduino Uno Board as following :
- VSS to +5V
- VDD to GND
- RS to 12
- RW to GND
- E to D11
- D4 to D5
- D5 to D4
- D6 to D3
- D7 to D2
- A/VSS to +5V
- K/VDD to GND
3. Connect 10K Potentiometer to LCD as following (refer image for potentiometer pinout) :
- GND to GND
- Data to v0
- VCC to +5V
4. Connect LED to Arduino as following :
- LED1 (RED, blinkPin) to D13
- LED2 (GREEN, fadeRate) to D8
Step 4: Connect to Your Computer
After u have completed your circuit, connect your Arduino Uno Board to your computer via USB Cable. You can see your LCD is on.
Step 5: Library
You have to download this library before uploading the sample source code into your Arduino IDE to allow Arduino to communicate with LCD. Download the ZIP file below > Open Zip File > Extract to your Arduino Uno Library folder.
Attachments
Step 6: Sample Source Code
You may download this sample source code and open it on your Arduino IDE. Choose the correct board and port. Then, upload your Code into your Arduino Uno Board.
NOTE : DO NOT connect the Pulse Sensor to your body while your computer or arduino is being powered from the mains AC line. That goes for charging laptops and DC power supplies.
Attachments
Step 7: Serial Monitor
when you open your serial monitor, make sure you change your baud rate to 115200, it has to match to the baud rate stated in the sample source code.
Step 8: Result
After it’s done uploading, you should see LED1 (red) blink in time with your heartbeat when you place your finger on the sensor. If you grip the sensor too hard, you will squeeze all the blood out of your fingertip and there will be no signal! If you hold it too lightly, you will invite noise from movement and ambient light. So, place your finger on the sensor lightly till you get a read on the LCD or serial monitor that shows signal is already transmitted. You will be able to get the reading on both serial monitor and LCD.
Step 9: Video
This video shows how pulse sensor work by displaying the BPM value on LCD.
32 Comments
1 year ago
Please correct LCD connections. VSS should be connected to ground and VDD to +5V
Question 1 year ago on Step 2
I did this project without an lcd display; it worked. But the values that appears on the serial monitor seems to be too big otherwise it's doing ok....
2 years ago
from where we can get the code.
2 years ago
Hi,
It's been a while since this post went up.
I make Pulse Sensor www.pulsesensor.com and you bought a ripoff clone of my work. Don't trust it. Please support the original makers of Open Source Hardware and buy only legit products!
Reply 2 years ago
Hi, great work sir! Big fan of your work and totally agree with you!
Question 3 years ago on Step 5
what is the software required for this
5 years ago
Hi ! The program seems complicated. Could you please explain the logic behind converting raw sensor data to BPM?
I'm getting fluctuations in BPM (it varies from 40 to 250). Most of the times, its in the 200s. Sometimes, it comes down to 90 or 80.
What could the problem be? Please help. Thank you !
Reply 5 years ago
i have the same problem can u plz help me
Reply 4 years ago
Yeah, i have the same this problem. How to solve it? Thanks
Reply 3 years ago
Hi I have the same problem could you please tell me what's wrong if you have the solution now
Question 5 years ago on Step 3
What is the use of 'Potentiometer 10K'? can 10k resistor be used?
Answer 4 years ago
It is for the brightness/contrast of lcd
5 years ago
Why does my LCD display show black background?
Reply 4 years ago
The contrast is high for lcd.. you should lower it using potentiometer
Reply 4 years ago
The LCD is not start in the code you have to start the LCD
4 years ago
Please help me how can i get code?
4 years ago on Step 9
Please send me aurduino code of this project
Question 4 years ago
hi. what can i do to download the full code?
4 years ago
hi. can i get the code
Question 4 years ago on Step 8
I tried your code, but it give me 224 bpm and around that it's not reasonable value
why that's happen?