1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | // RFID-Bibiothek hinzufügen #include “MFRC522.h” // Player-Bibliothek hinzufügen #include “SerialMP3Player.h” #define TX 3 #define RX 4 SerialMP3Player mp3(RX,TX); int Lautstaerke = 20; // wenn Pause false -> Wiedergabe stoppen // wenn Pause true -> Wiedergabe fortsetzen bool Pause = false; // Titel, der gespielt werden soll int aktuellerTitel; // Anschlüsse RFID definieren #define RST 9 #define SDA 10 // RFID-Empfänger benennen MFRC522 mfrc522(SDA, RST); void setup() { Serial.begin(9600); SPI.begin(); // Serielle Kommunikation mit YX5300 starten mp3.begin(9600); // Initialisierung des RFID-Empfängers mfrc522.PCD_Init(); } void loop() { // Variable für den Wert der Karte String WertDEZ; // Wenn keine Karte in Reichweite ist .. if (!mfrc522.PICC_IsNewCardPresent()) { // .. wird die Abfrage wiederholt. return; } // Wenn kein RFID-Sender ausgewählt wurde .. if (!mfrc522.PICC_ReadCardSerial()) { // .. wird die Abfrage wiederholt. return; } Serial.println(F(“Karte entdeckt!”)); // Dezimal-Werte in String schreiben for (byte i = 0; i < mfrc522.uid.size; i++) { WertDEZ = WertDEZ + String(mfrc522.uid.uidByte[i], DEC) + ” “; } // Kennung dezimal anzeigen Serial.println(“Wert in dezimal: ” + WertDEZ); // Leerzeichen am Ende entfernen WertDEZ.trim(); // Pause/Weiter if (WertDEZ == “195 106 18 23”) { if (Pause) mp3.pause(); else mp3.play(); Pause = !Pause; } // ersten Titel spielen if (WertDEZ == “131 125 21 23”) { aktuellerTitel = 1; mp3.stop(); mp3.play(); } // zweiten Titel spielen if (WertDEZ == “227 77 233 22”) { aktuellerTitel = 2; mp3.stop(); mp3.play(aktuellerTitel, Lautstaerke); } // dritten Titel spielen if (WertDEZ == “3 150 78 21”) { aktuellerTitel = 3; mp3.stop(); mp3.play(aktuellerTitel, Lautstaerke); } delay(500); } |
Letzte Aktualisierung: