Pulse Sensor High Values

I connected the pulse sensor in my arduino, and its sending high values( From 300 to 500 bpms). I think it might be ASCII, but i'm not sure.

And I think the problem isn't the pulse sensor since I have already tested 2 different ones.

//  Variables
int PulseSensorPurplePin = 1;       
int LED13 = 13;  

int Signal;                
int Threshold = 550;            

// The SetUp Function:
void setup() {


// The Main Loop Function
void loop() {

  Signal = analogRead(PulseSensorPurplePin);  




What pulse sensor?

This one

Are you seriously trying to get help here?

Where’s the data sheet of that sensor? Or at the very very least a type number?

The manufacturer's site has "a library of examples" for Arduino here.

Did you check the sensors using one of the manufacturer's examples?

  • If you did, and it still doesn't work, I'd day that's something to take up with World Famous Elctronnics
  • If you didn't, you should.

My rule of thumb when playing with unfamiliar gear is to always follow the manufacturer's instructions to get it working. Then, and only of it's really necessary, would I consider doing my own thing. Is that code you posted theirs or yours?

PS to my previous:

its sending high values( From 300 to 500 bpms)

Are those not what you expect? If not, how do you know what they should/not be?

I think the problem isn't the pulse sensor

But you haven't actually said what's wrong...

And a PPS:

I'm guessing after I downloaded the manufacturer's examples myself, that the code you posted is based on one of theirs. You have the unusually named "PulseSensorPurplePin" same as they do, as well as "LED13" and "Threshold", neither of which you use, which makes me think it's a stripped version of an example.

So I'm guessing that, since their Threshold is 550, you expect the "on"-beat value to be over 550 but that's what's coming out as lower for you, and that you see that as a problem?

Well you could set the Threshold to 300 or thereabouts, in which case either:

  • it can distinguish the "on"-beats from the "off"-beats with a lower threshold and there's no problem,or
  • that threshold is too low to allow you to distinguish reliably, in which case it is a sensor problem, despite 2 of them reading the same. It could well be a sensor batch that used a particular batch of internal components which all work the same as each other.

It's not ascii, it's just a plain old analaog value. This line below is from their example (as I am certain you know, since you have used their code):

Signal = analogRead(PulseSensorPurplePin);  // Read the PulseSensor's value.

What you could do of course, is stick a potentiometer on your analog pin and check that you're getting the full range from 0 to 1023. Even easier, especially if you don't have a pot, is just take the analog pin to ground then to 5V with a bit of wire and see if it flips when you read it.