Tuto Arduino et carte SD

mercredi 16 octobre 2019.
 
Il suffit de 6 fils connectés à un module SD (coût environ 4€) équipé d’une carte SD (se limiter à 32GB, Fat 32, Mode 10 de preference car la plus rapide) pour obtenir un "disque" de 32GB.

Les Exemples de la bibliothèque officielle "SD" sont parfaits pour se mettre en main cet outil simple et puissant.

Les connexions :

-  CS sur D4 le reste en SPI soit :

-  Mosi = D11, Miso =D12, Clk (ou Slk) = D13

-  +5V et masse

Ce logiciel contient les principales fonctions pour les cartes SD.

Template_carte_SD031019-2 - 2.7 ko

Template_carte_SD031019-2

Les grands principes

Tout fichier est purement séquentiel.

Chaque enregistrement (ligne) est une chaine de caractères de type

String(158) + " ;" + String(D180) +...

Quand on ouvre un fichier en lecture

-  myFile = SD.open("cefic.csv")

son index pointe à la première ligne du fichier. Cet index progresse à chaque lecture. On peut aussi decider d’y écrire une ligne.

Quand on ouvre un fichier en écriture

-  myFile = SD.open("cefic.csv", FILE_WRITE)

on crée le fichier cefic.csv s’il n’existe pas, et son index pointe après le dernière ligne présente, prêt à écrire la prochaine ligne.

Performances

L’écriture d’une ligne de 6 valeurs prend 1.5 ms environ. Par contre la fermeture du fichier prend 20 ms.

Donc si les données arrivent rapidement, les écrire "au vol", et ne fermer le fichier que de temps en temps.

Ce logiciel de test montre que 30 000 lignes sont écrites en 45 s, vérifiant 1.5 ms par ligne.

SD_Essais_de_timing_290919-2 - 1.7 ko

SD_Essais_de_timing_290919-2


Répondre à cet article

Forum