Limiti e info su SD/microSD

Ho cercato un po' in rete ma nessuno ne parla chiaramente e in modo trasparente.. Vorrei avere qualche informazione a proposito della lettura da scheda SD/microSD tramite Arduino, ovvero sapere che tipo di file può leggere (immagino tutti, basta sapere come leggerli?), la velocità con cui può leggerli, nel senso, riesce a leggere un file .mp3? Magari a riprodurlo? e un file .Flac? E infine il limite di memoria massimo che può avere la scheda, esiste?? Posso anche usare una scheda da 64 GB? Non ho esperienza con questa interfaccia perché non l'ho mai usata e prima di spendere soldi volevo capire se faceva al caso mio.. Ringrazio anticipatamente per eventuali risposte :slight_smile:

Ciao, se il tuo intento è riprodurre mp3 arduino da solo non ha la potenza necessaia di calcolo. Dovresti pensare di utilizzare una shield, ad esempio SparkFun MP3 Player Shield - DEV-12660 - SparkFun Electronics o ancora meglio Adafruit Music Maker MP3 Shield for Arduino w/3W Stereo Amp [v1.0] : ID 1788 : $34.95 : Adafruit Industries, Unique & fun DIY electronics and kits questa che dovrebbe riprodurre anche i .flac, per maggiori dettagli guarda le caratteristiche sul sito del produttore

Di per sé Arduino può leggere qualunque tipo di file, ma bisogna poi vedere cosa deve fare con i dati. Un MP3 non riuscirà mai a riprodurlo, indipendentemente dalla velocità con cui riesce a leggere la SD. Idem per un FLAC, ma vedi quanto detto da @fabpolli.

Se però deve leggere un MP3 e, ad esempio, trasferirlo da qualche altra parte tramite un qualunque protocollo, non c'è problema ovviamente. In questo caso, Arduino tratta i dati come binari, li legge e li scrive, senza interpretarli. Ovviamente lo farà sempre "alla sua velocità".

Sulle schede da 64 GB non so, io sono arrivato fino a 16. Comunque certe schede non gli piacciono e non funzionano, indipendentemente dalla dimensione. Io non ne ho mai incontrate però.

La libreria SD di Arduino legge solo le SD formattate fat (tutte le modalità), non supporta altri formati, sebbene prevede SD e SDHC il limite massimo è 32 Giga, comunque ha poco senso usare con Arduino SD di grandi dimensioni visti i limiti del sistema.
Come fatto notore da SukkoPera alcune marche/modelli di SD non vengono lette dalla libreria SD, capita facilmente con quelle cineseria da pochi soldi.

Uhm si interessante, grazie mille a tutti quanti!! Per cui posso ad esempio leggere anche file .txt? Be' per quanto riguarda la riproduzione degli .mp3, sarebbe interessante costruire una sorta di iPod, ma mi chiedo.. è possibile leggere anche i metadati dei file (tipo Autore di una canzone o Album)??

Hai accesso completo alla SD, il che vuol dire che puoi leggere qualunque file, ma sempre in binario. Interpretare quel che leggi è un'altra cosa. Dubito esista una libreria Arduino già pronta che interpreta i metadati dei file audio, per cui dovresti scriverti da solo il codice che lo fa. Per gli ID3 1.0 è banale, per tutti gli altri è un discreto casino :D.

SukkoPera:
Hai accesso completo alla SD, il che vuol dire che puoi leggere qualunque file, ma sempre in binario ...

... che espresso in un concetto terra terra ... tu leggi byte a byte il contenuto di un file, di cosa è quel file, che tipo è e quello che c'è dentro, alla libreria non frega nulla e ... sono affaracci tuoi saper interpretare il contenuto (... e quindi riconoscere tutta la struttura interna di determinati files).

Guglielmo