Dans un précédent article, nous avons vu comment écrire et lire un fichier dans la mémoire flash interne du Raspberry Pi Pico. Mais dans certains cas, il est préférable d'enregistrer les fichiers sur une carte SD afin de bénéficier d'un plus grand espace de stockage, pour partager les fichiers avec un autre appareil, etc.
Dans le présent article, nous enregistrerons des données sur une carte SD au moyen d'un Raspberry Pi Pico programmé en MicroPython.
Connexions
Voici comment j'ai connecté mon module carte SD au Raspberry Pi Pico:
- Broche GND du module carte SD: GND du Raspberry Pi Pico
- Broche +3.3 du module carte SD: sortie 3,3 V du Raspberry Pi Pico
- Broche CS du module carte SD: broche GP9 du Raspberry Pi Pico
- Broche MOSI du module carte SD: broche GP11 du Raspberry Pi Pico
- Broche SCK du module carte SD: broche GP10 du Raspberry Pi Pico
- Broche MISO du module carte SD: broche GP8 du Raspberry Pi Pico
Installation du pilote sdcard.py
Nous utiliserons le pilote sdcard.py pour MicroPython, qui doit donc être copié dans la mémoire flash du Raspberry Pi Pico.
Script MicroPython
Après avoir affiché la liste des fichiers déjà présents sur la carte, ce court programme écrit un nombre aléatoire à l'intérieur d'un fichier texte intitulé "hasard.txt". Le fichier sera automatiquement créé s'il n'existait pas déjà. Puisque j'ai utilisé l'argument "a" (append), le nouveau nombre est ajouté à la fin du fichier, dont le contenu initial demeure intact.
Le fichier est ensuite lu (notez l'utilisation de l'argument "r": read) et son contenu est affiché.
-
-
Résultat
Voici ce qui s'affiche lors de la première exécution du script avec une carte SD qui contient déjà quelques fichiers:
Sachez toutefois que le fonctionnement n'est pas garanti sur n'importe quelle carte SD. Sur les 6 cartes que j'ai essayées, 3 ont fonctionné correctement, alors que les 3 autres ont échoué le test en affichant 3 messages d'erreur différents: "No SD card", "Couldn't determine SD card version" et "[Errno 5] EIO". Si vous disposez déjà d'un certain nombre de cartes, vous devriez réussir à en identifier au moins une qui fera l'affaire. Mais si vous devez vous procurer une nouvelle carte spécialement pour ce projet, rien ne vous permet de savoir à l'avance si elle fonctionnera ou non!
À lire également:
D'autres projets impliquant le Raspberry Pi Pico:
- Programmer le Raspberry Pi Pico en MicroPython avec Thonny
- Écriture et lecture d'un fichier dans la mémoire flash du Raspberry Pi Pico
- Utilisation de l'horloge interne du Raspberry Pi Pico (machine.RTC)
- Robot quadrupède à base de Raspberry Pi Pico
D'autres utilisations du module carte SD:
- Utilisation d'une carte SD avec un Arduino
- Utilisation d'une carte SD avec une carte ESP32
- Utilisation d'une carte SD avec une carte ESP8266
- Utilisation d'une carte SD avec une carte STM32
- Utilisation d'une carte SD avec une carte MSP430 Launchpad
Yves Pelletier (Facebook)
Bonjour, est-il possible de connecter en même temps deux RPI Pico à une même carte SD de cette manière? Afin d'écrire des fichiers d'enregistrement par le premier, et envoyer ces fichiers une fois finalisés par le second. Merci d'avance pour votre réponse. SD
RépondreSupprimerC'est techniquement possible à condition de mettre en place un arbitrage entre les 2 Pico car un seul à la fois peut communiquer avec la carte SD.
SupprimerIl faudrait donc que les 2 Pico puissent communiquer pour se signaler l'un à l'autre que la SD est libre.