Guide du module de carte SD avec Arduino
Dans cet article, nous allons vous montrer comment utiliser un module de carte SD avec Arduino pour lire et écrire des fichiers sur une carte SD.
Pour un projet Arduino avec le module de carte SD, lisez notre article de blog : Enregistreur de données de température Arduino avec carte SD .
Présentation du module de carte SD
Le module de carte SD est particulièrement utile pour les projets nécessitant l’enregistrement de données.
L’Arduino peut créer un fichier sur une carte SD pour écrire et enregistrer des données à l’aide de la bibliothèque SD .
Il existe différents modèles de différents fournisseurs, mais ils fonctionnent tous de la même manière, en utilisant le protocole de communication SPI. Le module utilisé dans ce tutoriel est celui montré dans la figure ci-dessous (vue avant et arrière).
Ce module fonctionne avec une carte micro SD.
Où acheter?
Le module de carte SD est très bon marché et vous pouvez en trouver un pour environ 3000 FCFA
Câblage des broches
Le tableau ci-dessous montre comment vous devez câbler le module de carte SD à votre Arduino
module de carte SD | Câblage à Arduino Uno | Câblage à Arduino Mega |
VCC | 3.3V ou 5V (vérifier la fiche technique du module) | 3.3V ou 5V (vérifier la fiche technique du module) |
CS | 4 | 53 |
MOSI | 11 | 51 |
CLK | 13 | 52 |
MISO | 12 | 50 |
GND | GND | GND |
Remarque : différentes cartes Arduino ont des broches SPI différentes. Si vous utilisez une autre carte Arduino, consultez la documentation officielle Arduino .
Préparation de la carte SD
La première étape lors de l’utilisation du module de carte SD avec Arduino consiste à formater la carte SD en FAT16 ou FAT32. Suivez les instructions ci-dessous.
1) Pour formater la carte SD, insérez-la dans votre ordinateur. Allez sur Poste de travail et faites un clic droit sur la carte SD . Sélectionnez Format comme indiqué dans la figure ci-dessous.
2) Une nouvelle fenêtre apparaît. Sélectionnez FAT32 , appuyez sur Démarrer pour initialiser le processus de formatage et suivez les instructions à l’écran.
Test du module de carte SD
Insérez la carte SD formatée dans le module de carte SD.
Connectez le module de carte SD à l’Arduino comme indiqué dans les schémas de circuit ci-dessous ou vérifiez le câblage des broches dans la section précédente.
Remarque : selon le module que vous utilisez, les broches peuvent être dans un ordre différent.
Code – InfoCarte
Pour vous assurer que tout est correctement câblé et que la carte SD fonctionne correctement, dans la fenêtre Arduino IDE, accédez à Fichier > Exemples > SD > CardInfo .
Téléchargez le code sur votre carte Arduino. Assurez-vous que vous avez sélectionné la bonne carte et le bon port COM.
Ouvrez le moniteur série à un débit en bauds de 9600 et vous devriez voir les informations de votre carte SD.
Si tout fonctionne correctement, vous verrez un message similaire sur le moniteur série.
Lire et écrire sur la carte SD
Le Dakota du Sud La bibliothèque fournit des fonctions utiles pour écrire et lire facilement à partir de la carte SD.
Pour écrire et lire à partir de la carte SD, vous devez d’abord inclure le SPI et Dakota du Sud bibliothèques :
#include <SPI.h>
#include <SD.h>
Vous devez également initialiser le module de carte SD sur la broche Chip Select (CS) – dans notre cas, la broche 4.
SD.begin(4);
Pour ouvrir un nouveau fichier sur la carte SD, vous devez créer un fichierobjet qui fait référence à votre fichier de données. Par exemple:
dataFile = SD.open("data.txt", FILE_WRITE);
Le premier paramètre de cette fonction est le nom du fichier, données.txt, et le FILE_WRITE ;argument vous permet de lire et d’écrire dans le fichier.
Cette ligne de code crée un fichier appelé data.txt sur votre carte SD. Si le fichier data.txt existe déjà, Arduino ouvrira le fichier au lieu d’en créer un autre.
Pour écrire des données dans le fichier actuellement ouvert, vous utilisez :
dataFile.write(data);
Dans lequel la fichier de données est l’objet fichier créé précédemment et le Les données est ce que vous voulez écrire dans le fichier.
Vous pouvez également utiliser le imprimer() ou alors println() fonctions pour imprimer les données dans le fichier :
dataFile.print(data);
dataFile.println(data); // followed by a new line
Pour lire les données enregistrées dans votre fichier :
dataFile.read();
Vous ne pouvez écrire que dans un fichier à la fois, vous devez donc fermer un fichier avant de passer au suivant. Pour fermer le fichier data.txt que nous venons de créer :
SD.close("data.txt");
L’argument de cette fonction est le fichier que vous souhaitez fermer, dans ce cas data.txt .
Pour un croquis complet sur la façon de lire et d’écrire, dans votre IDE Arduino, accédez à Fichier > Exemples > SD > ReadWrite.
Fin
Ce n’était qu’une brève introduction au module de carte SD avec l’Arduino.
Assurez-vous de consulter l’article de blog suivant pour un exemple de projet d’enregistrement de données utilisant le module de carte SD avec Arduino :
Dans ce projet, nous sauvegardons les relevés de température sur une carte SD avec horodatage à l’aide du capteur de température DS18B20 et du module RTC .