Problemas con NRF24L01

Muy buenas, estoy probando la comunicación inalámbrica con el módulo NRF24L01 pero estoy atascado. He conseguido escribir sin errores los dos códigos, el del emisor y el del receptor, pero no consigo que hagan lo que quiero.

Tengo conectado un módulo (el emisor) a un Arduino UNO y éste alimentado con una Power Bank. El otro módulo (el receptor) está conectado a otro Arduino UNO a mi ordenador para ver en el monitor serie si me imprime lo que yo quiero.

Pues bien, en la placa donde tengo conectado el módulo emisor tengo conectado un sensor TCRT-5000, los que se usan para los robots sigue líneas. Lo que quiero es que si el sensor detecta línea cree un valor almacenado en la variable “estado” y me lo envíe a mi otro Arduino conectado al ordenador y quiero que me imprima por el monitor serie el valor del estado que está recibiendo del emisor. Espero haberme explicado bien.

Los códigos que uso son estos:

/*Emisor*/

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

RF24 radio(7, 8); // CE, CSN
int TCRT = 4;
int estado;
int Dato;
const byte address[6] = "00001";

void setup(){
  Serial.begin (9600);
  pinMode (TCRT, INPUT);
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
}

void loop(){
  Dato = digitalRead (TCRT);
  Serial.println (estado); //Para comprobar que el sensor funciona
  if (Dato == HIGH){
    estado = 1;
  }
  if (Dato == LOW){
    estado = 0;
  }
  radio.write(&estado, sizeof(int));
}
/*Receptor*/

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

RF24 radio(7, 8); // CE, CSN
int estado;
const byte address[6] = "00001";

void setup(){
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, address);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();
}

void loop(){
  Serial.println (estado);
  if (radio.available()) {
    radio.read(&estado, sizeof(int));    
  }
}

El problema es que en el monitor serie del receptor se imprimen valores al azar y sin sentido. Como no he programado nunca este tipo de comunicación quería saber si alguien, con más experiencia, ve lo que hago mal o que parte del código he escrito mal.

Buenas, después muchos intentos con más códigos me he dado cuenta de que el módulo se calienta, en mi opinión, más de lo que debería. Me he dado cuenta, además, de que cuando quito la conexión a GND funciona el módulo y, al menos, me da menos errores que con la masa conectada. He leído que se recomienda añadirle en la alimentación entre positivo y negativo un condensado de 10uµ, lo he probado y nada. Alguien sabe por que pasa esto, esta roto el módulo??. Gracias.

Comienza por lo básico, como lo tienes cableado?

Indica algún esquema que hayas seguido y que este exactamente como lo que postees (usa etiquetas y que se vea la imágen por favor, si no sabes, repasa las normas y al final indica como visualizar una imágen adjunta).