Pulse Sensor With Arduino Tutorial


150,086

80

26

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

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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.

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.

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.

Be the First to Share

    Recommendations

    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    26 Discussions

    None
    opadaki

    2 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 !

    3 replies
    None
    FuadZ2chanchallanghni

    Reply 9 months ago

    Yeah, i have the same this problem. How to solve it? Thanks

    None
    BaneleM2FuadZ2

    Reply 5 months ago

    Hi I have the same problem could you please tell me what's wrong if you have the solution now

    None
    citulidAAKASHT15

    Answer 10 months ago

    It is for the brightness/contrast of lcd

    None
    citulidSarvjitP

    Reply 10 months ago

    The contrast is high for lcd.. you should lower it using potentiometer

    None
    MgbonyebiSSarvjitP

    Reply 1 year ago

    The LCD is not start in the code you have to start the LCD

    None
    SafeenaS

    11 months ago

    Please help me how can i get code?

    None
    SafeenaS

    11 months ago on Step 9

    Please send me aurduino code of this project

    None
    Oce95

    Question 1 year ago

    hi. what can i do to download the full code?

    None
    Oce95

    1 year ago

    hi. can i get the code

    None
    JoshAbiS

    Question 1 year 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?

    None
    Nasifbinshad

    Question 1 year ago

    Sir, My pulse count is shown as 238 . I had tried with different people and locations. Please help me sir.

    Regards,

    Nasif

    None
    JustinC302

    Question 1 year ago

    I am having trouble with my LCD. I have it light up but I am not able to adjust it or get my BPM output but I do get it from the terminal on the computer. Do you know what we may have done wrong?

    thanks

    my email is justin.carriere.07@gmail.com

    None
    AllanJ34

    1 year ago

    Somebody explain to me that why i don't measure pulse but it still running pulse? Please

    1 reply
    None
    sakthiks

    Question 1 year ago on Step 9

    sir how to store the pulse rate to thinkspeakcloud.pls give me the code sir

    None
    aoszid

    1 year ago

    جميل جدا