Módulo NRF24L01

Ola, recentemente comprei 2 módulos nrf24l01. Minha questão é sobre a programação, eu usei estes códigos :

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

byte data[1];
const uint64_t pipe = 0xF0F0F0F0A1LL;

RF24 radio(9,10);

void setup() {
  radio.begin();
  radio.openWritingPipe(pipe);

}

void loop() {
data[0] = random(1,3);
  radio.write(data, 1);

}
//receptor
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <RF24_config.h>

byte data[1];
const uint64_t pipe = 0xF0F0F0F0A1LL;

RF24 radio(9,10);

void setup() {
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
Serial.begin(57600);
}

void loop() {
  if(radio.available()){

radio.read(data,1);
Serial.println(data[0]);

    
  }


}

Eu estava tentando colocar um delay no transmissor, no final ficou

void loop() {
data[0] = random(1,3);
  radio.write(data, 1);
delay(1000);
}

Mas toda vez que eu coloco o delay ou mudo a variavel data para um char ou outro tipo, acaba não funcionando, o receptor não mostra nada. Por que isso acontece? o que estou fazendo errado ? Poderia me ajudar com os básicos para enviar/receber informações ?

O tipo byte tem 8 bits, mas se não me engano é unsigned char. Logo desde que tenhas cuidado com o que fazes nos dois lados do envio não deve haver problema.

De onde tiraste essa biblioteca? Digo isto, porque a biblioteca do maniacbug tinha um bug bastante chato. Há mais gente com esse problema (eu incluído) e acabei por resolver usando uma biblioteca dum tal de Greg Copeland (pesquisa pela net).
O delay pode ser um problema desses...

Se queres enviar mais do que um char defines um array com mais posições e depois defines quantos bytes são enviados.

Acho que as funções não funcionam com outro tipo de dados porque não foi feita para isso. Logo terás de ser tu a converter para unsigned chars dum lado e depois do outro. Ou, se a tua aplicação não necessitar disso, enviar logo em ASCII.