From 8bf02300b3fdc0cf0e6f2b77e8b58ad8ae963056 Mon Sep 17 00:00:00 2001 From: mdxs Date: Tue, 11 Nov 2014 06:23:07 +0100 Subject: [PATCH 1/2] Updated the DumpInfo example --- examples/DumpInfo/DumpInfo.ino | 93 ++++++++++++++++++++++------------ 1 file changed, 62 insertions(+), 31 deletions(-) diff --git a/examples/DumpInfo/DumpInfo.ino b/examples/DumpInfo/DumpInfo.ino index ed4fc1d..b0909a8 100644 --- a/examples/DumpInfo/DumpInfo.ino +++ b/examples/DumpInfo/DumpInfo.ino @@ -1,44 +1,57 @@ /* - * MFRC522 - Library to use ARDUINO RFID MODULE KIT 13.56 MHZ WITH TAGS SPI W AND R BY COOQROBOT. - * The library file MFRC522.h has a wealth of useful info. Please read it. - * The functions are documented in MFRC522.cpp. - * - * Based on code Dr.Leong ( WWW.B2CQSHOP.COM ) - * Created by Miguel Balboa (circuitito.com), Jan, 2012. - * Rewritten by Søren Thing Andersen (access.thing.dk), fall of 2013 (Translation to English, refactored, comments, anti collision, cascade levels.) + * ---------------------------------------------------------------------------- + * This is a MFRC522 library example; see https://github.com/miguelbalboa/rfid + * for further details and other examples. + * + * NOTE: The library file MFRC522.h has a lot of useful info. Please read it. + * * Released into the public domain. - * - * Sample program showing how to read data from a PICC using a MFRC522 reader on the Arduino SPI interface. - *----------------------------------------------------------------------------- empty_skull - * Aggiunti pin per arduino Mega - * add pin configuration for arduino mega - * http://mac86project.altervista.org/ - ----------------------------------------------------------------------------- Nicola Coppola - * Pin layout should be as follows: - * Signal Pin Pin Pin - * Arduino Uno Arduino Mega MFRC522 board + * ---------------------------------------------------------------------------- + * Example sketch/program showing how to read data from a PICC (that is: a RFID + * Tag or Card) using a MFRC522 based RFID Reader on the Arduino SPI interface. + * + * When the Arduino and the MFRC522 module are connected (see the pin layout + * below), load this sketch into Arduino IDE then verify/compile and upload it. + * To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). + * When you present a PICC (that is: a RFID Tag or Card) at reading distance + * of the MFRC522 Reader/PCD, the output will show the ID, type and any data + * blocks it can read. Note that you may see some "Timeout in communication" + * messages when removing the PICC from reading distance to early. + * + * If your reader supports it, this sketch/program will read all the PICCs + * presented (that is: multiple tag reading). So if you stack* two or more + * PICCs on top of each other and present them to the reader, it will first + * output all details of the first and then the next PICC. Note that this + * may take some time as all data blocks are dumped, so keep the PICCs at + * reading distance until complete. + * + * Typical pin layout used: * ------------------------------------------------------------ - * Reset 9 5 RST - * SPI SS 10 53 SDA - * SPI MOSI 11 51 MOSI - * SPI MISO 12 50 MISO - * SPI SCK 13 52 SCK - * - * The reader can be found on eBay for around 5 dollars. Search for "mf-rc522" on ebay.com. + * MFRC522 Arduino Arduino Arduino + * Reader/PCD Uno Mega Nano v3 + * Signal Pin Pin Pin Pin + * ------------------------------------------------------------ + * RST/Reset RST 9 5 D9 + * SPI SS SDA 10 53 D10 + * SPI MOSI MOSI 11 51 D11 + * SPI MISO MISO 12 50 D12 + * SPI SCK SCK 13 52 D13 */ #include #include -#define SS_PIN 10 -#define RST_PIN 9 -MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. +#define RST_PIN 9 // +#define SS_PIN 10 // + +MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance void setup() { - Serial.begin(9600); // Initialize serial communications with the PC + Serial.begin(9600); // Initialize serial communications with the PC SPI.begin(); // Init SPI bus - mfrc522.PCD_Init(); // Init MFRC522 card - Serial.println("Scan PICC to see UID and type..."); + mfrc522.PCD_Init(); // Init MFRC522 + ShowReaderDetails(); // Show details of PCD - MFRC522 Card Reader details + Serial.println("Scan PICC to see UID, type, and data blocks..."); } void loop() { @@ -52,6 +65,24 @@ void loop() { return; } - // Dump debug info about the card. PICC_HaltA() is automatically called. + // Dump debug info about the card; PICC_HaltA() is automatically called mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); } + +void ShowReaderDetails() { + // Get the MFRC522 software version + byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg); + Serial.print("MFRC522 Software Version: 0x"); + Serial.print(v, HEX); + if (v == 0x91) + Serial.print(" = v1.0"); + else if (v == 0x92) + Serial.print(" = v2.0"); + else + Serial.print(" (unknown)"); + Serial.println(""); + // When 0x00 or 0xFF is returned, communication probably failed + if ((v == 0x00) || (v == 0xFF)) { + Serial.println("WARNING: Communication failure, is the MFRC522 properly connected?"); + } +} \ No newline at end of file From 623d04744aa74d2a81292e81ce81b4803e45ecf3 Mon Sep 17 00:00:00 2001 From: mdxs Date: Wed, 12 Nov 2014 00:50:54 +0100 Subject: [PATCH 2/2] Updated comments and pin layout --- examples/DumpInfo/DumpInfo.ino | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/DumpInfo/DumpInfo.ino b/examples/DumpInfo/DumpInfo.ino index b0909a8..ca1e83f 100644 --- a/examples/DumpInfo/DumpInfo.ino +++ b/examples/DumpInfo/DumpInfo.ino @@ -14,12 +14,12 @@ * below), load this sketch into Arduino IDE then verify/compile and upload it. * To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). * When you present a PICC (that is: a RFID Tag or Card) at reading distance - * of the MFRC522 Reader/PCD, the output will show the ID, type and any data - * blocks it can read. Note that you may see some "Timeout in communication" - * messages when removing the PICC from reading distance to early. + * of the MFRC522 Reader/PCD, the serial output will show the ID/UID, type and + * any data blocks it can read. Note: you may see "Timeout in communication" + * messages when removing the PICC from reading distance too early. * * If your reader supports it, this sketch/program will read all the PICCs - * presented (that is: multiple tag reading). So if you stack* two or more + * presented (that is: multiple tag reading). So if you stack two or more * PICCs on top of each other and present them to the reader, it will first * output all details of the first and then the next PICC. Note that this * may take some time as all data blocks are dumped, so keep the PICCs at @@ -27,15 +27,15 @@ * * Typical pin layout used: * ------------------------------------------------------------ - * MFRC522 Arduino Arduino Arduino - * Reader/PCD Uno Mega Nano v3 - * Signal Pin Pin Pin Pin + * MFRC522 Arduino Arduino Arduino + * Reader/PCD Uno Mega Nano v3 + * Signal Pin Pin Pin Pin * ------------------------------------------------------------ - * RST/Reset RST 9 5 D9 - * SPI SS SDA 10 53 D10 - * SPI MOSI MOSI 11 51 D11 - * SPI MISO MISO 12 50 D12 - * SPI SCK SCK 13 52 D13 + * RST/Reset RST 9 5 D9 + * SPI SS SDA(SS) 10 53 D10 + * SPI MOSI MOSI 11 / ICSP-4 51 D11 + * SPI MISO MISO 12 / ICSP-1 50 D12 + * SPI SCK SCK 13 / ICSP-3 52 D13 */ #include