Arduino Nano - Écrire une variable sur une carte SD

Ce tutoriel vous explique comment écrire différents types de variables sur une carte Micro SD en utilisant un Arduino Nano. Plus précisément, nous examinerons :

Pour obtenir la clé-valeur de la carte Micro SD et la convertir en int, float ou chaîne, consultez Arduino Nano - Lire la configuration depuis la carte SD. Pour des instructions sur comment lire la clé-valeur de la carte Micro SD et la convertir en int, float ou chaîne, jetez un œil à Arduino Nano - Lire la configuration depuis la carte SD.

Carte Micro SD Arduino Nano

Préparation du matériel

1×Arduino Nano
1×USB A to Mini-B USB cable
1×Micro SD Card
1×Micro SD Card Module
1×Jumper Wires
1×USB 3.0 SD Card Reader
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du module de carte Micro SD

Si vous ne connaissez pas le module de carte Micro SD, y compris son brochage, son fonctionnement et comment le programmer, vous pouvez en savoir plus dans le tutoriel Arduino Nano - Carte Micro SD.

Diagramme de câblage

  • Vous pouvez utiliser des câbles jumper mâle-femelle pour connecter le module de carte micro SD à l'Arduino Nano.
Schéma de câblage du module de carte Micro SD Arduino Nano

This image is created using Fritzing. Click to enlarge image

  • Vous pouvez également brancher le module de carte micro SD sur la plaque d'essai, puis utiliser les fils cavaliers mâle-mâle.
Schéma de câblage du module de carte Micro SD Arduino Nano

This image is created using Fritzing. Click to enlarge image

Arduino Nano - Comment écrire une variable dans un fichier sur une carte Micro SD

Le code suivant :

  • Stocke une valeur entière sur une carte Micro SD
  • Stocke une valeur à virgule flottante sur une carte Micro SD
  • Stocke une chaîne de caractères sur une carte Micro SD
  • Stocke un tableau de caractères sur une carte Micro SD
  • Stocke un tableau d'octets sur une carte Micro SD
/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "ArduinoGetStarted.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); while (1); // don't do anything more: } Serial.println(F("SD CARD INITIALIZED.")); Serial.println(F("--------------------")); SD.remove("arduino.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println(myInt); // write int variable to SD card in line myFile.println(myFloat); // write float variable to SD card in line myFile.println(myString); // write String variable to SD card in line myFile.println(myCharArray); // write char array to SD card in line myFile.write(myByteArray, 5); myFile.write("\n"); // new line for (int i = 0; i < 5; i++) { myFile.write(myByteArray[i]); // new line if (i < 4) myFile.write(","); // comma } myFile.write("\n"); // new line myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } } void loop() { }

Étapes rapides

  • Assurez-vous que la carte Micro SD est formatée en FAT16 ou FAT32 (vous pouvez trouver des instructions sur la manière de procéder en effectuant une recherche sur Google).
  • Copiez le code et ouvrez-le dans l'IDE Arduino.
  • Ensuite, appuyez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino Nano.
  • Enfin, visualisez le résultat dans le moniteur série.
COM6
Send
SD CARD INITIALIZED. -------------------- -52 -12.70 HELLO ArduinoGetStarted.com 12345 1,2,3,4,5
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Retirez la carte Micro SD du module carte Micro SD.
  • Insérez la carte Micro SD dans un lecteur de carte SD USB.
  • Connectez le lecteur de carte SD USB au PC.
  • Ouvrez le fichier arduino-nano.txt sur votre PC ; il apparaît comme suit.
Arduino Nano écrit une variable sur la carte Micro SD

Arduino Nano - Comment écrire une clé-valeur dans un fichier sur une carte Micro SD

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "ArduinoGetStarted.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); while (1); // don't do anything more: } Serial.println(F("SD CARD INITIALIZED.")); Serial.println(F("--------------------")); SD.remove("arduino.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.print("myInt="); // write key to SD card myFile.println(myInt); // write int variable to SD card in line myFile.print("myFloat="); // write key to SD card myFile.println(myFloat); // write float variable to SD card in line myFile.print("myString="); // write key to SD card myFile.println(myString); // write String variable to SD card in line myFile.print("myCharArray="); // write key to SD card myFile.println(myCharArray); // write char array to SD card in line myFile.print("myByteArray="); // write key to SD card myFile.write(myByteArray, 5); myFile.write("\n"); // new line myFile.print("myByteArray2="); // write key to SD card for (int i = 0; i < 5; i++) { myFile.write(myByteArray[i]); // new line if (i < 4) myFile.write(","); // comma } myFile.write("\n"); // new line myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } } void loop() { }

Étapes rapides

  • Copiez le code et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour envoyer le code à l'Arduino Nano.
  • Vérifiez le résultat sur le Moniteur Série.
COM6
Send
SD CARD INITIALIZED. -------------------- myInt=-52 myFloat=-12.70 myString=HELLO myCharArray=ArduinoGetStarted.com myByteArray=12345 myByteArray2=1,2,3,4,5
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Retirez la carte Micro SD du module carte Micro SD.
  • Insérez la carte Micro SD dans un lecteur de carte SD USB.
  • Branchez le lecteur de carte SD USB sur le PC.
  • Ouvrez le fichier arduino-nano.txt sur votre ordinateur, il apparaît comme suit :
Arduino Nano écrit une variable sur une carte Micro SD

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!