UTFT_library OLED + Network NRF24L01 + nodo1 nodo2 y receptor

Hola Amigos.

Posteo debido a que mi cerebro junto con mis neuronas necesitan de las vuestras, ya sabeis como y todo fuera una misma sipnasis, bueno ahí voy

Estoy trabajando en automatizar mi aljibe y mi pozo de agua para ellos estoy intentando emplear varios nodos transmisores que me envien datos de nivel de agua principalmente y sensores de nivel a un tercer nodo receptor donde monitorizo por pantalla tft todo lo que sucede, ajunto foto.

Uso un nodo transmisor para enviar datos desde aljibe

Uso otro nodo transmisor para enviar datos desde pozo.

Y uso finalmente el receptor para monitoriza todo y en principio parece que se hablan entre ellos pero a la hora de monitorear por serie, me aparece datos entremezclado del nodo 1 y nodo 2. Es decir llegan las lecturas pero de forma errática y mezclada.

Tengo algo de experiencia con NRF2401 pero a la hora de trabajar con la nueva librería Network NRF24 la cosas se me ha complicado.

Alguna sugerencia para que me lleguen los datos cada uno en su sitio ?

Gracias./home/anonimator/Escritorio

nodo 1 y nodo 2 CODIGO

/*

NODO 1


*/

#include <RF24Network.h>
#include <RF24.h>
#include <SPI.h>




const int num = 2;       //_____________ Datos que envío al nodo 01
int ArrayNodo01[num];


RF24 radio(9, 10);                // nRF24L01 (CE,CSN)
RF24Network network(radio);      // Include the radio in the network

const uint16_t this_node = 01;   // Address of our node in Octal format ( 04,031, etc)
//const uint16_t node01 = 02;      // Address of the other node in Octal format
const uint16_t master00 = 00;

int valA1 = 0;

void setup() {
  Serial.begin(57600);
  SPI.begin();
  radio.begin();
  network.begin(90, this_node);  //(channel, node address)
  radio.setDataRate(RF24_2MBPS);
  
  
}
void loop() {

  

  ArrayNodo01[0] = 33; //analogRead(A1);   // datos que envío de nodo 00 a master
  ArrayNodo01[1] = 33; //analogRead(A2);
  


  
  network.update();

  //______________Receiving______________________//  

  while ( network.available() ) {     // Is there any incoming data?
    //RF24NetworkHeader header;
    //  network.read(header, &ArrayMaster, sizeof(ArrayMaster)); // Read the incoming data
   
  }
  
  //______________ Sending_______________________//
     
    RF24NetworkHeader header8(00);
  bool ok = network.write(header8, &ArrayNodo01, sizeof(ArrayNodo01)); // Send the data



        Serial.print("Soy Nodo01 = ");
        Serial.print(  ArrayNodo01[0]);        Serial.print("-");
        Serial.print(  ArrayNodo01[1]);        Serial.println("-");
       
      
}



/*

NODO 2


*/



#include <RF24Network.h>
#include <RF24.h>
#include <SPI.h>

int boya6naran = 6; int valorBoya6na = 0;
int boya7verde = 7; int valorBoya7ve = 0;

const int numM = 3;      //_____________ Datos que recibo de master
int ArrayMaster[numM];

const int num = 4;       //_____________ Datos que envío al nodo 01
int ArrayNodo02[num];


RF24 radio(9, 10);                // nRF24L01 (CE,CSN)
RF24Network network(radio);      // Include the radio in the network

const uint16_t this_node = 02;   // Address of our node in Octal format ( 04,031, etc)
const uint16_t node01 = 01;      // Address of the other node in Octal format
const uint16_t master00 = 00;

int valA1 = 0;

void setup() {
  Serial.begin(57600);
  SPI.begin();
  radio.begin();
  network.begin(90, this_node);  //(channel, node address)
  radio.setDataRate(RF24_2MBPS);
  pinMode( boya6naran, INPUT);
  pinMode( boya7verde, INPUT);
  
}
void loop() {

   valorBoya6na = digitalRead(boya6naran);
   valorBoya7ve = digitalRead(boya7verde);

  ArrayNodo02[0] = analogRead(A1);   // datos que envío de nodo 00 a master
  ArrayNodo02[1] = analogRead(A2);
  ArrayNodo02[2] = valorBoya6na;
  ArrayNodo02[3] = valorBoya7ve;


  
  network.update();

  //______________Receiving______________________//  

  while ( network.available() ) {     // Is there any incoming data?
    RF24NetworkHeader header;
      network.read(header, &ArrayMaster, sizeof(ArrayMaster)); // Read the incoming data

    //  network.read(header, &ArrayNodo01, sizeof(ArrayNodo01));
  
  }
  
  
  //______________ Sending_______________________//
     
    RF24NetworkHeader header8(00);
  bool ok = network.write(header8, &ArrayNodo02, sizeof(ArrayNodo02)); // Send the data

        Serial.print("Soy Nodo02 = ");
        Serial.print("recibo de Master = ");
        Serial.print(  ArrayMaster[0]);        Serial.print("-");
        Serial.print(  ArrayMaster[1]);        Serial.print("-");
        Serial.print(  ArrayMaster[2]);        Serial.println("-"); 

       
}

