Comment fonctionne un module de carte micro SD et comment l’interfacer avec Arduino?

Arduino Micro SD Card Module Project

Si vous êtes un ingénieur intégré et que vous travaillez dans l’industrie électronique, de temps en temps, il y aura des situations où vous devez enregistrer et stocker une énorme quantité de données que la mémoire interne d’un Arduino peut gérer, des exemples pourraient être comme n’importe quel projet d’enregistrement comme Battery Logger, Tempet Logger ou GPS Tracker. La solution à ce problème consiste à utiliser une carte SD ou une carte micro SD qui contient des gigaoctets de données et sa taille est plus petite qu’une pièce de roupie. Donc, dans ce tutoriel, nous avons décidé de Interface le module de carte SD avec Arduino Et nous vous informerons de tous les détails. Donc, sans plus tarder, allons-y.

Le module de carte Micro SD a 6 broches; Ce sont GND, VCC, Miso, Mosi, SCK et CS. Toutes les broches de ce module de capteur sont numériques, à l’exception de VCC et de terre. L’épingle d’un module de carte micro SD est illustré ci-dessous:

Comment fonctionne un module de carte micro SD et comment

GND est la broche de terre du module de carte micro SD et il doit être connecté à la broche de terre de l’Arduino.

VCC est la broche d’alimentation du module de carte micro SD qui peut être connectée à 5V ou 3,3 V de l’alimentation.

Miso représente le maître à l’esclave. Il s’agit des données SPI à partir du module de carte SD.

Mosi signifie Master Out Slave In. Il s’agit de la broche d’entrée du module de carte SD.

SCK signifie une horloge série car le nom implique qu’il s’agit de l’impulsion de synchronisation des données générée par l’Arduino.

CS signifie Chip Select, cette broche peut être contrôlée par l’Arduino pour activer ou désactiver le module.

Il s’agit d’un capteur bon marché et facile à utiliser qui peut être utilisé pour de nombreuses applications différentes. Ce capteur peut être utilisé pour lire les données de la carte SD avec le microcontrôleur. Le marquage des pièces du module de carte SD est illustré ci-dessous.

1755837095 559 Comment fonctionne un module de carte micro SD et comment

Si vous examinez de près le module de carte Micro SD, il n’y a pas grand-chose sur le PCB lui-même. Il n’y a que trois composants qui sont significatifs, d’abord le support de carte Micro SD lui-même. Ce support nous permet d’échanger facilement entre différents modules de cartes SD. La deuxième chose la plus importante est le niveau de levier de vitesses IC car le module de carte SD s’exécute uniquement sur 3,3 V et il a une tension de fonctionnement maximale de 3,6 V, donc si nous connectons directement la carte SD à 5V, il tuera certainement la carte SD. En outre, le module a un régulateur de dépôt ultra-bas à bord qui convertira la tension de 5V à 3,3 V. C’est aussi pourquoi ce module peut fonctionner sur une puissance 3,3 V.

Quel format est le meilleur pour une carte SD?

Lors de la mise en forme des cartes SD, votre meilleur choix est de les formater à l’aide d’EXFAT.

Les cartes SD ont-elles un micrologiciel?

Les cartes SD sont préprogrammées avec le micrologiciel. Le firmware contient les instructions dans ROM (mémoire en lecture seule) pour l’appareil et permet au périphérique de « démarrer ».

La mise en forme des cartes SD raccourcit-elle la vie?

La réponse simple et simple à cette question est oui, elle raccourcit la durée de vie de la carte SD. Le format passe par toute la carte, efface les données et marque les blocs comme disponibles. Étant donné que les cartes ont une quantité limitée de lecture / écriture, le formatage peut raccourcir la durée de vie d’une carte.

Qu’est-ce qu’une carte EXFAT SD?

EXFAT (Tableau d’allocation de fichiers extensible) est un système de fichiers introduit par Microsoft en 2006 et optimisé pour la mémoire flash telle que les lecteurs flash USB et les cartes SD. Exfat a été propriétaire jusqu’au 28 août 2019, lorsque Microsoft a publié ses spécifications. Microsoft détient des brevets sur plusieurs éléments de sa conception.

