Raspberry Pi Pico - Lecteur MP3

Ce guide vous montre comment fabriquer un lecteur MP3 avec un Raspberry Pi Pico, un module MP3, une carte Micro SD et un haut-parleur. Le lecteur MP3 lit de la musique ou des fichiers audio à partir de la carte Micro SD. Le Raspberry Pi Pico contrôle le module lecteur MP3 pour sélectionner et lire de la musique à partir de la carte SD, la convertir en son et la transmettre au haut-parleur. Nous expliquerons ces étapes en détail.

Ensuite, vous pouvez modifier le code pour ajouter un potentiomètre ou un encodeur rotatif afin de contrôler le volume.

Lecteur MP3 Raspberry Pi Pico

Préparation du matériel

1×Raspberry Pi Pico W
1×Raspberry Pi Pico Alternativement:
1×Câble Micro USB
1×Module lecteur MP3 série
1×Carte Micro SD
1×Haut-parleur Aux 3.5mm
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour Raspberry Pi Pico

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
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 lecteur MP3 série et du haut-parleur

Répartition des broches du module lecteur MP3 à interface série

Un module MP3 série dispose de trois interfaces :

  • Interface Raspberry Pi Pico:
    • RX pin: Cette broche est utilisée pour recevoir des données. Connectez-la à la broche TX sur votre Raspberry Pi Pico via une connexion série.
    • TX pin: Cette broche est utilisée pour envoyer des données. Connectez-la à la broche RX sur votre Raspberry Pi Pico via une connexion série.
    • VCC pin: Cette broche fournit de l'alimentation. Connectez-la à une broche de 3,3 V du Raspberry Pi Pico.
    • GND pin: Il s'agit de la broche de masse. Connectez-la à une source de 0 V.
  • Interface du haut-parleur:
    • Une prise femelle de sortie auxiliaire de 3,5 mm.
  • Interface de la carte Micro SD:
    • Le logement pour la carte Micro SD est situé à l'arrière du module.
    Pinout du module lecteur MP3 série
    image source: diyables.io

    Schéma de brochage du haut-parleur

    Un haut-parleur dispose généralement de deux points de connexion :

    • Connexion audio : Il dispose d'un connecteur auxiliaire mâle de 3,5 mm pour se connecter à un lecteur MP3.
    • Connexion d'alimentation : Il peut se connecter à un port USB, à un adaptateur secteur de 5 V, ou à d'autres sources d'alimentation.

Comment cela fonctionne

Ce que nous devrions préparer:

  1. Mettez une liste de chansons ou d'enregistrements sur une carte microSD.
  2. Insérez la carte microSD dans le module lecteur MP3.
  3. Connectez le module lecteur MP3 au Raspberry Pi Pico.
  4. Connectez le module lecteur MP3 à un haut-parleur.
  5. Connectez le haut-parleur à une source d'alimentation.

Chaque fichier MP3 sur la carte Micro SD est numéroté à partir de 0, indiquant l'ordre des chansons.

Nous pouvons configurer le Raspberry Pi Pico pour envoyer des commandes au module lecteur MP3. Il prend en charge ces commandes :

  • Démarrer la lecture
  • Arrêter
  • Lire le prochain
  • Lire le précédent
  • Changer le volume

Le module lecteur MP3 lit le fichier MP3 stocké sur la carte microSD et le convertit en signal audio. Il envoie ensuite ce signal au haut-parleur en utilisant l’interface auxiliaire de 3,5 mm.

Diagramme de câblage

Schéma de câblage du module lecteur MP3 Raspberry Pi Pico

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

Code Raspberry Pi Pico - Jouer de la musique

Le code ci-dessous commence à jouer la première chanson stockée sur la carte Micro SD.

/* * 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-mp3-player */ from machine import UART, Pin import time # Define constants CMD_PLAY_NEXT = 0x01 CMD_PLAY_PREV = 0x02 CMD_PLAY_W_INDEX = 0x03 CMD_SET_VOLUME = 0x06 CMD_SEL_DEV = 0x09 CMD_PLAY_W_VOL = 0x22 CMD_PLAY = 0x0D CMD_PAUSE = 0x0E CMD_SINGLE_CYCLE = 0x19 DEV_TF = 0x02 SINGLE_CYCLE_ON = 0x00 SINGLE_CYCLE_OFF = 0x01 PICO_RX = 9 # The Raspberry Pi Pico pin GP9 connected to the TX of the Serial MP3 Player module PICO_TX = 8 # The Raspberry Pi Pico pin GP8 connected to the RX of the Serial MP3 Player module # Initialize UART with the correct pins and baud rate mp3 = UART(1, baudrate=9600, tx=Pin(PICO_TX), rx=Pin(PICO_RX)) def mp3_command(command, dat): frame = bytearray(8) frame[0] = 0x7e # starting byte frame[1] = 0xff # version frame[2] = 0x06 # the number of bytes of the command without starting byte and ending byte frame[3] = command # frame[4] = 0x00 # 0x00 = no feedback, 0x01 = feedback frame[5] = (dat >> 8) & 0xFF # data high byte frame[6] = dat & 0xFF # data low byte frame[7] = 0xef # ending byte mp3.write(frame) # Wait for the chip initialization to complete time.sleep(0.5) # Select the TF card mp3_command(CMD_SEL_DEV, DEV_TF) time.sleep(0.2) # wait for 200ms # Play MP3 mp3_command(CMD_PLAY, 0x0000) # mp3_command(CMD_PAUSE, 0x0000) # Pause mp3 # mp3_command(CMD_PLAY_NEXT, 0x0000) # Play next mp3 # mp3_command(CMD_PLAY_PREV, 0x0000) # Play previous mp3 # mp3_command(CMD_SET_VOLUME, 30) # Change volume to 30 # Main loop to keep the script running while True: time.sleep(0.1) # Prevent tight loop

