Raspberry Pi Pico - Écrire une variable sur la carte SD

Ce guide vous montrera comment enregistrer des données sur une carte microSD avec un Raspberry Pi Pico. Nous discuterons :

Pour apprendre comment lire des paires clé-valeur à partir de la carte microSD et les convertir en formats entiers, flottants ou chaînes de caractères sur le Raspberry Pi Pico, veuillez consulter Raspberry Pi Pico - Lire la configuration depuis la carte SD..

Carte microSD Raspberry Pi Pico

Préparation du matériel

1×Raspberry Pi Pico W
1×Raspberry Pi Pico Alternativement:
1×Câble Micro USB
1×Carte Micro SD
1×Module carte Micro SD
1×Fils de connexion
1×Optionnel: Adaptateur carte mémoire MicroSD vers SD
1×Recommandé: Carte d'extension à bornier à vis pour Raspberry Pi Pico

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
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 microSD

Pour obtenir des informations sur le module de carte microSD (détails sur ses broches, ses utilisations et comment le programmer), veuillez consulter le guide Raspberry Pi Pico - carte microSD..

Diagramme de câblage

Schéma de câblage du module de carte Micro SD pour Raspberry Pi Pico

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

※ Note:

Si vous disposez d'un bouclier Ethernet ou de tout autre bouclier doté d'un logement pour carte Micro SD, vous n'avez pas besoin d'un module Micro SD séparé. Il vous suffit d'insérer la carte Micro SD dans le logement du bouclier.

Raspberry Pi Pico - Comment écrire une variable dans un fichier sur une carte microSD

Le code ci-dessous effectue les actions suivantes :

  • Stocker un nombre entier sur une carte microSD
  • Stocker un nombre décimal sur une carte microSD
  • Stocker du texte sur une carte microSD
  • Stocker une chaîne de caractères sur une carte microSD
  • Stocker une série d'octets sur une carte microSD
/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico 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/raspberry-pico/raspberry-pi-pico-write-variable-to-sd-card */ import machine import os import sdcard # Define SPI pins for the Micro SD Card module SPI_SCK_PIN = 2 # The Raspberry Pi Pico pin GP2 connected to SCK SPI_MOSI_PIN = 3 # The Raspberry Pi Pico pin GP3 connected to MOSI SPI_MISO_PIN = 4 # The Raspberry Pi Pico pin GP4 connected to MISO SPI_CS_PIN = 5 # The Raspberry Pi Pico pin GP5 connected to SS (CS) # Initialize SD card using SoftSPI and sdcard driver spi = machine.SoftSPI(baudrate=1000000, polarity=0, phase=0, sck=machine.Pin(SPI_SCK_PIN), mosi=machine.Pin(SPI_MOSI_PIN), miso=machine.Pin(SPI_MISO_PIN)) cs = machine.Pin(SPI_CS_PIN, machine.Pin.OUT) try: sd = sdcard.SDCard(spi, cs) os.mount(sd, "/sd") print("SD CARD INITIALIZED.") except Exception as e: print("SD CARD FAILED, OR NOT PRESENT!", e) raise SystemExit print("--------------------") file_path = "/sd/pico.txt" # Variables to write my_int = -52 my_float = -12.7 my_string = "HELLO" my_char_array = "newbiely.com" my_byte_array = bytearray(b'12345') # Delete the file if it exists try: os.remove(file_path) except OSError: pass # Create new file and write variables try: f = open(file_path, "w") f.write("{}\n".format(my_int)) # write int variable to SD card in line f.write("{:.2f}\n".format(my_float)) # write float variable to SD card in line f.write("{}\n".format(my_string)) # write string variable to SD card in line f.write("{}\n".format(my_char_array)) # write char array to SD card in line f.write(my_byte_array.decode()) # write byte array to SD card f.write("\n") # new line f.write(",".join(str(ch) for ch in my_byte_array.decode())) # write byte array with comma f.write("\n") # new line f.close() except Exception as e: print("SD Card: Issue encountered while attempting to open the file pico.txt", e) # Open file for reading try: f = open(file_path, "r") while True: ch = f.read(1) # read characters one by one from Micro SD Card if not ch: break print(ch, end="") # print the character to the Shell f.close() except Exception as e: print("SD Card: Issue encountered while attempting to open the file pico.txt", e) os.umount("/sd")

Étapes rapides

Veuillez suivre ces instructions étape par étape :

  • Assurez-vous que l’IDE Thonny est installé sur votre ordinateur.
  • Assurez-vous que le firmware MicroPython est installé sur votre Raspberry Pi Pico.
  • Si c'est la première fois que vous utilisez un Raspberry Pico, reportez-vous au tutoriel Raspberry Pi Pico - Premiers pas. pour des instructions détaillées.
  • Branchez les composants selon le schéma fourni.
  • Connectez le Raspberry Pi Pico à votre ordinateur à l’aide d’un câble USB.
  • Lancez l’IDE Thonny sur votre ordinateur.
  • Dans Thonny IDE, sélectionnez l’interpréteur MicroPython (Raspberry Pi Pico) en vous rendant dans Outils Options.
  • Dans l’onglet Interpréteur, sélectionnez MicroPython (Raspberry Pi Pico) dans le menu déroulant.
  • Assurez-vous que le port correct est sélectionné. L’IDE Thonny détectera automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (par exemple COM3 sous Windows ou /dev/ttyACM0 sous Linux).
  • Copiez le code ci-dessus et collez-le dans l’éditeur de Thonny IDE.
  • Enregistrez le script sur votre Raspberry Pi Pico en procédant comme suit :
    • Cliquez sur le bouton Enregistrer, ou utilisez les touches Ctrl+S.
    • Dans la boîte de dialogue d’enregistrement, vous verrez deux sections : Cet ordinateur et Raspberry Pi Pico. Sélectionnez Raspberry Pi Pico
    • Enregistrez le fichier sous main.py
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s’exécutera.
  • Consultez le message dans le Shell situé en bas de Thonny.