Le module est fabriqué avec des composants très génériques et facilement disponibles. Le diagramme schématique du module de carte micro SD est illustré ci-dessous.

Comment fonctionne un module de carte micro SD et comment

Comme vous pouvez le voir dans le schéma ci-dessus, nous avons le connecteur de carte micro SD qui est un connecteur de type push-out et le connecteur est connecté à un IC de levier de vitesses au niveau logique. La tension de fonctionnement maximale du module est de 3,6 V, donc le SHIFTER IC de niveau logique devient très important. Pour alimenter la carte SD et le convertisseur de niveau logique, nous utilisons un LM1117 LDO, c’est pourquoi ce module peut fonctionner avec les niveaux de logique 3,3 V et 5 V. Le connecteur JP1 au bas du schéma représente le connecteur au bas du module de carte micro SD.

Actuellement que nous avons complètement compris comment fonctionne un module de carte micro SD, nous pouvons connecter tous les fils requis à l’Arduino et écrire le code pour obtenir toutes les données du capteur. Le diagramme de connexion du module de carte micro SD avec Arduino est illustré ci-dessous

1755837095 363 Comment fonctionne un module de carte micro SD et comment

La connexion du module de carte Micro SD à l’Arduino Uno est très simple, nous avons juste besoin de connecter les lignes SPI qui est SCK, Miso et Mosi, à la ligne SPI Arduinos qui est SCK (D13), MOSI (D12) et MISO (D11) et s’il y a plusieurs appareils connectés sur le SPI Bus, alors nous avons également besoin de connecter la ligne CS pour la ligne CS pour le commerce ardu. À part cela, le VCC et le sol sont utilisés pour alimenter l’appareil.

1755837095 516 Comment fonctionne un module de carte micro SD et comment

1755837101 509 Comment fonctionne un module de carte micro SD et comment

Avant d’insérer la carte SD dans le module de lecteur de carte SD, vous devez formater correctement la carte avant de pouvoir réellement travailler avec elle, sinon, vous auriez des problèmes car le module de lecteur de carte SD ne peut lire que des systèmes de fichiers FAT16 ou FAT32. Si votre carte SD est nouvelle, il est probable que la carte soit formatée en usine, cela peut également ne pas fonctionner parce qu’une carte pré-format est livrée avec un système de fichiers gras, de toute façon, il est préférable de formater l’ancienne carte pour réduire les problèmes pendant le fonctionnement.

L’arduino pour lire et écrire des données du module de carte SD est illustré ci-dessous. Le code est très simple et facile à comprendre. Le code vérifie s’il existe un nom de fichier «Data_log.txt» Si le fichier existe, il continue d’écrire les informations données sur la carte SD et sinon, le code créera le fichier dans la carte SD, puis rédigera les données sur la carte SD. Nous pouvons ouvrir plus tard le fichier et vérifier le contenu s’il est écrit ou non.

Nous commençons notre code en définissant la bibliothèque SD et nous déclarons également le chipselect Pin du module, ensuite nous définissons une variable de type de fichier et le nom Myfile.

#include <SD.h>
const int chipSelect = 10;
File myFile;

Ensuite, nous avons notre installation fonction; Dans la fonction de configuration, nous initialisons la série pour le débogage. Nous vérifions également si la carte SD est correctement connectée aux broches SPI de l’Arduino.

  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  // wait for Serial Monitor to connect. Needed for native USB port boards only:
  while (!Serial);

Ensuite, nous avons fait une fonction nommée « Check_and_create_file () ». Dans cette fonction, nous vérifions si data_log.txt Le fichier existe dans la carte SD ou non, si le fichier existe, nous procéderons avec notre code et sinon, nous créerons le fichier. Pour créer un fichier sur la carte SD, vous avez juste besoin de l’ouvrir et de le fermer très rapidement sans délai et le fichier sera créé.

void check_and_create_file()
{
  Serial.print("Initializing SD card...");
  /*Check if the SD card exist or not*/
  if (!SD.begin(chipSelect)) {
    Serial.println("initialization failed!");
    while (1);
  }
  Serial.println("initialization done.");
  if (SD.exists("data_log.txt"))
    Serial.println("data_log.txt exists.");
  else
  {
    Serial.println("data_log.txt doesn't exist.");
    /* open a new file and immediately close it:
      this will create a new file */
    Serial.println("Creating data_log.txt...");
    myFile = SD.open("data_log.txt", FILE_WRITE);
    myFile.close();
    /* Now Check again if the file exists in
      the SD card or not */
    if (SD.exists("data_log.txt"))
      Serial.println("data_log.txt exists.");
    else
      Serial.println("data_log.txt doesn't exist.");
  }
}