É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 Pi Pico, reportez-vous au tutoriel Raspberry Pi Pico - Premiers pas. pour des instructions détaillées.
  • Connectez le Raspberry Pi Pico au module lecteur MP3 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.
  • Sur l'IDE Thonny, sélectionnez l'interpréteur MicroPython (Raspberry Pi Pico) en accédant à 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 devrait détecter automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (par exemple, COM3 sur Windows ou /dev/ttyACM0 sur Linux).
  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • 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.
  • Profitez de la musique.

Raspberry Pi Pico Code - Jouer de la musique avec des boutons de contrôle

Schéma de câblage du Raspberry Pi Pico pour lecteur MP3 et haut-parleur

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

Le code qui suit est une version mise à jour du code précédent. Il comprend quatre boutons qui vous permettent de gérer le lecteur MP3.

/* * 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-mp3-player */ from machine import UART, Pin import time from DIYables_MicroPython_Button import Button # Define constants CMD_PLAY_NEXT = 0x01 CMD_PLAY_PREV = 0x02 CMD_PLAY_W_INDEX = 0x03 CMD_SET_VOLUME = 0x06 CMD_SEL_DEV = 0x09 CMD_PLAY_W_VOL = 0x22 CMD_PLAY = 0x0D CMD_PAUSE = 0x0E CMD_SINGLE_CYCLE = 0x19 DEV_TF = 0x02 SINGLE_CYCLE_ON = 0x00 SINGLE_CYCLE_OFF = 0x01 PICO_RX = 9 # The Raspberry Pi Pico pin GP9 connected to the TX of the Serial MP3 Player module PICO_TX = 8 # The Raspberry Pi Pico pin GP8 connected to the RX of the Serial MP3 Player module # Initialize UART with the correct pins and baud rate mp3 = UART(1, baudrate=9600, tx=Pin(PICO_TX), rx=Pin(PICO_RX)) # Initialize buttons using the Button library button_play = Button(2) # The Raspberry Pi Pico pin GP2 for play button_pause = Button(3) # The Raspberry Pi Pico pin GP3 for pause button_next = Button(4) # The Raspberry Pi Pico pin GP4 for next button_prev = Button(5) # The Raspberry Pi Pico pin GP5 for previous # Set debounce time to 50 milliseconds for each button button_play.set_debounce_time(50) button_pause.set_debounce_time(50) button_next.set_debounce_time(50) button_prev.set_debounce_time(50) def mp3_command(command, dat): frame = bytearray(8) frame[0] = 0x7e # starting byte frame[1] = 0xff # version frame[2] = 0x06 # the number of bytes of the command without starting byte and ending byte frame[3] = command # frame[4] = 0x00 # 0x00 = no feedback, 0x01 = feedback frame[5] = (dat >> 8) & 0xFF # data high byte frame[6] = dat & 0xFF # data low byte frame[7] = 0xef # ending byte mp3.write(frame) # Wait for the chip initialization to complete time.sleep(0.5) # Select the TF card mp3_command(CMD_SEL_DEV, DEV_TF) time.sleep(0.2) # wait for 200ms # Main loop to check buttons and send commands while True: # Update the state of each button button_play.loop() button_pause.loop() button_next.loop() button_prev.loop() # Handle play button press if button_play.is_pressed(): print("Play mp3") mp3_command(CMD_PLAY, 0x0000) # Handle pause button press if button_pause.is_pressed(): print("Pause mp3") mp3_command(CMD_PAUSE, 0x0000) # Handle next button press if button_next.is_pressed(): print("Play next mp3") mp3_command(CMD_PLAY_NEXT, 0x0000) # Handle previous button press if button_prev.is_pressed(): print("Play previous mp3") mp3_command(CMD_PLAY_PREV, 0x0000) time.sleep(0.01) # Small delay to be gentle on the CPU

Étapes rapides

  • Dans l'IDE Thonny, accédez à Outils Gérer les paquets dans l'IDE Thonny.
  • Recherchez “DIYables-MicroPython-Button”, puis trouvez la bibliothèque Button créée par DIYables.
  • Cliquez sur DIYables-MicroPython-Button, puis cliquez sur le bouton Install pour installer la bibliothèque Button.
Bibliothèque de boutons pour Raspberry Pi Pico
  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • Enregistrez le script sur votre Raspberry Pi Pico.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
  • Appuyez sur les boutons les uns après les autres.
  • Profitez de la musique

Vidéo

Tutoriels connexes

※ 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 !