Bluetooth transmission troubleshooting

Hi, everyone!

I am having an issue with my code. It is supposed to pull in data on the hardware Rx line (from an accelerometer and Micro) and data from 4 force sensors on 4 analog pins and output data to a JY-MCU Bluetooth Transceiver. I had simpler code that worked for transmission to an app on my phone (Bluetoth spp pro), but when I tried to combine all of my code together, something went wrong. The code for the “flexiforce” and “while serial available” sections work individually when printing to the serial monitor. Any ideas why my code doesnt do what I think it does?

#include <SoftwareSerial.h>

int TX = 11;                          //BT RX
int RX = 10;                          //BT TX
int flexiForcePin0 = A0;              //Flexiforce output voltage
int flexiForcePin1 = A1;
int flexiForcePin2 = A2;
int flexiForcePin3 = A3;
char val;                            //variable to receive data from the serial port


SoftwareSerial Bluetooth(RX,TX);              //Set up Bluetooth for Serial Communication over TX, RX

void setup()
{
  Serial.begin(9600);
  Bluetooth.begin(9600);                      //Start Serial Communication over Bluetooth
  Bluetooth.println("Signal Initiated");      //Print Confirmation Text to Bluetooth over Serial
  delay(5000);
}

void loop()
{  
  if( Bluetooth.available() )                 // if data is available to read
      val = Bluetooth.read();                 // read it and store it in 'val'
   if( val == 'H' )               // if 'H' was received
  {
    //FLEXIFORCE ALL
    int flexiForceReading0 = analogRead(flexiForcePin0);     //Read data from Force Sensor on Pin X and store to value
    int flexiForceReading1 = analogRead(flexiForcePin1);
    int flexiForceReading2 = analogRead(flexiForcePin2);
    int flexiForceReading3 = analogRead(flexiForcePin3);
  
    float voltage = 0;
    float force = 0;
  //analysis of all forces to output greatest one?
      if ((flexiForceReading0 >= flexiForceReading1) && (flexiForceReading0 >= flexiForceReading2)  && (flexiForceReading0 >= flexiForceReading3)){
      Serial.println("Sensor 0");
      voltage = flexiForceReading0 * (5.0/1023.0);
        
      }
      else if ((flexiForceReading1 >= flexiForceReading0) && (flexiForceReading1 >= flexiForceReading2)  && (flexiForceReading1 >= flexiForceReading3)){
        Serial.println("Sensor 1");
        voltage = flexiForceReading1 * (5.0/1023.0);
      }
      else if ((flexiForceReading2 >= flexiForceReading0) && (flexiForceReading2 >= flexiForceReading1)  && (flexiForceReading2 >= flexiForceReading3)){
        Serial.println("Sensor 2");
        voltage = flexiForceReading2 * (5.0/1023.0);
      }
      else if ((flexiForceReading3 >= flexiForceReading0) && (flexiForceReading3 >= flexiForceReading1)  && (flexiForceReading3 >= flexiForceReading2)){
        Serial.println("Sensor 3");
        voltage = flexiForceReading3 * (5.0/1023.0);
      }
  
    //print highest voltage to bluetooth
    if (voltage > 0.5) {
      Bluetooth.print(voltage);    
    }
    Bluetooth.print("\t");
    
    //accelerometer values over bluetooth
    while(!Serial.available());
    Bluetooth.print(Serial.read());
    Bluetooth.print("\t");
    delay(10);
      
    while(!Serial.available());
    Bluetooth.print(Serial.read());
    Bluetooth.print("\t");
    delay(10);
      
    while(!Serial.available());
    Bluetooth.print(Serial.read());
    Bluetooth.print("\n\r"); 
    
    delay(100);
  }
                                     
  if (val == 'L')                                          //Exit the function if the last bluetooth read was an L
    return;
}

In case anyone is following this, I tried using an extermally created library called AltSoftSerial to run both sets of Rx/Tx lines at once, but then the whole program gave up.

In addition, I tried to call each bluetooth function and serial immediately after to see what the values should be, but I am getting ASCII converted values on bluetooth and garbage data on the serial monitor....