Ensuite, nous rédigerons du texte sur la carte SD et nous lirons également ce texte dans la fenêtre du moniteur série. De cette façon, nous saurons que le texte a été écrit avec succès sur la carte SD. Nous avons fait une fonction nommée read_write_sd_text () qui le fait automatiquement. Appelez simplement cette fonction et vous avez terminé.

À l’intérieur de la fonction, nous ouvrons un

void read_write_sd_text()
{
  myFile = SD.open("data_log.txt", FILE_WRITE);
  // if the file opened okay, write to it:
  if (myFile) {
    Serial.print("Writing to data_log.txt...");
    myFile.println("Testing Data Write 1, 2, 3.");
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening data_log.txt");
  }
  // re-open the file for reading:
  myFile = SD.open("data_log.txt");
  if (myFile) {
    Serial.println("data_log.txt:");
    // read from the file until there's nothing else in it:
    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening data_log.txt");
  }
}

Cela marque la fin de notre section de code et nous pouvons passer à une autre section de l’article.

Le GIF ci-dessous montre comment fonctionne le module de carte SD. Nous avons écrit le code Arduino afin qu’après l’initialisation de l’Arduino, le code vérifie s’il peut trouver une carte SD ou non. S’il trouve une carte SD, il vérifiera si le fichier texte existe ou non si le fichier existe, le code continuera, sinon le code créera simplement un nouveau fichier texte et une fois cela fait, il rédigera le test 1, 2, 3. Dans le fichier texte. Ensuite, le code lira le fichier texte et imprimera les données à l’intérieur du texte dans la fenêtre du moniteur série.

  • Vérifiez si l’alimentation du module fonctionne correctement ou non. Vérifiez si le régulateur de tension LM1117-3.3V à bord fonctionne correctement ou non.
  • Formatez la carte Micro SD avant d’insérer la carte dans le module de carte SD.
  • Parfois, le format rapide dans Windows Systems ne fonctionne pas, vous devez donc formater la carte à l’aide de la méthode de format régulier ou vous pouvez utiliser le CMD Windows pour formater la carte Micro SD.
  • Si vous utilisez une ancienne carte Micro SD, assurez-vous que le contact de la carte SD est propre.

1755837101 359 Comment fonctionne un module de carte micro SD et comment

Enregistrer et stocker des données dans la carte SD avec un microcontrôleur PIC

Si vous recherchez des projets basés sur les microcontrôleurs PIC, ce projet pourrait être ce que vous recherchez, car dans ce projet, nous avons utilisé un module de carte PIC18F46K22 et SD pour créer un exemple qui peut enregistrer des données de texte sur un module de carte SD.

1755837102 250 Comment fonctionne un module de carte micro SD et comment

Enregistreur de données Arduino

Si vous recherchez sur Internet un projet sur Data Enregistreur de données, ce projet pourrait être pour vous car dans ce projet, nous avons interfacé un module de carte SD avec Arduino et la température, l’humidité et le temps stockés sur un module de carte SD.

1755837102 714 Comment fonctionne un module de carte micro SD et comment

Thermomètre infrarouge numérique à montage mural avec journalisation de la carte SD

Si vous êtes intéressé à vous construire un thermomètre infrarouge numérique, ce projet est pour vous. Dans ce projet, nous avons non seulement construit un thermomètre, mais nous avons également utilisé un module de carte SD pour stocker les données dans un module de carte SD afin que nous puissions rappeler les données si nécessaire.

Fichiers de support

1755837102 589 Comment fonctionne un module de carte micro SD et comment1755837102 735 Comment fonctionne un module de carte micro SD et comment

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video

  • DFROBOT MicroSD Card Module for Arduino
  • AZDelivery 3 x SPI Reader Mémoire Lecteur Micro SD TF Memory Card Module Shield Compatible avec Arduino incluant Un E-Book!