Problems sending Arduino bluetooth data

I'm trying to connect my arduino bluetooth sensor to an MIT App Inventor app I made, and in doing so display the readings of two of my sensors. Whenever I test the sensors in the serial monitor, I get normal readings, but sending them to MIT App Inventor makes them glitch out and give me the error "Select list item: Attempt to get item number 2 of a list of length 1", and turns all of my data into black diamonds with question marks in them, or some other variation of random numbers and characters. Some trial and error has led me to believe that my app's code is working, but because it keeps receiving what seems to be random characters instead of the data I'm sending, it cannot display them properly.

I've reviewed all of my code for both the Arduino and the MIT App Inventor (especially the parts with lists), and I haven't been able to find anything that may be hindering me. The timer interval for the MIT App inventor code is correct; I set it to half of the Arduino delay.

Here is my MIT App Inventor code: MIT App Inventor Bluetooth Reception Code - Album on Imgur

Below is my Arduino code.

#define USE_ARDUINO_INTERRUPTS true    // Set-up low-level interrupts for most acurate BPM math.
#include <PulseSensorPlayground.h>     // Includes the PulseSensorPlayground Library.   

//  Variables
const int PulseWire = A1;       // PulseSensor PURPLE WIRE connected to ANALOG PIN A1
int Threshold = 550;           // Determine which Signal to "count as a beat" and which to ignore.
                               // Use the "Gettting Started Project" to fine-tune Threshold Value beyond default setting.
                               // Otherwise leave the default "550" value. 
const int PIEZO_PIN = A0; // Piezo A0
                              
PulseSensorPlayground pulseSensor;  // Creates an instance of the PulseSensorPlayground object called "pulseSensor"
    

void setup() {   
  Serial.begin(9600);          // For Serial Monitor
  pinMode(PulseWire, INPUT);
  pinMode(PIEZO_PIN, INPUT);
  // Configure the PulseSensor object, by assigning our variables to it. 
  pulseSensor.analogInput(PulseWire);   
  pulseSensor.setThreshold(Threshold);   
  }
void loop() {
  float piezoADC = analogRead(PIEZO_PIN);
  float piezoV = (piezoADC / 1023.0 * 5.0);  
   int myBPM = pulseSensor.getBeatsPerMinute();  
  
  Serial.print(piezoV); // Print the voltage.
  Serial.print("|");
  Serial.println(myBPM);
 /* if (pulseSensor.getBeatsPerMinute() == 0){
    Serial.println("N/A"); 
 }
 else{
  Serial.println((int)myBPM);
 } */
 
  
/*char buffer[80]; sprintf(buffer, "%f|%s\n", (double)piezoV, myBPM ? "N/A" : String(myBPM)); Serial.print(buffer);*/
  delay(5000);
 
}

Thanks in advance for any responses!

Unplug the bluetooth device. Turn the android off. Open the Serial Monitor app. If the program output looks correct there, the problem is NOT on the Arduino end.

PaulS:
Unplug the bluetooth device. Turn the android off. Open the Serial Monitor app. If the program output looks correct there, the problem is NOT on the Arduino end.

Yeah, the program output looks correct there. I moreso thought there was maybe something wrong with the bluetooth module, cause the data seems to get all messed up during the sending and receiving process.

You are almost certainly blaming the wrong thing, and it is probably time to review your App Inventor skills.

Nick_Pyner:
You are almost certainly blaming the wrong thing, and it is probably time to review your App Inventor skills.

Maybe it is, I'm not ashamed to admit I'm a newbie. What do you think I should do, then?

Another way to help focus your problem solving is to use a Bluetooth Serial Terminal, (instead of the App Inventor code), on the android phone to receive the transmitted message.

Nick_Pyner:
You are almost certainly blaming the wrong thing, and it is probably time to review your App Inventor skills.

I fixed it, and guess what, it was the Bluetooth module all along. I had to get a NEW module altogether before it worked, I didn't even change any code. Looks like it is probably time to review your forum posting skills.