ich habe ein RFID RC522 lesegerät und möchte die UID von über ein Display ausgeben. Prinzipell funktioniert das - mit der einzigen problematik, dass die UID in 4er blcöcken einzeln ausgegeben werden.
Wie kann die ganze UID auf einmal im Display anzeigen lassen?
Ich habe über ein Array gelesen, leider durchblicke ich das nicht.
stoffl6781:
ich habe ein RFID RC522 lesegerät und möchte die UID von über ein Display ausgeben. Prinzipell funktioniert das - mit der einzigen problematik, dass die UID in 4er blcöcken einzeln ausgegeben werden.
Wie kann die ganze UID auf einmal im Display anzeigen lassen?
Ich habe über ein Array gelesen, leider durchblicke ich das nicht.
Anbei mein Script
Wenn du dir deinen per Copy&Paste kopierten Sketch durchlesen würdest, könntest du das Ergebnis selbst heraus finden.
void loop() // Hier beginnt der Loop-Teil
{
if ( ! mfrc522.PICC_IsNewCardPresent()) // Wenn eine Karte in Reichweite ist...
{
return; // gehe weiter...
}
if ( ! mfrc522.PICC_ReadCardSerial()) // Wenn ein RFID-Sender ausgewählt wurde
{
return; // gehe weiter...
}
Serial.print("Die ID des RFID-TAGS lautet:"); // "Die ID des RFID-TAGS lautet:" wird auf den Serial Monitor geschrieben.
lcd.clear();
lcd.print("Energienummer:");
lcd.setCursor(0, 1);
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte[i], HEX); // Dann wird die UID ausgelesen, die aus vier einzelnen Blöcken besteht und der Reihe nach an den Serial Monitor gesendet. Die Endung Hex bedeutet, dass die vier Blöcke der UID als HEX-Zahl (also auch mit Buchstaben) ausgegeben wird
Serial.print(":"); // Der Befehl „Serial.print(" ");“ sorgt dafür, dass zwischen den einzelnen ausgelesenen Blöcken ein Leerzeichen steht.
lcd.print(mfrc522.uid.uidByte[i], HEX);
lcd.print(':');
}
Serial.println(); // Mit dieser Zeile wird auf dem Serial Monitor nur ein Zeilenumbruch gemacht.
}