Probleme mit Seeedstudio BT Shield

Hallo,

ich mache zurzeit den Techniker und möchte mein Abschlussprojekt mit 2 Arduinos realisieren die über Bluetooth miteinader kommunizieren.
Das eine ist ein Uno mit einem Displayshield und HC.05 modul. Der andere ist ein Mega mit einem BT Shield von Seeedstudio.

Jetzt bin ich gerade am probieren und lernen wie das ganze funktioniert.
Als erstes habe ich mir den Mega mit dem BT Shield vorgenommen. Ich habe auf meinem Smartphone eine BT SPP App und kann mich auch erfolgreich verbinden. Über den Serial Monitor kann ich Zeichen schicken und die werden auch auf dem Telefon angezeigt. Jedoch bekomme ich es nicht hin Zeichen vom Telefon zu senden und mir die Temperatur anzeigen zu lassen. Der Sensor ist nicht angeschlossen, es dient nur als beispiel.

Ich habe die IF auswahl mal probeweise in den (Serial.available()) eingefügt, wenn ich dann vom Serial Monitor aus ein t sende funktioniert es so wie es sein soll und gibt mir temperature zurück, auf dem Handy.

/* Upload this sketch into Seeeduino and press reset*/

#include <SoftwareSerial.h>   //Software Serial Port
#define RxD 2
#define TxD 3

#define DEBUG_ENABLED  1

SoftwareSerial blueToothSerial(RxD,TxD);

int getTemp()
{
    int a = 255;
    int B=3975;
    float resistance = (float)(1023-a)*10000/a;
    float temperature = temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;
    
    return (int)temperature;
    
}

void setup()
{
  Serial.begin(9600);
  pinMode(RxD, INPUT);
  pinMode(TxD, OUTPUT);
  setupBlueToothConnection();

}

void loop()
{
  char recvChar;
  while(1){
    if(blueToothSerial.available()){//check if there's any data sent from the remote bluetooth shield
      recvChar = blueToothSerial.read();
      blueToothSerial.print(recvChar);
      Serial.print(recvChar);
       if(recvChar == 't' || recvChar == 'T')
            {
                blueToothSerial.print("temperature: ");
                blueToothSerial.println(getTemp());
            }
    }
    if(Serial.available()){//check if there's any data sent from the local serial terminal, you can add the other applications here
      recvChar  = Serial.read();
      blueToothSerial.print(recvChar);
    }
  }
}

void setupBlueToothConnection()
{
  blueToothSerial.begin(9600); //Set BluetoothBee BaudRate to default baud rate 9600
  blueToothSerial.print("\r\n+STWMOD=0\r\n"); //set the bluetooth work in slave mode
  blueToothSerial.print("\r\n+STNA=SeeedBTSlave\r\n"); //set the bluetooth name as "SeeedBTSlave"
  blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me
  blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here
  delay(2000); // This delay is required.
  blueToothSerial.print("\r\n+INQ=1\r\n"); //make the slave bluetooth inquirable
  Serial.println("The slave bluetooth is inquirable!");
  delay(2000); // This delay is required.
  blueToothSerial.flush();
}

So ich habe es hinbekommen.

Das Shield muss man an Ports mit Interrupt klemmen, das ist beim Mega zb 10 und 11. Wenn man das gemacht hat dann funktioniert es. Die Jumper auf dem Shield geben das aber nicht her, deshalb muss man die über leitungen selber verbinden.

Hallo,

sehr schön das man selbst noch die Lösung bekannt gibt, auch wenn niemand helfen konnte.