Problema comunicaciones Bluetooth

Hola, buenos días.

Estoy realizando un proyecto, el cual consiste en enviar datos desde el pc hasta un arduino mediante bluetooth y desde otro arduino hasta este, también con bluetooth. Con lo cual el primer arduino tiene dos módulos bluetooth, y el segundo uno.

No consigo hacer que funcione, ya que si comunico los dos arduinos con bluetooth y el arduino al pc con cable si que funciona, pero de la forma que quiero no.

Agradecería cualquier ayuda posible.

Aquí dejo los codigos:
Arduino con el pc:

#include <SoftwareSerial.h>

SoftwareSerial blue(2,3);
SoftwareSerial blue2(4,5);

char pc, esclavo;
boolean estado=false;

unsigned long x=0;
unsigned long y=0;
unsigned long z=0;


void setup()
{
 pinMode(8,OUTPUT);
 pinMode(9,OUTPUT);
 pinMode(10,OUTPUT);   
 blue.begin(9600);
 blue2.begin(9600);
}

void loop()
{

  if(blue2.available()>0){
    pc=blue2.read();
    
    if(pc=='0'){
      digitalWrite(8,HIGH);
      x=millis();
      estado=true;
      }
    else if(pc=='1'){
      digitalWrite(9,HIGH);
      x=millis();
      estado=true;
      }
    }
    
  if(blue.available()>0 && estado==true){
    esclavo=blue.read();
     
    if(pc=='0'){
      if(esclavo=='1'){
        digitalWrite(8,LOW);
        y=millis();
        z=y-x;
        blue2.println(z);
        estado=false;
      }
    }
    else if(pc=='1'){
      if(esclavo=='2'){
        digitalWrite(9,LOW);
        y=millis();
        z=y-x;
        blue2.println(z);
        estado=false;
      }
    }
    }
  }  
}

Arduino con Arduino

#include <SoftwareSerial.h>

SoftwareSerial blue(4,5);


const int timeThreshold = 150;
const int intPin2 = 2;
const int intPin3 = 3;
volatile int ISRCounter = 0;
volatile int ISRCounter2 = 0;
int counter = 0;
int counter2 = 0;
long timeCounter = 0;
long timeCounter2 = 0;
 
void setup()
{
  pinMode(intPin2, INPUT);
  pinMode(intPin3, INPUT);
  blue.begin(9600);
  attachInterrupt(digitalPinToInterrupt(intPin2), debounceCount, RISING);
  attachInterrupt(digitalPinToInterrupt(intPin3), debounceCount2, RISING);
}
 
void loop()
{
  
  if (counter != ISRCounter)
  {
    counter = ISRCounter;
    blue.write("1");
  }
    
  if (counter2 != ISRCounter2)
  {
  counter2 = ISRCounter2;
    blue.write("2");
  }
}


void debounceCount()
{
  if (millis() > timeCounter + timeThreshold)
  {
    ISRCounter++;
    timeCounter = millis();
  }
}

void debounceCount2()
{
  if (millis()>timeCounter2 + timeThreshold)
  {
  ISRCounter2++;
    timeCounter2 = millis();
 }
}

Para que usas dos BT en el primer arduino?
Si quieres ver valores en el monitor serie usa Serial en lugar de blue2.

Gracias por la respuesta, uno lo utilizo para recibir del otro arduino, y el otro para enviarlo al ordenador. No quiero visualizar los datos por el monitor serial, quiero visualizarlos mediante un programa en labview.

No consigo hacer que funcione, ya que si comunico los dos arduinos con bluetooth y el arduino al pc con cable si que funciona, pero de la forma que quiero no.

Que es lo que no funciona?

Las comunicaciones bluetooth según los códigos que he puesto ahí arriba.

En el primer código usas dos instancias de SoftwareSerial; quizá sea porque la instancia blue no puede recibir datos.

Estoy hablando de una limitante de la librería: todas las instancias pueden enviar datos, pero sólo una a la vez puede recibir.
Si simultaneidad es lo que buscas, tendrás que usar la librería AltSoftSerial

Bueno lo que no entiendo es que si estas trabajando con Labview (algo profesional) uses un UNO con dos SoftwareSerial en lugar de un MEGA o DUE que tienen 4 puertos y te liberas de estas tonterías. Dicho con poca elegancia pero el tiempo en programación es muy caro para estar malgastándolo con algo que cuesta 10 euros mas.
Pidete una placa nueva y trabaja cómodo, mas con algo relacionado con mediciones usando Labview.

Gracias por las respuestas, y siento la tardanza, creo que haré eso, me compraré una placa MEGA para poder ahorrarme tiempo de programación y haber si se soluciona el problema.