Da steht eigentlich auch alles wichtige in der README. Habe auch die fehlenden Modi implementiert.
Der Großteil der UI Anpassungen für den TOOLBOX Mode dient übrigens dazu die Kiste als externen Programmer für die Tonuino-Toolbox zu nutzen. Hab einen funktionierenden Proof-of-Concept in folgendem Branch GitHub - donschoof/tonuino-toolbox-nfc at rfid-addon
Ist bei weitem nicht fertig, funktioniert aber technisch zumindest.
@Real_Kuno Ich habe noch mal hier reingeschaut und bei Thingiverse nach den .stl Dateien gesucht. Dort finden sich jede Menge Tonuino Dateien aber das Gehäuse für den Programmer konnte ich nirgendwo entdecken. Lädst du bitte die Dateien noch hoch?
@Real_Kuno So, Gehäuse ist fertig und passt, allerdings nur für den Nano Every, den du ja benutzt hast. Da weitaus häufiger der „normale“ Nano (Clone) im Einsatz sein dürfte, wäre es natürlich super, wenn es dafür eine angepasste Version gäbe. Die Änderungen würden die Auflagefläche des Nano betreffen (weil der „normale“ Nano auch Bauteile unter der Platine hat) sowie das Loch für den Resetknopf.
Die erweiterte Version von donschoof läuft übrigens nicht, ich habe bei Github einen issue geöffnet.
Edit: Sorry für die Verwirrung, die Version läuft. Irgendwie ist der Code bei mir unvollständig gelandet.
würde es dir etwas ausmachen, die noch fehlenden Modi zu implementieren? Ich habe es versucht aber ich finde es immer etwas schwierig, mich in eine Programmstruktur rein zu arbeiten, die jemand anderes gemacht hat.
// Hörspiel Modus von bis = 7
if (buffer[5] != 0x00 && buffer[6] == 0x07) {
Serial.print(F("Hörspiel Modus 7 -> die Dateien "));
Serial.print(buffer[7], DEC);
Serial.print(F(" bis "));
Serial.print(buffer[8], DEC);
Serial.print(F(" aus dem Ordner "));
Serial.print(buffer[5], DEC);
Serial.println(F(" abspielen"));
Serial.println();
}
// Album Modus von bis = 8
if (buffer[5] != 0x00 && buffer[6] == 0x08) {
Serial.print(F("Album Modus 8 -> die Dateien "));
Serial.print(buffer[7], DEC);
Serial.print(F(" bis "));
Serial.print(buffer[8], DEC);
Serial.print(F(" aus dem Ordner "));
Serial.print(buffer[5], DEC);
Serial.println(F(" abspielen"));
Serial.println();
}
// Party Modus von-bis = 9
if (buffer[5] != 0x00 && buffer[6] == 0x09) {
Serial.print(F("Party Modus 9 -> die Dateien "));
Serial.print(buffer[7], DEC);
Serial.print(F(" bis "));
Serial.print(buffer[8], DEC);
Serial.print(F(" aus dem Ordner "));
Serial.print(buffer[5], DEC);
Serial.println(F(" abspielen"));
Serial.println();
}
Für den Tonuino ist es zwar nicht erforderlich, aber trotzdem kann es manchmal ganz hilfreich sein, wenn man die eindeutige ID (UID, unique identifier) einer Karte oder eines Tags weiß. Ich habe z.B. eine Wallbox zum Laden meines eAutos, bei der ich die Identifikation über dieselben Karten und Tags wie beim Tonuino machen kann. Hier wird aber kein Wert auf die Karte geschrieben sondern nur die UID ausgelesen. Mit der Wallbox geht das zwar auch, man muss dann aber immer mit einem Smartphone oder Laptop und dem Tag in der Garage an der Wallbox stehen.
Ich habe also den Sketch von Chris ergänzt um einige Zeilen, so dass ich in der seriellen Konsole nun auch die UID lesen kann. Diese Zeilen will ich euch nicht vorenthalten. Sie sind einzufügen am Ende der Leseroutine void read_RFID(), unmittelbar über der abschließenden geschweiften Klammer:
Serial.print(" UID:");
for (int i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
Serial.println();
Übrigens bin ich immer noch sehr interessiert daran, dass die anderen Modi in den Sketch eingepflegt werden (s.o.), das habe ich nämlich (noch) nicht hinbekommen.