Mehrere Karten bespielen (Codeänderung)

Hallo zusammen,

ich habe nun auch endlich einen Tonuino gebaut und bin begeistert.
Nun habe ich eine Frage zum Bespielen mehrerer Karten.
Ich möchte 50 Karten neu zuordnen, jeweils zu einem Ordner (z.B. „01“ - „50“), immer mit demselben Modus. Am liebsten eine Karte nach der anderen auflegen.

In der DEV Version gibt es die tolle Funktion, mehrere Karten (Einzelkarten) nacheinander zu bespielen.

Ich würde die Funktion gerne dahingehend ändern, dass eben jeder Karte ein Ordner zugewiesen wird mit Modus „Albummodus“ (2).

  1. Karte: Ordner „01“ - Modus „2“
  2. Karte: Ordner „02“ - Modus „2“
  3. Karte: Ordner „03“ - Modus „2“

Leider ist das mein erstes Projekt mit einem Arduino und ich kenne mich da zu wenig aus.
Den Codeschnippsel habe ich glaube ich schon gefunden.
Den Modus müsste man ja hier ändern können: „tempCard.nfcFolderSettings.mode = 4;“.

[...]
else if (subMenu == 9) {
    // Create Cards for Folder
    // Ordner abfragen
    nfcTagObject tempCard;
    tempCard.cookie = cardCookie;
    tempCard.version = 1;
    tempCard.nfcFolderSettings.mode = 4;
    tempCard.nfcFolderSettings.folder = voiceMenu(99, 301, 0, true);
    uint8_t special = voiceMenu(mp3.getFolderTrackCount(tempCard.nfcFolderSettings.folder), 321, 0,
                                true, tempCard.nfcFolderSettings.folder);
    uint8_t special2 = voiceMenu(mp3.getFolderTrackCount(tempCard.nfcFolderSettings.folder), 322, 0,
                                 true, tempCard.nfcFolderSettings.folder, special);

    mp3.playMp3FolderTrack(936);
    waitForTrackToFinish();
    for (uint8_t x = special; x <= special2; x++) {
      mp3.playMp3FolderTrack(x);
      tempCard.nfcFolderSettings.special = x;
      Serial.print(x);
      Serial.println(F(" Karte auflegen"));
      do {
        readButtons();
        if (upButton.wasReleased() || downButton.wasReleased()) {
          Serial.println(F("Abgebrochen!"));
          mp3.playMp3FolderTrack(802);
          return;
        }
      } while (!mfrc522.PICC_IsNewCardPresent());

      // RFID Karte wurde aufgelegt
      if (mfrc522.PICC_ReadCardSerial()) {
        Serial.println(F("schreibe Karte..."));
        writeCard(tempCard);
        delay(100);
        mfrc522.PICC_HaltA();
        mfrc522.PCD_StopCrypto1();
        waitForTrackToFinish();
      }
    }
  }
[...]

Könnte mir jemand helfen und mir sagen, was ich an dem Code ändern müsste?

Danke und Grüße aus dem Schwarzwald,
Matthias

Hi,

Mit der AndroidApp kannst du das wahrscheinlich relativ zügig erledigen.

Wenn du Excel und Windows hast, kannst du mit ein bisschen Vorarbeit auch das Exceltool nehmen…

Dann musst du nix im Code ändern.

Kannte ich nicht… Muss ich mir mal anschauen. Habe bisher noch nie eine Einzelkarte erstellt.

Hey, danke für die schnelle Antwort! :+1:
Leider hab ich kein Android Handy, auch kein Excel und kein Windows. :see_no_evil:
(iPhone und iMac).
Ich dachte, das schnellste wäre wirklich eine Karte nach der anderen einfach nur aufzulegen, daher würde ich den Code gerne ändern.

Ich habe im Forum auch den Tipp entdeckt, die IDE-Konsole mit der Tastatur zu nutzen. Aber auch das geht nicht so schnell, wie eine Karte nach der anderen draufzulegen.

Eigentlich müsste man im Code nur ändern, dass man nicht die Dateien in einem Ordner auswählt (von…bis), sondern den Ordner selbst (von…bis). Oder?

Das geht relativ schnell. Mein Exceltool macht momentan auch nichts anderes als in der IDE zu schreiben…
Ich würde auch fast sagen, dass das Schreiben in der IDE schneller ist, als jetzt die Änderungen in den Code zu basteln (ich müsste auch erstmal in die Tiefen des Codes schauen, daher kann ich dir aktuell auch nicht weiterhelfen).

Neue (noch nicht beschriebene) Karte auflegen → Ordnernummer eintippen → Abspielmodus eintippen → Bestätigung abwarten und Karte wegnehmen-> neue Karte auflegen → …
Ach ja, du musst dir nicht den ganzen Text anhören ;-). Ist doch auch flott :blush:

Hey, du hast Recht! Es geht wirklich flott, wenn man nicht auf die Audioausgabe wartet.
Danke für den Tipp! :slight_smile: