I made a system which between Arduino and Pi3 communication at the same time both of them transmitter and receiver. There are 6 current sensor (only transmitter) device and 3 on-off switch (transmitter and receiver). Each device works when run individually. When i started all device switches miss data. But every time different switch miss data. I don't understand this situation. I think it is look like a communication problem. Thanks for advice.
#include<SPI.h>
#include<RF24.h>
RF24 radio(9,10); //ce and cs pins
#define B0 8
const uint64_t listenPipe = 0xE8E8F0F0E1LL;
const uint64_t writePipe = 0xF5F5F5F5E1LL;
void setup(void)
{
radio.begin();
radio.setPALevel(RF24_PA_MAX);
radio.setChannel(0x70);
radio.openReadingPipe(1, listenPipe);
radio.openWritingPipe(writePipe);
radio.enableDynamicPayloads();
radio.powerUp();
pinMode(B0, OUTPUT);
}
void loop(void){
radio.startListening();
char receivedMessage[32] = {0};
char message[] = "LIGHT DONE";
if(radio.available()) {
radio.read(receivedMessage, sizeof(receivedMessage));
radio.stopListening();
}
if(receivedMessage[0] == '3' && receivedMessage[1] == '3'){ // 33 message = Light On
digitalWrite(B0, HIGH);
delay(200);
for(int i = 0; i < 40; i++)
radio.write(&message, sizeof(message));
delay(200);
radio.startListening();
}
else if(receivedMessage[0] == '4' && receivedMessage[1] == '4'){ // 44 message = Light Off
digitalWrite(B0, LOW);
delay(200);
for(int i = 0; i < 40; i++)
radio.write(&message, sizeof(message));
delay(200);
radio.startListening();
}
delay(500);
}