Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <MFRC522.h>
- #include <SPI.h>
- int nfcreader = 1;
- int nfc0 = 6; // SPI PIN for first reader
- int nfc1 = 8; // SPI PIN for seconde reader
- int nfc2 = 10; // SPI PIN for terceiro reader
- MFRC522 mfrc522_0(nfc0, 9);
- MFRC522 mfrc522_1(nfc1, 9);
- MFRC522 mfrc522_2(nfc2, 9);
- void setup() {
- Serial.begin(9600);
- pinMode(nfc0, OUTPUT);
- pinMode(nfc1, OUTPUT);
- pinMode(nfc2, OUTPUT);
- SPI.begin();
- SPI.setBitOrder(MSBFIRST);
- // Init MFRC522 cards
- mfrc522_0.PCD_Init();
- mfrc522_1.PCD_Init();
- mfrc522_2.PCD_Init();
- Serial.println("");
- }
- void read32bitValue(int value, int ss)
- {
- digitalWrite(ss, LOW);
- uint32_t val;
- val = SPI.transfer(0xff); //0xff is a dummy
- val |= (uint32_t)SPI.transfer(0xff) << 8;
- val |= (uint32_t)SPI.transfer(0xff) << 16;
- val |= (uint32_t)SPI.transfer(0xff) << 24;
- digitalWrite(ss, HIGH);
- }
- // Get the UID of the card being scanned
- String getID(MFRC522 card){
- String output = "";
- for (byte i = 0; i < card.uid.size; i++) {
- output += card.uid.uidByte[i] < 0x10 ? "0" : "";
- output += String(card.uid.uidByte[i],HEX);
- }
- return output;
- }
- void readCard(MFRC522 card,int readerNumber) {
- if ( !card.PICC_IsNewCardPresent()) {
- return;
- }
- if ( !card.PICC_ReadCardSerial()) {
- return;
- }
- if (getID(card) == "f3634ce5")
- Serial.println("w");
- //Serial.print("Card "+String(readerNumber)+":");
- //Serial.println(getID(card));
- delay (200);
- if (getID(card) == "e3f531db")
- Serial.println("y");
- //Serial.print("Card "+String(readerNumber)+":");
- //Serial.println(getID(card));
- delay (200);
- if (getID(card) == "530a6dd9")
- Serial.println("k");
- //Serial.print("Card "+String(readerNumber)+":");
- //Serial.println(getID(card));
- delay (200);
- //Serial.print("Card "+String(readerNumber)+":");
- //Serial.println(getID(card));
- //delay (500);
- }
- void loop() {
- do{
- switch (nfcreader)
- {
- case 0:
- read32bitValue(0, nfc0);
- nfcreader++;
- readCard(mfrc522_0,0);
- break;
- case 1:
- read32bitValue(0, nfc1);
- nfcreader++;
- readCard(mfrc522_1,1);
- break;
- case 2:
- read32bitValue(0, nfc2);
- nfcreader++;
- readCard(mfrc522_2,2);
- break;
- default:
- nfcreader = 0;
- break;
- }
- }while(true);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement