Arduino Nano ile NodeMCU'nun nRF24l01 ile haberleşme sorunu

Merhaba arkadaşlar. Öncelikle yapmak istediğimi kısaca anlatayım. GPS modülünden gelen koordinatları Arduino Nano ile nRF24l01(antenli) üzerinden NodeMCU’ya gönderip Thinkspeak’a geçmiş konum bilgilerini kaydetmek blynk 'e de anlık konumu takip etmek için göndereceğim. Arduino Nano ile Arduino Uno aşağıdaki kod ile sorunsuz çalışıyor fakat NodeMCU’ya bu veriler gelmiyor.

Voltaj sorunu olabilir diyenler nRF24l01’i Arduino Uno ile besledim, olmadı.
nRF24l01 ler için voltaj regülatörü kullandım o da olmadı. En iyi sonucu Arduinolardaki 3 veya 3,3 V kısımlarında aldım.
Aşağıdaki kod dışında DHT11 için yapılan uygulamalardan bazılarında NodeMCU ile haberleştirdim. Hatta Thinkspeak ve blynk e veri gönderdim. Yalnız verilerin ondalık kısımlarını göndermeyi bir türlü başaramadım. En iyi kod aşağıda verdiğim yalnız nedense NodeMCU 'a göndermiyor.

**TRANSMITTER**
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <SoftwareSerial.h>
#include <TinyGPS++.h>


TinyGPSPlus gps;
SoftwareSerial ss(4, 3);
RF24 radio(8, 7); // CE, CSN


struct dataStruct{
  double latitude;
  double longitude;
  unsigned long date;
  unsigned long time;
}gpsData;


void setup() {
  Serial.begin(115200);
  ss.begin(9600);
  
  Serial.println("Setting up radio");
  //  Setup transmitter radio
  radio.begin();
  radio.openWritingPipe(0xF0F0F0F0E1LL);
  radio.setChannel(0x76);
  radio.setPALevel(RF24_PA_MAX);
  radio.setDataRate(RF24_250KBPS);
  radio.stopListening();
  radio.enableDynamicPayloads();
  radio.powerUp();
  Serial.println("Starting to send");
}


void loop() {
  while (ss.available() > 0){
    if (gps.encode(ss.read())){
      getInfo();
     radio.write(&gpsData, sizeof(gpsData));
    }
  }
} 


void getInfo(){
  if (gps.location.isValid()){
    gpsData.longitude = gps.location.lng();
    gpsData.latitude = gps.location.lat();
  }
  else{
    gpsData.longitude = 0.0;
    gpsData.latitude = 0.0;
  }
  if (gps.date.isValid()){
    gpsData.date = gps.date.value();
  }
  else{
    gpsData.date = 0;
  }
  if (gps.time.isValid()){
    gpsData.time = gps.time.value();
  }
  else{
    gpsData.time = 0;
  }
}

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

RF24 radio(8, 7); // CE, CSN

struct dataStruct{
double latitude;
double longitude;
unsigned long date;
unsigned long time;
}gpsData;

void setup() {
Serial.begin(115200);
// Setup receiver radio
radio.begin();
radio.openReadingPipe(1, 0xF0F0F0F0E1LL);
radio.setChannel(0x76);
radio.setPALevel(RF24_PA_MAX);
radio.setDataRate(RF24_250KBPS);
radio.startListening();
radio.enableDynamicPayloads();
radio.powerUp();
}

void loop() {
if (radio.available()) {
radio.read(&gpsData, sizeof(gpsData));
Serial.print("Location: “);
Serial.print(gpsData.latitude, 6);
Serial.print(”, “);
Serial.print(gpsData.longitude, 6);
Serial.print(” Date: “);
Serial.print(gpsData.date);
Serial.print(” Time: ");
Serial.print(gpsData.time);
Serial.println();}
}