Hallo zusammen,
ich möchte gerne mehreren Chips eine bestimmte Nummer zuteilen. Diese Nummer soll nachher über den RC522 ausgelesen werden.
Leider habe ich nicht soviel Erfahrun mit dem Arduino und dem RC522. Jedoch habe ich schon einige Ansätze versucht, allerdings ohne Erfolg:
Nun zu meiner Frage: Gibt es die Möglichkeit nur einen bestimmten Wert (in dem Fall meine defnierte Nummer) im Seriellen Monitor anzeigen zu lassen? Dabei sollen keine weiteren Informationen wie UDI angezeigt werden.
Für einen Versuch nutzte ich die read_personal_Data. Jedoch habe ich hier das Problem das der Code erst in der zweiten Zeile des seriellen Montors ausgegeben wird. Ich möchte über ein anderes Programm auf die serielle Schnittstelle zugreifen. Leider kann ich aber nur die erste Zeile auslesen.
Ps. Ich bin kompletter Neuling in Sachen Forenbeiträge. Für Verbesserungsvorschläge bin ich gerne offen
ich hoffe ihr könnt mir weiter helfen
Vielen Dank und Gruß
Levin
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 // Configurable, see typical pin layout above
#define SS_PIN 10 // Configurable, see typical pin layout above
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
//*****************************************************************************************//
void setup() {
Serial.begin(9600); // Initialize serial communications with the PC
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522 card
//Serial.println(F("Read personal data on a MIFARE PICC:")); //shows in serial that it is ready to read
}
//*****************************************************************************************//
void loop() {
// Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory.
MFRC522::MIFARE_Key key;
for (byte i = 0; i < 6; i++) key.keyByte[i] = 0xFF;
//some variables we need
byte block;
byte len;
MFRC522::StatusCode status;
//-------------------------------------------
// Reset the loop if no new card present on the sensor/reader. This saves the entire process when idle.
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
byte buffer2[18];
block = 1;
status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, 1, &key, &(mfrc522.uid)); //line 834
if (status != MFRC522::STATUS_OK) {
Serial.print(mfrc522.GetStatusCodeName(status));
Serial.print(F("Authentication failed: "));
return;
}
status = mfrc522.MIFARE_Read(block, buffer2, &len);
if (status != MFRC522::STATUS_OK) {
Serial.print(mfrc522.GetStatusCodeName(status));
Serial.print(F("Reading failed: "));
return;
}
for (uint8_t i = 0; i < 16; i++) {
Serial.write(buffer2[i] );
}
//----------------------------------------
delay(2000); //change value if you want to read cards faster
mfrc522.PICC_HaltA();
mfrc522.PCD_StopCrypto1();
}
//*****************************************************************************************//
rfid_einWert.ino (4.69 KB)