nRF24L01 x 4 using Addicore breakout and 10uF Tantalums across Vcc.
Arduino Nano with NR24-Network Base as 00
Arduino Nano with NR24-Network Node as 01 with DHT22
Arduino Nano with NR24-Network Node as 011 with 4 x Relay board
Arduino Nano with NR24-Network Node as 021 with 4 x Relay board
Node 01 sends Temp to Base, Base transmits to 011 and 021 which then click relays. It all works great, but randomly something causes the 011 or 021 to fail to read then it stays that way until I manually reset the Node.
When Nodes 011 and 021 are close by for testing never an error. When out in the lounge, I have tried all power RF24 settings and used both the bare nRF24L01 and the PL versions. The bare boards all work fine at the distance, but I tried the PL version just in case.
No difference between radios, but always some errors and locking up and no longer reading. The Nano stays live, it is just the reading as I can manually send stuff via the Serial to the nano and it is fine. I have included a memory display and that number is stable, so not memory leak.
I thought I had solved it by putting a 470uF Electro across the relay board Vcc which is supplied via an external wall wart, but with a common ground to the 011 and 021 Nanos. That cut down the errors a lot to around one maybe every hour. But, I still have to manually reset after the error.
void networkCheck()
{ network.update();
while (network.available())
{ RF24NetworkHeader header;
if (network.read(header,&dataIn,sizeof(dataIn)))
{ if (dataIn.To == THIS_NODE) // THIS_NODE is a constant and either 011 or 021
{ dataDisplay();
} else
{ Serial.println(F("FAIL"));
}
}
}
}
}
I have been messing with this for two days and fresh out of ideas. I have swapped everything individually more than once and cannot get the problem to move.