7.8 RFID-Musikplayer¶
In unserem vorherigen Projekt, 6.5 Funkfrequenz-Identifikation, haben wir gelernt, dass das MFRC522-Modul uns erlaubt, bis zu 48 Zeichen Informationen auf die Karte (oder den Schlüssel) zu schreiben. Dies schließt sowohl den Schlüssel als auch die Identitätsinformationen ein, sowie die Noten für die Musik.
Zum Beispiel, wenn Sie EEFGGFEDCCDEEDD EEFGGFEDCCDEDCC
schreiben, wird der Summer die Melodie spielen, wenn die Karte (oder der Schlüssel) erneut gelesen wird. Es kann auch mit einem WS2812 ausgestattet werden, um beeindruckende Effekte darzustellen.
Sie können weitere Notenblätter im Internet finden oder sogar Ihre eigene Musik schreiben, diese auf die Karte (oder den Schlüssel) übertragen und sie mit Ihren Freunden teilen!
Benötigte Bauteile
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein komplettes Set zu kaufen. Hier ist der Link:
Bezeichnung |
KOMPONENTEN IN DIESEM KIT |
LINK |
---|---|---|
Kepler-Kit |
450+ |
Sie können die Bauteile auch einzeln über die unten stehenden Links erwerben.
SN |
KOMPONENTE |
ANZAHL |
LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1(S8050) |
||
6 |
1(1KΩ) |
||
7 |
Passiver Summer |
1 |
|
8 |
1 |
||
9 |
1 |
Schaltplan
Verdrahtung
Code
Öffnen Sie die Datei
6.5_rfid_write.py
im Verzeichniskepler-kit-main/micropython
und klicken Sie dann auf „Aktuelles Skript ausführen“ oder drücken Sie einfach F5.Nach dem Ausführen geben Sie
EEFGGFEDCCDEEDD EEFGGFEDCCDEDCC
im Shell ein und halten Sie dann die Karte (oder den Schlüssel) nahe am MFRC522-Modul. Auf diese Weise wird die Partitur der Ode an die Freude gespeichert.Öffnen Sie die Datei
7.8_rfid_music_player.py
im Verzeichniskepler-kit-main/micropython
oder kopieren Sie diesen Code in Thonny, und klicken Sie dann auf „Aktuelles Skript ausführen“ oder drücken Sie einfach F5.from mfrc522 import SimpleMFRC522 import machine import time from ws2812 import WS2812 import urandom # ws2812 ws = WS2812(machine.Pin(16),8) # mfrc522 reader = SimpleMFRC522(spi_id=0,sck=2,miso=4,mosi=3,cs=5,rst=0) # buzzer NOTE_C4 = 262 NOTE_D4 = 294 NOTE_E4 = 330 NOTE_F4 = 349 NOTE_G4 = 392 NOTE_A4 = 440 NOTE_B4 = 494 NOTE_C5 = 523 buzzer = machine.PWM(machine.Pin(15)) note=[NOTE_C4,NOTE_D4,NOTE_E4,NOTE_F4,NOTE_G4,NOTE_A4,NOTE_B4,NOTE_C5] def tone(pin,frequency,duration): pin.freq(frequency) pin.duty_u16(30000) time.sleep_ms(duration) pin.duty_u16(0) # lightup def lumi(index): for i in range(8): ws[i] = 0x0000FF ws[index] = 0xFF0000 # int(urandom.uniform(0, 0xFFFFFF)) ws.write() # encode text to index words=["C","D","E","F","G","A","B","N"] def take_text(text): string=text.replace(' ','').upper() while len(string)>0: index=words.index(string[0]) tone(buzzer,note[index],250) lumi(index) new_str="" for i in range(0, len(string)): if i != 0: new_str = new_str + string[i] string=new_str # read card def read(): print("Reading...Please place the card...") id, text = reader.read() print("ID: %s\nText: %s" % (id,text)) take_text(text) read()
Wenn Sie die Karte (oder den Schlüssel) erneut nahe am MFRC522-Modul platzieren, wird der Summer die auf der Karte (oder dem Schlüssel) gespeicherte Musik abspielen und der RGB-Streifen wird in einer zufälligen Farbe leuchten.