I have an Freeduino with Atmega168 controller and a RFID-RC522 shield, I tried some projects from github for reading RFID-Tags, but doesn't work, some LED projects for example running good, Now I am not sure, is it possible to run RFID-RC522 projects with this Freeduino or not, or did I something wrong? If someone can help me, thanks in advance.
/*
* 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.)
* 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
* ------------------------------------------------------------
* 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.
*/
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
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("Scan PICC to see UID and type...");
}
void loop() {
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
// Dump debug info about the card. PICC_HaltA() is automatically called.
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}
Your first tried code from MFRC522 Library, which Dumps all information from RFID Tag, second one uses same Library's previous version which won't work with new Library. You can use both versions, compile old codes with previous version, and new codes with Latest version. You can identify which version to use by looking code mfrc522.PCD_Init; (newer) or rfid.init(); (older) Since you can able to compile first one Sorry second one you have older Library. I suggest you use latest version from here:
And If you want to take a look, I am working on a project with same module, which features unlocking door with RFID tags.
Feel free to ask questions about this module, since I am working on this project I got experienced.
omersiar:
Your first tried code from MFRC522 Library, which Dumps all information from RFID Tag, second one uses same Library's previous version which won't work with new Library. You can use both versions, compile old codes with previous version, and new codes with Latest version. You can identify which version to use by looking code mfrc522.PCD_Init; (newer) or rfid.init(); (older) Since you can able to compile first one Sorry second one you have older Library. I suggest you use latest version from here: GitHub - miguelbalboa/rfid: Arduino RFID Library for MFRC522
And If you want to take a look, I am working on a project with same module, which features unlocking door with RFID tags.
Feel free to ask questions about this module, since I am working on this project I got experienced.
I am using RC522 Module it is same. If you doing do not connect RC522 Module's RST pin to Arduino's Reset pin, does not need to.
SS (SCK), RST pin can be configurable in Example sketchs (which come with library) check them, sometimes they pre-configured to Pins for Arduino Mega. Since Atmega168 supports SPI protocol you should able to use this module without error.