Cannot get nrf24l01 working

Hi I have just started to study RF24 library for remote communication, I have two arduinos : UNO and Mega. I have connected this remote modules to them, also by this time I have soldered capacitor between + and - on power lines, because a lot of people suggest to do this, because sometimes voltage is unstable, So tried Getting Starting example it works , but firstly it worked weirdly . Sometimes data has been passed , but only from one to another not vice verse. But than it started work normally, I need to fire up 7-seg led remotly using communication with these modules.And sesniing data to transiver with the remote controller.
It compiles and show remote conntroller clicks but it cannot connect to another device. Here are my scatches , pleae have a look maybe there is a problem in code.

#include <IRremote.h> // use the library
#include <SPI.h>
#include <RF24.h>
#include "printf.h"
#define LOG_ONE 0
#define LOG_ZERO 1
const uint64_t pipe = 0xF0F0F0F0D2LL;
RF24 radio (40, 53);
const long int ONE = 0x61D6807F;
const unsigned int TWO = 0x61D6D02F;
const unsigned int THREE = 0x61D6D827;
const unsigned int FOUR = 0x61D6A05F;
const unsigned int FIVE = 0x61D6906F;
const unsigned int SIX = 0x61D6A857;
const unsigned int SEVEN = 0x61D6609F;
const unsigned int EIGHT = 0x61D650AF;
const unsigned int NINE = 0x61D648B7;
const unsigned int ZERO = 0x61D640BF;
const unsigned int PLAY = 0x61D68877;
const unsigned int STOP = 0x61D610EF;
const unsigned int RECORD = 0x61D600FF;
const int A = 4;
const int B = 5;
const int C = 8;
const int D = 9;
const int E = 10;
const int F = 3;
const int G = 2;
const int DOT = 6;
const int POWER = 7;
long int inData = 0;

void setup() {
Serial.begin(57600); // for serial monitor output
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(DOT, OUTPUT);
pinMode(POWER, OUTPUT);
digitalWrite(POWER, HIGH);
digitalWrite(DOT,LOG_ZERO);
digitalWrite(A,LOG_ZERO);
digitalWrite(B, LOG_ZERO);
digitalWrite(C, LOG_ZERO);
digitalWrite(D, LOG_ZERO);
digitalWrite(E, LOG_ZERO);
digitalWrite(F, LOG_ZERO);
digitalWrite(G, LOG_ZERO);
 printf_begin();
  printf("\n\rRF24/examples/GettingStarted/\n\r");
  printf("*** PRESS 'T' to begin transmitting to the other node\n\r");

 radio.begin();
  radio.openReadingPipe(1,pipe);
  radio.startListening();
  radio.printDetails();
  
}
void loop()
{
   if (radio.available()){
    bool done = false;  
    Serial.println("Data Available");
    while (!done){
      done = radio.read(&inData,sizeof(unsigned int)); 
    Serial.println(inData);
    switch (inData) {
      case ZERO:
        Serial.println("Zero");
        digit0();
        break;
      case ONE:
        Serial.println("ONE");
        digit1();   // sets the LED on
        break;
      case TWO:
     Serial.println("TWO");
        digit2();   // sets the LED on
        break;
        case THREE:
        Serial.println("THREE");
        digit3();   // sets the LED on
        break;
        case FOUR:
        Serial.println("FOUR");
        digit4();   // sets the LED on
        break;
        case FIVE:
        Serial.println("FIVE");
        digit5();   // sets the LED on
        break;
          case SIX:
        Serial.println("SIX");
        digit6();   // sets the LED on
        break;
          case SEVEN:
        Serial.println("SEVEN");
        digit7();   // sets the LED on
        break;
          case EIGHT:
        Serial.println("EIGHT");
        digit8();   // sets the LED on
        break;
          case NINE:
          Serial.println("NINE");
        digit9();   // sets the LED on
        break;
           case PLAY:
          Serial.println("PLAY");
        letterA();   // sets the LED on
        break;
           case STOP:
          Serial.println("STOP");
        letterS();   // sets the LED on
        break;
           case RECORD:
          Serial.println("RECORD");
        letterC();   // sets the LED on
        break;
        
      default: 
        Serial.println("Waiting ...");
    }
delay(100);
    }    
   } 
}

