Serial plotter doesn't show the graphe

hello guys, i have project consist of measure the heart rate with arduino uno and max30102 sensor but when i compile the code , it show's me the values of bpm in serial monitor but doesn't show me graph in serial plotter
here's the code

#include <Wire.h>
#include "MAX30105.h"
#include "heartRate.h"

MAX30105 particleSensor;

const byte RATE_SIZE = 4; //Increase this for more averaging. 4 is good.
byte rates[RATE_SIZE]; //Array of heart rates
byte rateSpot = 0;
long lastBeat = 0; //Time at which the last beat occurred

float beatsPerMinute;
int beatAvg;

void setup() {
  Serial.begin(115200);
  Serial.println("Initializing...");

  // Initialize sensor
  if (!particleSensor.begin(Wire, I2C_SPEED_FAST)) {
    Serial.println("MAX30102 was not found. Please check wiring/power. ");
    while (1);
  }
  Serial.println("Place your index finger on the sensor with steady pressure.");

  particleSensor.setup(); //Configure sensor with default settings
  particleSensor.setPulseAmplitudeRed(0x0A); //Turn Red LED to low to indicate sensor is running
  particleSensor.setPulseAmplitudeGreen(0); //Turn off Green LED
}

void loop() {
  long irValue = particleSensor.getIR();

  if (checkForBeat(irValue) == true) {
    //We sensed a beat!
    long delta = millis() - lastBeat;
    lastBeat = millis();

    beatsPerMinute = 60 / (delta / 1000.0);

    if (beatsPerMinute < 255 && beatsPerMinute > 20) {
      rates[rateSpot++] = (byte)beatsPerMinute; //Store this reading in the array
      rateSpot %= RATE_SIZE; //Wrap variable

      //Take average of readings
      beatAvg = 0;
      for (byte x = 0 ; x < RATE_SIZE ; x++)
        beatAvg += rates[x];
      beatAvg /= RATE_SIZE;
    }
  }

  Serial.print("IR=");
  Serial.print(irValue);
  Serial.print(", BPM=");
  Serial.print(beatsPerMinute);
  Serial.print(", Avg BPM=");
  Serial.print(beatAvg);

  if (irValue < 50000)
    Serial.print(" No finger?");

  Serial.println();
}

any solution please!

be careful how you output text with the numeric data
have a look at ide-v2-serial-plotter

1 Like

yes thanks i tried to modify last section of the code in serial.print and it works as follows

 Serial.print("IR->");
  //Serial.print(","); 
  Serial.print( irValue);
  Serial.print(","); 
   
  Serial.print(" BPM->");
   Serial.print(",");  
  Serial.print(beatsPerMinute);
  Serial.print(",");    

  Serial.print(" Avg_BPM->");
  Serial.print(","); 
  Serial.print(beatAvg); 
   Serial.print(","); 

  if (irValue < 50000)
    Serial.print("No_Finger?");

  Serial.println();

and now it show's me the serial plotter graph thank you @horace

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.