problema data logger SD+HC-05+Blynk

Salve a tutti

Volevo realizzare data logger che prendesse in ingresso dati, li inviasse via bluetooth all'applicazione blynk e li salvasse su micro SD.
Ho riscontrato questo problema: una volta inizializzato tutto correttamente e connessa l'applicazione, il programma sembra arrestarsi sulla scrittura della SD.

questo è il codice:

#define BLYNK_PRINT Serial

//Micro SD-------------------
#include <SPI.h>
#include <SD.h>
File myFile;
//---------------------------

//Bluethoot&Blynk------------------
#include <BlynkSimpleSerialBLE.h>
#include <SoftwareSerial.h>
SoftwareSerial SerialBLE(2, 3); // RX, TX
char auth[] = "iXwsUVOsy6lIzhkrk68GvTBnCsCKULXW";
BlynkTimer timer;
//--------------------------

//Sensore DHT11-------------
#include "DHT.h"
byte DHTin = 6;
DHT dht(DHTin, DHT11); //chiama la funzione dht e restiutisce un tipo DHT
//---------------------------



void setup()
{

  Serial.begin(9600);

  //Inizializzazione SD------------------------
  pinMode(10, OUTPUT);
  Serial.print("Initializing SD card...");

  if (!SD.begin(10)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  //--------------------------------------------

  //inizializzazioneBLE------------------------
  SerialBLE.begin(9600);
  Blynk.begin(SerialBLE, auth);
  Serial.println("Waiting for connections...");
  delay(1000);
  //-------------------------------------------


  //inizializzazione DHT11
  pinMode(DHTin, INPUT);
  dht.begin();
  //--------------------------------------------

  //Timer richiesta push e scrittura su SD-----
  timer.setInterval(5000, Lettura);
  //-------------------------------------------
}

void loop()
{
  Blynk.run();
  timer.run();
}

void Lettura() {


  byte H; //umidità
  float T; // temperatura in C°


  H = dht.readHumidity();
  T = dht.readTemperature();

  Scrittura(H,T);


  if (isnan(H) || isnan(T)) {
    Blynk.virtualWrite(V0, 0);
    Blynk.virtualWrite(V1, 0);
  }
  Blynk.virtualWrite(V0, T);
  Blynk.virtualWrite(V1, H);
  Serial.println(4);

}

void Scrittura(byte d1,float d2) {
  Serial.println(1);
  myFile = SD.open("meteo.txt", FILE_WRITE);
  Serial.println(2);
  if (myFile) {
    //Serial.print("Writing to file...");
    myFile.print(d2 );
    myFile.print(d1);
    myFile.println(";");
    myFile.close();
  } else {
    Serial.println("error opening for writeing file");
  }
  Serial.println(3);
}

chiamando la funzione scrittura dentro la funzione lettura l'esecuzione sembra arrestarsi su SD.open
sembrano esserci problemi con il Serial.print
Da seriale ottengo questo:

Initializing SD card...initialization done.
[9] 
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v0.6.1 on Arduino Nano

[137] Connecting...
[3277] Login timeout
[5277] Connecting...
[8364] Ready
Waiting for connections...
1
⸮

arduino nano
sensore DHT11
bluetooth HC-05
shield mirco SD