Si vous nommez votre script main.py et que vous le sauvegardez dans le répertoire racine du Raspberry Pi Pico, il sera exécuté automatiquement à chaque mise sous tension ou réinitialisation du Pico. Cela est utile pour les applications autonomes qui doivent commencer à s'exécuter immédiatement après la mise sous tension. Si vous nommez votre script sous un autre nom que main.py, vous devrez l'exécuter manuellement depuis le Shell de Thonnys.

  • Formatez la carte microSD en FAT16 ou FAT32 (voir les instructions en ligne)
  • Copiez le code fourni et ouvrez-le dans l’IDE Thonny
  • Cliquez sur le bouton Upload dans l’IDE Thonny pour envoyer le code au Raspberry Pi Pico
  • Consultez les résultats dans le Moniteur Série.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot SD CARD INITIALIZED. -------------------- -52 -12.70 HELLO Raspberry Pi PicoGetStarted.com 12345 1,2,3,4,5
MicroPython (Raspberry Pi Pico) • Board CDC @ COM29 ≡
  1. Retirez la carte microSD de son composant.
  2. Insérez la carte microSD dans un lecteur de cartes SD USB.
  3. Connectez le lecteur de cartes SD USB à votre ordinateur.
  4. Ouvrez le fichier nommé arduino.txt sur votre ordinateur.
Le Raspberry Pi Pico écrit une variable sur une carte microSD.

Raspberry Pi Pico - Comment écrire une paire clé-valeur dans un fichier sur une carte microSD

/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico 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/raspberry-pico/raspberry-pi-pico-write-variable-to-sd-card */ import machine import os import sdcard # Define SPI pins for the Micro SD Card module SPI_SCK_PIN = 2 # The Raspberry Pi Pico pin GP2 connected to SCK SPI_MOSI_PIN = 3 # The Raspberry Pi Pico pin GP3 connected to MOSI SPI_MISO_PIN = 4 # The Raspberry Pi Pico pin GP4 connected to MISO SPI_CS_PIN = 5 # The Raspberry Pi Pico pin GP5 connected to SS (CS) # Initialize SD card using SoftSPI and sdcard driver spi = machine.SoftSPI(baudrate=1000000, polarity=0, phase=0, sck=machine.Pin(SPI_SCK_PIN), mosi=machine.Pin(SPI_MOSI_PIN), miso=machine.Pin(SPI_MISO_PIN)) cs = machine.Pin(SPI_CS_PIN, machine.Pin.OUT) try: sd = sdcard.SDCard(spi, cs) os.mount(sd, "/sd") print("SD CARD INITIALIZED.") except Exception as e: print("SD CARD FAILED, OR NOT PRESENT!", e) raise SystemExit print("--------------------") file_path = "/sd/pico.txt" # Variables to write my_int = -52 my_float = -12.7 my_string = "HELLO" my_char_array = "newbiely.com" my_byte_array = bytearray(b'12345') # Delete the file if it exists try: os.remove(file_path) except OSError: pass # Create new file and write key-value pairs try: f = open(file_path, "w") f.write("myInt={}\n".format(my_int)) # write key=int to SD card f.write("myFloat={:.2f}\n".format(my_float)) # write key=float to SD card f.write("myString={}\n".format(my_string)) # write key=string to SD card f.write("myCharArray={}\n".format(my_char_array)) # write key=char array to SD card f.write("myByteArray={}\n".format(my_byte_array.decode())) # write key=byte array f.write("myByteArray2={}\n".format(",".join(str(ch) for ch in my_byte_array.decode()))) # write key=byte array with comma f.close() except Exception as e: print("SD Card: Issue encountered while attempting to open the file pico.txt", e) # Open file for reading try: f = open(file_path, "r") while True: ch = f.read(1) # read characters one by one from Micro SD Card if not ch: break print(ch, end="") # print the character to the Shell f.close() except Exception as e: print("SD Card: Issue encountered while attempting to open the file pico.txt", e) os.umount("/sd")

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le dans l'IDE Thonny.
  • Cliquez sur le bouton Upload dans l'IDE Thonny pour envoyer le code à votre Raspberry Pi Pico.
  • Regardez les résultats sur le Moniteur Série.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot SD CARD INITIALIZED. -------------------- myInt=-52 myFloat=-12.70 myString=HELLO myCharArray=Raspberry Pi PicoGetStarted.com myByteArray=12345 myByteArray2=1,2,3,4,5
MicroPython (Raspberry Pi Pico) • Board CDC @ COM29 ≡
  • Retirez la carte microSD de son emplacement. Insérez la carte microSD dans un lecteur de cartes SD USB. Branchez le lecteur de cartes SD USB à votre ordinateur. Trouvez et ouvrez le fichier appelé arduino.txt sur votre ordinateur; vous le verrez comme indiqué.
Raspberry Pi Pico écrit une variable sur une carte MicroSD.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !