[SOLUCIONADO] Problema con modulo microSD y Arduino Leonardo

Buenas comunidad Arduino.

Tengo un pequeño problema al intentar utilizar mi módulo microSD, intento crear o abrir archivos de texto en mi microSD y no es capaz de hacerlo, alguno le ha presentado el mismo inconveniente? Cómo lo han solucionado?

El código usado fue el siguiente, me inicializa pero no me crea los archivos de datos.

#include <SD.h>

void setup() {
  Serial.begin(9600);
  
  while (!Serial) {
    ; //Espero hasta abrir el puerto serial
  }
  Serial.print("Iniciando microSD...");
  
  if (!SD.begin(4)) {
    Serial.println(" No se pudo inicializar");
    return;
  }
  Serial.println(" ¡¡¡Inicializacion exitosa!!!");
  Serial.println();
  
  File archivo = SD.open("archivo.txt");//abrimos  el archivo 
  
  if (archivo) {
    Serial.println("Archivo.txt: ");
    
    while (archivo.available()) {
      Serial.write(archivo.read());
    }
    archivo.close(); //Cerramos el archivo
  }
  else {
    Serial.println("  Error al abrir el archivo ");
  }
}

void loop() {
}

Gracias

En la imagen se aprecia claramente que la inicialización fue exitosa pero luego falla al abrir el archivo.
Tal vez este mal formateada la SD.
Qué formato le diste a la SD? Debería ser FAT32 de superar un tamaño de 2GB

Es de 1GB y formato FAT32, mira la imagen.

Captura.JPG

Carga el ejemplo CardInfo y nos cuentas qué aparece.

Ya lo corrí y según parece, todo está normal!

Adjunto imagen.

Captura.JPG

Van 3 privados donde te pido que edites las imágenes, el primero lo edité yo pero es tu deber como forero cumplir con las normas.
Por favor editalas o tomaré medidas para que me prestes atención!!!

La librería no encuentra el archivo en la tabla del directorio raíz. Solo encontró la carpeta SYSTEM~1 (nombre 8.3 de "System Volume Information", típica de Windows) y su contenido. Solo eso y nada más.

Copia el archivo una vez más e inténtalo de nuevo.

Es decir, que debo crear el archivo txt, ponerlo en la microSD y ahí sí intentar leerlo?

Es que pensé que se creaba automáticamente.

Muchas gracias, no me está permitiendo crear los archivos directamente, sin embargo intenté lo que comentaste anteriormente y funciona a la perfección. Cambiaré de memoria a ver si me permite sobrescribir los archivos.

Si open solo recibe el nombre como parámetro; asume el modo de sólo lectura. Crear un archivo implica escritura, por eso en "sólo lectura" la operación falla si el archivo no existe.

Si lo hubieras abierto junto con el parámetro FILE_WRITE; hubiera creado un archivo de al menos 0 bytes en caso de no existir. Si la tarjeta por alguna razón estuviera protegida contra escritura, la apertura con FILE_WRITE hubiera fallado también.