Interface du module de carte SD avec Raspberry Pi Pico

Interface du module de carte SD avec Raspberry Pi Pico

Schéma de brochage du module de carte SD montrant les broches VCC, GND, MISO, MOSI, SCK et CS

Épingle Fonction Description des signaux
VCC Pouvoir Se connecte à 3,3 V sur le Pico.
GND Sol Terrain de référence commun.
MISO/DO Maître en esclave Ligne de données SD → Pico.
MOSI/DI Sortie maître, entrée esclave Pico → Ligne de données SD.
SCK Horloge SPI Signal d’horloge de Pico.
CS Sélection de puce Sélectionnez le module SD sur le bus SPI.

Composants du module de carte SD, notamment le régulateur AMS1117, les décaleurs de niveau et les résistances de rappel

  • Régulateur AMS1117-3.3
    Réduit de 5 V à 3,3 V, garantissant un fonctionnement sûr de la carte SD.
  • Level Shifters (Sur certains modules)
    Réseaux de transistors/résistances qui convertissent la logique 5 V en 3,3 V.
  • Résistances de rappel
    Maintenez les états logiques corrects sur les lignes SPI.
  • Prise MicroSD
    Accepte les cartes microSD standard.
Composant Quantité Remarques
Raspberry Pi Pico 1 Microcontrôleur basé sur RP2040 avec SPI0 sur les broches GP16-GP19
Module carte SD 1 Doit inclure un régulateur 3,3 V et une interface SPI
Planche à pain 1 Pour les connexions de prototypage
Fils de liaison Plusieurs Mâle vers femelle ou mâle vers mâle selon module
Câble USB 1 Micro-USB pour l’alimentation et la programmation

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

Schéma de câblage complet pour l'interface du module de carte SD avec Raspberry Pi Pico montrant les connexions des broches

Épingle Pico Broche SD Description
3V3 VCC Alimentation sécurisée pour le module SD
GND GND Terrain d’entente
GP19 MOSI / DI SPI0 MOSI
GP16 MISO / FAIRE SPI0 MISO
GP18 SCK Horloge SPI0
GP17 CS Sélection de puce
  • Envoi et réception de données via le bus SPI
  • Création et suppression de fichiers
  • Gestion de la mémoire utilisée pour la lecture et l’écriture
  • Gestion des dossiers et fichiers sur une carte SD au format FAT32
  • Supprimez toutes les partitions existantes à l’aide de la gestion des disques.
  • Créez une partition principale et assurez-vous que la carte utilise MBRpas GPT.
  • Formatez la carte pour FAT32.
  • Si la carte SD est supérieure à 8 Go, créez une partition de seulement 4 Go ou 8 Go et laissez l’espace excédentaire non alloué.
  • Windows ne formatera pas par défaut les cartes de plus de 32 Go en FAT32.
  • Pour les cartes SDXC, utilisez Rufus ou Format GUI pour les formater correctement.
  • Insérez la carte dans le module SD.

Photo de câblage de la planche à pain montrant le module de carte SD connecté au Raspberry Pi Pico

Problème Symptôme Solution
formatage exFAT Erreur « ÉCHEC de l’initialisation SD » Reformater en FAT32 avec Rufus
Table de partition GPT Carte non détectée Convertir en table de partition MBR
Plusieurs partitions Seule la première partition accessible Utiliser une seule partition principale
Mauvaise insertion Aucune communication Assurez-vous que la carte s’enclenche complètement dans le support.
#include 
#include 
const uint8_t CSPIN = 17;
const char *FILENAME = "demo.txt";
Serial.begin(115200);
if (!SD.begin(CSPIN, SPI)) {
   Serial.println("SD init FAILED");
}
if (Serial.available()) {
   String s = Serial.readStringUntil('\n');
   char c = s.charAt(0);
   switch (c) { ... }
}
File f = SD.open(FILENAME, FILE_WRITE);
f.println("Pico SD Demo initialized.");
f.close();
String text = Serial.readStringUntil('\n');
File f = SD.open(FILENAME, FILE_WRITE);
f.println(text);
f.close();
File f = SD.open(FILENAME, FILE_READ);
while (f.available()) {
   Serial.write(f.read());
}
SD.remove(FILENAME);
Serial.println("File deleted.");
  • Le Pico affiche les options du menu SD sur le moniteur série.
  • L’utilisateur sélectionne 1, 2, 3 ou 4 pour effectuer une opération de fichier spécifique.
  • Le Pico exécute l’action immédiatement sur la carte SD et le Serial Monitor affiche le résultat en temps réel.
  • La carte SD est formatée en exFAT au lieu de FAT32 (très courant avec les cartes SD de 32 Go et plus).
  • Le câblage est incorrect ; il arrive souvent que MOSI et MISO soient intervertis.
  • Le circuit de décalage de niveau sur les modules SD à faible coût peut ne pas fonctionner de manière fiable.
  • Le code utilise peut-être la mauvaise broche CS.
  • La carte microSD n’est peut-être pas complètement insérée.
  • La carte SD elle-même peut être défectueuse ou difficile, en particulier les cartes microSD haute vitesse.

