Arduino zu Arduino Bluetooth Verbindung überwachen & bei Trennung reagieren

Hallo zusammen,

hättet ihr einen geeigneten Tipp für mich wie ich eine bestehende BT Verbindung von einem Arduino zu einem weiteren Arduino überwachen kann?

Hardware / Verbindung / Programmablauf etc. läuft alles perfekt.

Wenn jedoch ein Modul getrennt wird ( Spannungsfrei ) hängt das jeweils andere Modul ggf. im letzten Zustand fest und merkt nicht das der Partner fehlt ….

Gibt es eine Möglichkeit eine Art “Heartbeat” einzubauen der permanent den Status prüft und auswertet oder den zuletzt empfangenen Wert auf eine Ablaufzeit prüft und falls diese überschritten wird zu reagieren?

Das Programm ist an diesem Beispiel hier angelehnt und funktioniert wie gesagt an sich super!:

13 #include <SoftwareSerial.h> 
14 SoftwareSerial BTserial(2, 3); // RX | TX 
15 // Connect the HC-05 TX to Arduino pin 2 RX.  
16 // Connect the HC-05 RX to Arduino pin 3 TX through a voltage divider. 
17 //  
18   
19 char c = ' '; 
20 const int buttonPin = 8; //pushbutton pin 
21 int buttonState = 0; //button on/off variable 
22 
 
23 void setup()  
24 { 
25     Serial.begin(9600); 
26     Serial.println("Arduino is ready"); 
27     Serial.println("Remember to select Both NL & CR in the serial monitor"); 
28     BTserial.begin(9600); //change to match your BT module 
29     pinMode(LED_BUILTIN, OUTPUT); 
30     pinMode(buttonPin, INPUT); 
31 } 
32   
33 void loop() 
34 { 
35  buttonState = digitalRead(buttonPin); //reads pushbutton value   
36  // Keep reading from HC-05 and send to Arduino Serial Monitor 
37     if (BTserial.available()) 
38     {   
39         c = BTserial.read(); 
40         Serial.write(c); 
41         if (c == 'O'){ 
42           digitalWrite(LED_BUILTIN, HIGH); 
43         } 
44         if (c == 'F'){ 
45           digitalWrite(LED_BUILTIN, LOW); 
46         } 
47         //Blinks builtin LED on other Arduino when 'B' is received 
48         if (c == 'B'){ 
49           digitalWrite(LED_BUILTIN, HIGH); 
50           delay(200); 
51           digitalWrite(LED_BUILTIN, LOW); 
52         } 
53     } 
54   
55     if (buttonState == HIGH) //button on pin D8 acts as shortcut key for character 'B' 
56     { 
57       c = 'B'; 
58       Serial.println("Button Press D8"); //feedback that button is working 
59       BTserial.write(c); //sends variable to other board via Bluetooth 
60       delay(200); 
61     } 
62      
63     if (Serial.available()) // Keep reading from Arduino Serial Monitor and send to HC-05 
64     { 
65         c =  Serial.read(); 
66         BTserial.write(c);   
67     } 
68   
69 }

Vielen Dank für jeden Tipp!

MFG Beatzler