Arduino nrf24l01 Senden und Empfangen von Textnachrichten

Hallo ich experimentiere derzeit mit dem nrf24l01. Ich nutze zwei Arduinos und möchte von einem Arduino zum anderen Nachrichten austauschen.

Ablauf
Ardu1 ---> sendet --> Ardu2 Empfängt ---> Ardu2 Prüft Nachricht --> Ardu2 sendet Ergebnis an Ardu1

Ich habe dazu einfach mal zwei Funktionen definiert. Ich lese Daten via Tastatureingabe ein und kann sie auch versenden, sie kommen dann auch an. Nur dieser Wechsel zwischen gerade gesendet nun empfange Daten ist leider etwas misslungen.

Es würde mich sehr freuen, wenn mir Jemand etwas beim Code helfen könnte.

PS: Oder gibt es auch eine Lösung über Kabel, da ich auch festgestellt habe, dass das Funksignal recht heikel ist?

Code Sender:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <stdio.h>

#define MAX 64

RF24 radio(9, 53);
const byte rxAddr[6] = "00001";
// 0 = Empfangen, 1 = Senden
bool sendenVar = true;
String serinput;
void setup()
{
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, rxAddr); 
  radio.setRetries(15, 15);
  radio.openWritingPipe(rxAddr);
}

void loop()
{ 
  if(sendenVar == true){
                  Serial.println("Hi");
                while(Serial.available()==0){}
                
                serinput = Serial.readString();
                Serial.println(serinput);
              
              char string[50];
              serinput.toCharArray(string, 50) ;
              
                senden(string, sizeof(string));
                sendenVar = false;
  }
  if(sendenVar == false){
    empfangen();
    }


}

void *senden(char *uebString, int laengeString){
  radio.stopListening();
  Serial.print("Gesendent:  ");
  Serial.print(uebString);
  Serial.println();
  radio.write(uebString, laengeString);
}




void empfangen(){
  radio.startListening();
  if (radio.available()){
      char text[MAX] = {0};
      radio.read(&text, sizeof(text));
      Serial.print("Empfangen: ");
      Serial.print(text);
      Serial.println();
  }
}

Code Empfänger:

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <stdio.h>

#define MAX 64

RF24 radio(9, 53);
const byte rxAddr[6] = "00001";
// 0 = Empfangen, 1 = Senden
int sendenVar = 0;

void setup()
{
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, rxAddr); 
  radio.setRetries(15, 15);
  radio.openWritingPipe(rxAddr);
}

void loop()
{ 
  char string[] = "Start_LED";
  
 if(sendenVar == 0){
    empfangen();
  }
  if(sendenVar == 1){
    senden(string, sizeof(string));
  }
}

void *senden(char *uebString, int laengeString){
  radio.stopListening();
  for(int i = 0; i < 10; i++){
            Serial.print("Gesendent:  ");
      Serial.print(uebString);
      Serial.println();
      radio.write(uebString, laengeString);
   
    delay(2000);
    }
 
}

void empfangen(){
  radio.startListening();
  if (radio.available()){
      char text[MAX] = {0};
      radio.read(&text, sizeof(text));
      Serial.print("Empfangen: ");
      Serial.print(text);
      Serial.println();
      sendenVar = 1;
      Serial.print(sendenVar);
        }
}