CODIGO RECEPTOR

#include <SPI.h> 
#include <Wire.h> 
#include "RTClib.h"
#include <UTFT.h>
#include <RF24Network.h>
#include <RF24.h>

int valDeNodo02 = 0;
const int numM = 3;
int ArrayMaster[numM];

const int num = 4;
int ArrayNodo02[num];

const int num01 = 2;
int ArrayNodo01[num01];

 RF24 radio(7, 8);               // nRF24L01 (CE,CSN)
    RF24Network network(radio);      // Include the radio in the network
    const uint16_t this_node = 00;   // Address of this node in Octal format ( 04,031, etc)
    const uint16_t node02 = 02;      // Address of the other node in Octal format
    const uint16_t node01 = 01;
  
 
       

RTC_DS1307 rtc;
   int segundo,minuto,hora,dia,mes;
   long anio; //variable año
DateTime HoraFecha;

// Declare which fonts we will be using   myGLCD.setFont(BigFont);
extern uint8_t SmallFont[];    // con esa linea llamamos a las font
extern uint8_t BigFont[];   
extern uint8_t arial_normal[];
extern uint8_t DotMatrix_M_Slash[];
extern uint8_t segment18_XXL[];
extern uint8_t DotMatrix_M[];
extern uint8_t Sinclair_M[];

UTFT myGLCD(ILI9486,38,39,40,41);   // IMPORTANTE el driver de la TFT es el  Control IC: ILI9486/ILI9488   16bits
int contar = 0;
int valorpozo =0;

void setup()
{
  Serial.begin(57600);
   SPI.begin();
      radio.begin();
      network.begin(90, this_node);  //(channel, node address)
      radio.setDataRate(RF24_2MBPS);
  // _________________________________________________________________________________
#ifdef AVR
  Wire.begin();
#else
  Wire1.begin(); // Shield I2C pins connect to alt I2C bus on Arduino Due
#endif
  rtc.begin();
   if (! rtc.isrunning()) {     
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}   
// _________________________________________________________________________________

 
  randomSeed(analogRead(0));
    myGLCD.clrScr();
    // Setup the LCD
    myGLCD.InitLCD(LANDSCAPE);   //  PORTRAIT  o LANDSCAPE
    myGLCD.fillScr(0, 0, 0);   // fonde de pantalla en este caso negro
}

void loop()
{
   DateTime now = rtc.now();
   HoraFecha = rtc.now(); //obtenemos la hora y fecha actual
  
    segundo=HoraFecha.second();
    minuto=HoraFecha.minute();
    hora=HoraFecha.hour();
    dia=HoraFecha.day();
    mes=HoraFecha.month();
    anio=HoraFecha.year();

  /*  //Enviamos por el puerto serie la hora y fecha.
    Serial.print("   hora = ");
    Serial.print(hora);
    Serial.print(":");
    Serial.print(minuto);
    Serial.print(":");
    Serial.print(segundo);
    Serial.print("  Fecha = ");
    Serial.print(dia);
    Serial.print("/");
    Serial.print(mes);
    Serial.print("/");
    Serial.print(anio);
    Serial.println();
    */
    

contar = 1 + contar++;


//_____________________________________________________________________________________________
ArrayMaster[0] = 1;// analogRead(A1); 
ArrayMaster[1] = 2; //analogRead(A2); 
ArrayMaster[2] = 3;//analogRead(A0); 

  
  network.update();
  
  //______________Receiving______________________//

  
  while ( network.available() ) {     // Is there any incoming data?
    
    RF24NetworkHeader header;
  
    

    
      network.read(header, &ArrayNodo01, sizeof(ArrayNodo01)); // Read the incoming data
   

    
      network.read(header, &ArrayNodo02, sizeof(ArrayNodo02)); // Read the incoming data

   // }
 
  }

     //______________ Sending____________________//
  
  //RF24NetworkHeader header8(02);
  //bool ok = network.write(header8, &ArrayMaster, sizeof(ArrayMaster)); // Send the data


    Serial.print("Soy Master 00= ");
    
Serial.print("  Revico de Nodo02= ");
        Serial.print(   ArrayNodo02[0]);        Serial.print("-");
        Serial.print(   ArrayNodo02[1]);        Serial.print("-");
        Serial.print(   ArrayNodo02[2]);        Serial.print("-");
        Serial.print(   ArrayNodo02[3]);

        
Serial.print("      Revico de Nodo01= ");
         Serial.print(  ArrayNodo01[0]);        Serial.print("-");
         Serial.print(  ArrayNodo01[1]);        Serial.println("-");
  
}

Os adjunto también un foto del receptor para que veías como me va quedando…

Utft pantalla.png

No se ve la imagen del receptor. Lee al final de las normas como se visualiza una imagen adjunta.

Adjunto foto ya que cuando intento insertarla no me deja…