Note
Bonjour, bienvenue dans la communauté des passionnés SunFounder Raspberry Pi, Arduino & ESP32 sur Facebook ! Explorez en profondeur le Raspberry Pi, l’Arduino et l’ESP32 avec d’autres passionnés.
Pourquoi nous rejoindre ?
Support d’experts : Résolvez les problèmes après-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre & Partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus exclusifs.
Réductions spéciales : Profitez de réductions exclusives sur nos nouveaux produits.
Promotions festives et concours : Participez à des concours et des promotions spéciales.
👉 Prêt à explorer et créer avec nous ? Cliquez sur [ici] et rejoignez-nous dès aujourd’hui !
7.8 Lecteur de Musique RFID
À travers notre projet précédent, 6.5 Identification par Radiofréquence (RFID), nous avons appris que le module MFRC522 permet d’écrire jusqu’à 48 caractères d’information sur la carte (ou la clé), y compris la clé d’accès et les informations d’identité, ainsi que la partition musicale.
Par exemple, si vous écrivez EEFGGFEDCCDEEDD EEFGGFEDCCDEDCC, le buzzer jouera la musique lorsque la carte (ou la clé) sera lue à nouveau. Il peut également être équipé d’un WS2812 pour afficher des effets lumineux spectaculaires.
Vous pouvez trouver plus de partitions musicales sur Internet, ou même composer votre propre musique, les enregistrer sur la carte (ou la clé) et les partager avec vos amis !

Composants Requis
Dans ce projet, nous aurons besoin des composants suivants.
Il est plus pratique d’acheter un kit complet, voici le lien :
Nom |
ÉLÉMENTS DANS CE KIT |
LIEN |
|---|---|---|
Kit Kepler |
450+ |
Vous pouvez également les acheter séparément via les liens ci-dessous.
SN |
COMPOSANT |
QUANTITÉ |
LIEN |
|---|---|---|---|
1 |
1 |
||
2 |
Câble Micro USB |
1 |
|
3 |
1 |
||
4 |
Plusieurs |
||
5 |
1 (S8050) |
||
6 |
1 (1KΩ) |
||
7 |
Buzzer Passif Buzzer |
1 |
|
8 |
1 |
||
9 |
1 |
Schéma

Câblage
Code
Ouvrez le fichier
6.5_rfid_write.pysous le cheminkepler-kit-main/micropython, puis cliquez sur « Run Current Script » ou appuyez simplement sur F5 pour l’exécuter.Note
Ici, vous devez utiliser les bibliothèques dans le dossier
mfrc522, veuillez vérifier si elles ont été téléchargées sur Pico, pour un tutoriel détaillé référez-vous à 1.4 Télécharger les Bibliothèques sur le Pico.Après l’exécution, tapez
EEFGGFEDCCDEEDD EEFGGFEDCCDEDCCdans le shell, puis rapprochez la carte (ou la clé) du module MFRC522 pour enregistrer la partition de « L’Hymne à la Joie ».Ouvrez le fichier
7.8_rfid_music_player.pysous le cheminkepler-kit-main/micropythonou copiez ce code dans Thonny, puis cliquez sur « Run Current Script » ou appuyez simplement sur F5 pour l’exécuter.################################### # Utilisez 'write.py' pour écrire # # une partition sur la carte, cet # # exemple jouera la partition # ################################### # Partition de L'Hymne à la Joie :# # EEFGGFEDCCDEEDD EEFGGFEDCCDEDCC # ################################### from mfrc522 import SimpleMFRC522 import machine import time from ws2812 import WS2812 import urandom # Configuration des LED WS2812 # Initialiser une bande WS2812 de 8 LEDs sur la broche 0 ws = WS2812(machine.Pin(0), 8) # Configuration du lecteur RFID MFRC522 # Initialiser le lecteur RFID en utilisant SPI sur des broches spécifiques reader = SimpleMFRC522(spi_id=0, sck=18, miso=16, mosi=19, cs=17, rst=9) # Fréquences des notes pour le buzzer (en Hertz) NOTE_C4 = 262 NOTE_D4 = 294 NOTE_E4 = 330 NOTE_F4 = 349 NOTE_G4 = 392 NOTE_A4 = 440 NOTE_B4 = 494 NOTE_C5 = 523 # Initialiser le PWM pour le buzzer sur la broche 15 buzzer = machine.PWM(machine.Pin(15)) # Liste des fréquences de notes correspondant aux notes musicales note = [NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5] # Fonction pour jouer un ton sur le buzzer avec une fréquence et une durée spécifiées def tone(pin, frequency, duration): pin.freq(frequency) # Régler la fréquence du buzzer pin.duty_u16(30000) # Régler le cycle de service à 50% (approx) time.sleep_ms(duration) # Jouer le ton pour la durée spécifiée pin.duty_u16(0) # Arrêter le ton en mettant le cycle de service à 0 # Fonction pour allumer une LED WS2812 à un index spécifique avec une couleur aléatoire def lumi(index): for i in range(8): ws[i] = 0x000000 # Éteindre toutes les LEDs ws[index] = int(urandom.uniform(0, 0xFFFFFF)) # Définir une couleur aléatoire pour la LED à l'index donné ws.write() # Écrire les données de couleur aux LEDs WS2812 # Encoder le texte des notes musicales en indices et jouer les notes correspondantes words = ["C", "D", "E", "F", "G", "A", "B", "N"] # Correspondance des notes musicales aux caractères def take_text(text): string = text.replace(' ', '').upper() # Supprimer les espaces et convertir le texte en majuscules while len(string) > 0: index = words.index(string[0]) # Trouver l'index de la première note dans la chaîne tone(buzzer, note[index], 250) # Jouer la note correspondante sur le buzzer pendant 250 ms lumi(index) # Allumer la LED correspondant à la note string = string[1:] # Passer au caractère suivant dans la chaîne # Fonction pour lire la carte RFID et jouer la partition stockée def read(): print("Reading...Please place the card...") id, text = reader.read() # Lire la carte RFID (ID et texte stocké) print("ID: %s\nText: %s" % (id, text)) # Afficher l'ID et le texte take_text(text) # Jouer la partition à partir du texte stocké sur la carte # Commencer la lecture de la carte RFID et jouer la partition correspondante read()
En rapprochant à nouveau la carte (ou la clé) du module MFRC522, le buzzer jouera la musique stockée sur la carte (ou la clé), et la bande RGB s’allumera avec des couleurs aléatoires.
