RFIS UIFD auf Display ausgeben

Hallo zusammen,

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

Vielen Dank über eine kurze Hilfestellung!

danke

rfid.ino (1.95 KB)

Setze Deinen Sketch in Codetags (</> obenlinks im Forumseditor). Damit ist er für alle lesbar.

Gruß Tommy

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.

Da ist alles wunderbar vom Autoren dokumentiert.

Versuche es mal so (ungetestet):

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.
}