Go Down

Topic: MKR WIFI 1010 not work with RFID - RC522 (Read 579 times) previous topic - next topic

343guilt

Hello

I recently bought an arduino mkr wifi 1010 to be able to connect to the rfid-rc522 module,

I'm sure the rfid module works because i tested it on my arduino uno, is working perfectly.
As soon as I use the example in the arduino ide and connect the pins does not recognize the sensor.


Someone will know how to tell me where I'm wrong?
Thanks

ballscrewbob

Could you provide the example sketch you used but either place the code inside code tags ( </> ) or add it as an attachment.

The MKR uses a different MCU from the UNO and some people have had issues with sketches designed just for the AVR as opposed the the SAMD M0

It may not be the answer you were looking for but its the one I am giving based on either experience, educated guess, google or the fact that you gave nothing to go with in the first place so I used my wonky crystal ball.

343guilt


Thanks for the reply, this is the code I used and I connected the pins as in the table


Code: [Select]
*
 * --------------------------------------------------------------------------------------------------------------------
 * Example sketch/program showing how to read data from a PICC to serial.
 * --------------------------------------------------------------------------------------------------------------------
 * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
 *
 * 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 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 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.
 *
 * @license Released into the public domain.
 *
 * Typical pin layout used:
 * -----------------------------------------------------------------------------------------
 *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
 *             Reader/PCD   Uno/101       Mega      Nano v3    Leonardo/Micro   Pro Micro
 * Signal      Pin          Pin           Pin       Pin        Pin              Pin
 * -----------------------------------------------------------------------------------------
 * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
 * SPI SS      SDA(SS)      10            53        D10        10               10
 * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
 * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
 * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
 */

#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
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details
Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
}

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));
}

ballscrewbob

The  1010 uses the following pins > SPI (Pin 8 - MOSI, Pin 9 - SCK, Pin 10 - MISO)

May be worth double check your wiring corresponds to the MKR and not one of the other boards.



It may not be the answer you were looking for but its the one I am giving based on either experience, educated guess, google or the fact that you gave nothing to go with in the first place so I used my wonky crystal ball.

343guilt


Unfortunately, looking on the net I did not find any tutorial that specified how to connect the pins on the mkr, and in the code except for pins 9 and 10 you can not change the others

DrGee

I simply changed the configuration lines to :

#define RST_PIN         6           // Configurable, see typical pin layout above
#define SS_PIN           7           // Configurable, see typical pin layout above

Used those pins and ReadandWrite and DumpInfo from the examples works fine with my cheap old MRC552 board.

RC522  /  MKR1010
SDA / 7
RST / 6
MISO / MISO
SCK / SCK
MOSI / MOSI
3.3V  / VCC
GND / GND

Hope this helps.

343guilt

Many thanks for the reply. I tried it works perfectly both in reading and writing. Thank you very much

Go Up