// functions to display digits

void digit0 () {
// for 0 needed to turn ON F A B C D E segments, so:

digitalWrite(A, LOG_ONE);
digitalWrite(B, LOG_ONE);
digitalWrite(C, LOG_ONE);
digitalWrite(D, LOG_ONE);
digitalWrite(E, LOG_ONE);
digitalWrite(F, LOG_ONE);

.........

#include <RF24_config.h>
#include <nRF24L01.h>

#include <IRremote.h> // use the library
#include <SPI.h>
#include <RF24.h>
#define LOG_ONE 0
#define LOG_ZERO 1
const uint64_t pipe = 0xF0F0F0F0D2LL;
RF24 radio(9,10);
int receiver = 8; // pin 1 of IR receiver to Arduino digital pin 11
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results;
const long int ONE = 0x61D6807F;
const long int TWO = 0x61D6D02F;
const long int THREE = 0x61D6D827;
const long int FOUR = 0x61D6A05F;
const long int FIVE = 0x61D6906F;
const long int SIX = 0x61D6A857;
const long int SEVEN = 0x61D6609F;
const long int EIGHT = 0x61D650AF;
const long int NINE = 0x61D648B7;
const long int ZERO = 0x61D640BF;
const long int PLAY = 0x61D68877;
const long int STOP = 0x61D610EF;
const long int RECORD = 0x61D600FF;

void setup() {
Serial.begin(57600); // for serial monitor output
  irrecv.enableIRIn(); // Start the receiver
   radio.begin(); 
   
   radio.setRetries(15,15);
  radio.openWritingPipe(pipe);
radio.printDetails();
}
void loop()
{
   if (irrecv.decode(&results)) {
     radio.stopListening();
    long int decCode = results.value;
    Serial.println(decCode);
    switch (results.value) {
      case ZERO:
        Serial.println("Zero");
       radio.write( &ZERO, sizeof(ZERO) );
        break;
      case ONE:
        Serial.println("ONE");
         radio.write( &ONE, sizeof(ONE) );
        break;
      case TWO:
     Serial.println("TWO");
   radio.write( &TWO, sizeof(TWO) );
        break;
        case THREE:
        Serial.println("THREE");
     radio.write( &THREE, sizeof(THREE) );
        break;
        case FOUR:
        Serial.println("FOUR");
        radio.write( &FOUR, sizeof(FOUR) );
        break;
        case FIVE:
        Serial.println("FIVE");
     radio.write( &FIVE, sizeof(FIVE) );
        break;
          case SIX:
        Serial.println("SIX");
   radio.write( &SIX, sizeof(SIX) );
        break;
          case SEVEN:
        Serial.println("SEVEN");
   radio.write(&SEVEN, sizeof(SEVEN) );
        break;
          case EIGHT:
        Serial.println("EIGHT");
   radio.write( &EIGHT, sizeof(EIGHT) );
        break;
          case NINE:
          Serial.println("NINE");
     radio.write( &NINE, sizeof(NINE) );
        break;
           case PLAY:
          Serial.println("PLAY");
    radio.write( &PLAY, sizeof(PLAY) );
        break;
           case STOP:
          Serial.println("STOP");
      radio.write( &STOP, sizeof(STOP) );
        break;
           case RECORD:
          Serial.println("RECORD");
        radio.write( &RECORD, sizeof(RECORD) );
        break;
        
      default: 
        Serial.println("Waiting ...");
    }
    delay(100);
    irrecv.resume(); // Receive the next value
  }
}

I hope for your help. Thx in advance