Wie vergleicht man denn Arrays? 
Ich frage mich generell warum diese beiden Tutorialbeispiele so unterschiedlich aufgebaut sind. Ich meine, in irgendeiner weise funktionieren tun sie ja beide. In Variante 1 wird immer die selbe Nummer angezeigt, sobald der Chip drangehalten wird.
Verstehe nur nicht warum das in Variante 2 so anders ist und wo zwischen beiden Vor und Nachteil sind.
noiasca:
Variante 1 finde ich einen Schmarren. Da kommen Werte im Bereich 0..255 (weil Byte) und dann wird mit 10 Multipliziert um bevor die nächste Stelle hinzu kommt.
Behandle einfach die 4 Bytes so wie es Variante 2 tut
bau dir in ein uint32_t (4byte) die 4 Byte zusammen und speichere das ganze mit EEPROM.put.
nur so als Idee, geht schöner, funktioniert aber auch:
uint32_t cardid = uid[0];
cardid <<= 8;
cardid |= uid[1];
cardid <<= 8;
cardid |= uid[2];
cardid <<= 8;
cardid |= uid[3];
Mir ist aufgefallen, das ich momentan noch nicht verstehe, wie und was da genau passiert und das fuchst mich son bisschen. Diese byte Geschichte ist mir noch ein bisschen unklar...
4 byte = 32 bit hab ich grade gegoogled, war mir auch nicht so klar...
Verstehe ich den Codeabschnitt hier richtig?
uidString = String(rfid.uid.uidByte[0])+" "+String(rfid.uid.uidByte[1])+" "+String(rfid.uid.uidByte[2])+ " "+String(rfid.uid.uidByte[3]);
Hier wird jeder byte ausgelesen? 0, 1, 2, 3 = 4 byte?
Jeder byte kann einen Wert von 0-255 aufweisen?
So kommt z.B. zusammengesetzt eine Zahl raus von 45, 125, 85, 50 und das ergibt sozusagen dann die ID?
Funktioniert das so wie ich es verstehe? Oder interpretier ich das falsch?
Mit deinem Code muss ich gleich auch nochmal genau gucken wie und an welcher stelle du das angedacht hattest...