Incompatibilità tra libreria Rtc Sd

Ragazzi nel mio sketch non tiesco a farli funzionare contemporaneamente

Se commento tutte le righe relative a Rrclib allora la scheda Sd viene letta altrimenti viene letta ma non viene caricato il file in questione.

I particolare si blocca( ho fatto un debug lungo e doloroso !!) su

if(config_file)

In pratica ritorna falso

Cosa poter fare a questo punto ??

iButton_v10.ino (11 KB)

Buona sera, stavo cercando notizie sulla libreria SD che sto usando in un datalogger che sto mettendo su e mi sono imbattuto nel suo post.
Premetto che sono un neofita di programmazione quindi ciò che dirò sarà frutto della mia esperienza che potrebbe essere anche errata.

Cominciamo:
Io utilizzo queste librerie

...
#include <SD.h>
#include <SPI.h>
#include <Wire.h>
#include "RTClib.h"

e i collegamenti sono questi:

/*..
 SCHEDA   riferimento     PINS DI ARDUINO
 RTC      SDA             A4
 RTC      SCL             A5

...

 SD      CS               D10
 SD      MOSI             D11
 SD      MISO             D12
 SD      SCK              D13
 SD alimentazione 3.3 volts

...*/

Non ho avuto problemi di sorta sul funzionamento dell’hardware, se non che la libreria SD non funziona come descritto, nel senso che durante il setup() la chiamata SD.begin funziona e si riesce ad aprire un file e scrivere, ma se estrai la card (loop in delay) e la reinserisci non si riesce più a scrivere se non resettando Arduino.

Ho risolto usando delle funzioni della libreria SD che non sono descritte nel sito e di cui non ho trovato reference o altro se non negli esempi riguardanti le SD nello sketch chiamato “CardInfo”. Sd2Card, SdVolume e SdFile sono le funzioni in questione e le ho usate così

....
Sd2Card card;
SdVolume volume;
SdFile root;
File myFile;
...
void setup() {
......
SD.begin
....}

void loop()  {....}

void altraFunzione(){
.....
    card.init(SPI_FULL_SPEED, CS_pin);
    volume.init(&card);
    root.openRoot(&volume);
    SD.begin();
....
}
....

vorrei richiamare l’attenzione su:

File myFile necessaria per poter aprire un file sul quale scrivere o leggere o altro con la libreria SD

SD.begin sufficiente in setup() per inizializzare la scheda e renderla usabile

SD.begin nelle successive chiamate dove deve essere utilizzata per poter lavorare sui file dopo l’estrazione e successivo reinsermento della SDcard, ma non è sufficiente a reinizializzarla e si rendono necessarie le chiamate precedenti che ho usato a naso non avendo documentazione a corredo.

Spero di esserle stato di aiuto.

Colgo l’occasione per aprire una parentesi e mi rivolgo a chi lavora sulle librerie. Se ci sono degli strumenti vanno fatti conoscere, da un post letto nella ricerca di soluzioni, ho trovato che non vengono presentati questi strumenti perchè gli sviluppatori non vorrebbero fossero utilizzati, va bene, ma se non ci sono alternative?

@ezio62: essendo il tuo primo post, ti consiglio di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione) e di leggere con attenzione il REGOLAMENTO ... Grazie.

Guglielmo