Bei deinem Prinzip (Senden von einem Bool) überhaupt nicht.
Wenn du zwei oder mehr Leds steuern willst brauchst du mehr Informationen.
Denkbar wäre z.B.
#include <Bounce2.h>
// https://github.com/thomasfredericks/Bounce2
#include <RF24.h>
const byte pinTaste1 = 2;
const byte pinTaste2 = 3;
const byte leda = 6;
const byte ledb = 5;
const byte rxAddr[][6] = {"null", "eins", "zwei", "drei"};
RF24 radio(7, 8);
Bounce Taste1;
Bounce Taste2;
struct Packet {
byte befehl;
byte target;
} packet;
enum {
ausschalten,
einschalten,
};
enum {
nimmLedA,
nimmLedB,
};
void setup() {
pinMode(leda, OUTPUT);
pinMode(ledb, OUTPUT);
Taste1.attach(pinTaste1, INPUT_PULLUP);
Taste2.attach(pinTaste2, INPUT_PULLUP);
Serial.begin(115200);
radio.begin();
radio.openReadingPipe(1, rxAddr[0]);
radio.setPALevel(RF24_PA_MIN);
radio.enableDynamicPayloads();
radio.startListening();
}
void loop() {
if (radio.available()) {
radio.read(&packet, sizeof(packet));
if (packet.befehl == einschalten) {
if (packet.target == nimmLedA) {
digitalWrite(leda, HIGH);
} else if (packet.target == nimmLedB) {
digitalWrite(ledb, HIGH);
}
} else if (packet.befehl == ausschalten) {
if (packet.target == nimmLedA) {
digitalWrite(leda, LOW);
} else if (packet.target == nimmLedB) {
digitalWrite(ledb, LOW);
}
}
}
bool taste1Betaetigt = Taste1.update();
bool taste2Betaetigt = Taste2.update();
if (taste1Betaetigt || taste2Betaetigt) {
radio.stopListening();
if (taste1Betaetigt) {
radio.openWritingPipe(rxAddr[1]);
packet.target = nimmLedA;
packet.befehl = Taste1.fell() ? einschalten : ausschalten;
radio.write(&packet, sizeof(packet));
}
if (taste2Betaetigt) {
radio.openWritingPipe(rxAddr[2]);
packet.target = nimmLedB;
packet.befehl = Taste2.fell() ? einschalten : ausschalten;
radio.write(&packet, sizeof(packet));
}
radio.startListening();
}
}