Il s’agit du problème le plus courant lors de l’interface du module de carte SD avec la configuration des broches Raspberry Pi Pico.

Cause première Comment vérifier Solution
Système de fichiers incorrect (exFAT/NTFS) Vérifier les propriétés de la carte sur PC Reformater en FAT32 en utilisant Rufus ou GUIFormat
MOSI/MISO échangés Revérifier le schéma de câblage Échangez les connexions GP19 (MOSI) et GP16 (MISO)
Mauvais code PIN CS dans le code Vérifiez que CSPIN = 17 correspond au câblage GP17 Mettre à jour la constante CSPIN ou recâbler vers GP17
Carte pas complètement insérée Écoutez le clic lors de l’insertion Retirez et réinsérez fermement la carte
Carte SD défectueuse Carte de test sur PC/caméra Essayez différentes cartes connues
Mauvaises connexions de la planche à pain Vérifier la continuité avec un multimètre Réinstallez les fils, évitez les rangées de planches à pain endommagées
  • La carte SD n’a peut-être pas de code valide FAT32 partition principale.
  • Le nom ou le chemin du fichier est peut-être incorrect ou le fichier n’a pas été créé au préalable.
  • La carte SD peut être protégée en écriture (rare mais possible avec certains adaptateurs).
  • Si le moniteur série affiche des caractères illisibles :
  • Le débit en bauds du moniteur série n’est pas défini sur 115 200 ; il doit correspondre au code.
    La carte SD peut ne pas recevoir une alimentation stable, ce qui entraîne des lectures corrompues ou incomplètes.

Conclusion : maîtriser l’interfaçage de la carte SD avec Raspberry Pi Pico

Ce projet a été créé par l’équipe d’ingénierie de CircuitDigest. Nos experts se concentrent sur la création de didacticiels pratiques qui aident les créateurs et les ingénieurs à maîtriser les projets Raspberry Pi Pico, les projets Arduino et les projets de développement IoT.

J’espère que vous avez aimé cet article et que vous en avez appris quelque chose de nouveau. Si vous avez des doutes, vous pouvez les poser dans les commentaires ci-dessous ou utiliser notre forum CircuitDigest pour une discussion détaillée.

Projets d’enregistreur de données associés avec Raspberry Pi et Arduino

  Module de carte Micro SD avec Arduino : compréhension et interfaçage  Thermomètre infrarouge numérique à montage mural sans contact avec enregistrement sur carte SDEnregistreur de données de température utilisant Raspberry Pi Pico et capteur de température DHT22Enregistreur de données OBD-II avec tableau de bord IoT et Dashcam

Enregistreur de données OBD-II avec tableau de bord IoT et Dashcam

Un système d’accessoires de voiture tout-en-un qui fonctionne comme une dashcam, un enregistreur OBD-II, un tracker GNSS et un appareil IoT – enregistrant des vidéos, suivant la localisation, surveillant l’état du véhicule et stockant des données sur une carte SD avec accès à distance via un tableau de bord IoT.

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

YouTube video

  • Compatible for Raspberry Pi Pico Expansion Mini Board, Multi-Functional Breakout Module with Grove Connectors, RTC, RGB, Audio, SD, Ba-ttery Charging for DIY Projects Include Ba-ttery Holder
  • ANGEEK 5 pièces SD Card Reader Module SD Card Shield Module Compatible avec Arduino ESP Raspberry Pi