Lettura tag RFId

Salve a tutti!
Volevo chiedervi se ci fosse un metodo per leggere cosa c'è sui tag mediante il sensore RFId RC522. Per il momento riesco solo a far leggere l'ID del tag, però l'ho sovrascritto con un testo e non so come farlo comparire nel seriale. Andrebbe bene anche un metodo per cambiare l'ID.

Grazie in anticipo.

Ciao caro amico.
Non capisco cosa intendi, ma se vuoi cambiare ID o codice tag o tessere Rfid, non è possibile.

Hosein Shirani

Vorrei far comparire oltre all'ID anche ciò che c'è scritto sul tag

@hoseinpcb : salve, essendo questo il il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO. Grazie.

Guglielmo

@xittiv : .... emmm ... se leggi bene io non mi riferivo a te, tu ti sei già presentato a suo tempo QUI ... quindi non serviva una nuova presentazione (che ora elimino) :grin:

Guglielmo

Quale libreria stai usando ?

MFRC522.h

ora posto il codice

#include <MFRC522.h>

MFRC522 rfid(10, 9);

void setup(){
  Serial.begin(9600);
  SPI.begin();
  rfid.PCD_Init();
}

void loop(){
  if(rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()){
    String uid = getUID();
    Serial.println("RFID ID: " + uid);
  }
  delay(10);
}

String getUID(){
  String uid = "";
  for(int i = 0; i < rfid.uid.size; i++){
    uid += rfid.uid.uidByte[i] < 0x10 ? "0" : "";
    uid += String(rfid.uid.uidByte[i], HEX);
  }
  rfid.PICC_HaltA();
  return uid;
}

Sta roba legge il codice UID della tessera.
Tu dici che hai scritto, posta il codice con cui dici di aver sovrascritto qualcosa

Nella libreria c'e' esempio ReadAndWrite.ino
"rfid/ReadAndWrite.ino at master · miguelbalboa/rfid · GitHub"
Dove: Data will be written to the card, in sector #1 (blocks #4 to #7) ovvero scrive nel settore 1 (MIFARE_Write)

ti dico la verità non saprei come scrivere il codice per leggere sulla tessera

perdonami l'ignoranza, ma con questi codici che mi hai consigliato posso far uscire sul seriale "Pincopallino"?

Perdona tu ma o ti spieghi che vuoi fare oppure non si capisce nulla.
Cosa vuol dire che vuoi far uscire Pincopallino ?? Vuoi scrivere sulla tessera Pincopallino e poi rileggerlo e vederlo sulla seriale ??

esatto, scusami però non sono molto pratico... sto cercando di imparare

Se vedi esempio al mio post #8, che è tra gli esempi, usa il comando MIFARE_Write()
Il comando chiede indirizzo a cui scrivere e poi un buffer di byte, ovvero una stringa.

byte block=1;    // numero blocco di memoria 1
char buffer[16]="Pincopallino";
status = mfrc522.MIFARE_Write(block, buffer, 16);
if (status != MFRC522::STATUS_OK) Serial.println("fallita scrittura");
byte block=1;    // numero blocco di memoria 1
char buffer[16];
int len=16;
status = mfrc522.MIFARE_Read(block, buffer, &len);
if (status != MFRC522::STATUS_OK) Serial.println("lettura fallita");

quindi queste stringhe le dovrei sostituire dove c'è il commento "write data block"?