Arduino: RFID RC522

From OnnoWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Sumber: http://arduinolearning.com/code/arduino-uno-rfid-rc522-example.php

Library

# MFRC522 RFID
# Download https://github.com/miguelbalboa/rfid/archive/master.zip
cd ~/Arduino/libraries/
wget http://downloads.arduino.cc/libraries/github.com/miguelbalboa/MFRC522-1.4.0.zip
unzip MFRC522-1.4.0.zip

Rangkaian

Arduino-Uno-r3-with-RFID-RC522 bb.png


Source Code

#include <SPI.h>
#include <MFRC522.h>
 
#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
    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
    ShowReaderDetails();    // Show details of PCD - MFRC522 Card Reader details
    Serial.println(F("Scan PICC to see UID, 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));
}
 
void ShowReaderDetails() {
    // Get the MFRC522 software version
    byte v = mfrc522.PCD_ReadRegister(mfrc522.VersionReg);
    Serial.print(F("MFRC522 Software Version: 0x"));
    Serial.print(v, HEX);
    if (v == 0x91)
        Serial.print(F(" = v1.0"));
    else if (v == 0x92)
        Serial.print(F(" = v2.0"));
    else
        Serial.print(F(" (unknown)"));
    Serial.println("");
    // When 0x00 or 0xFF is returned, communication probably failed
    if ((v == 0x00) || (v == 0xFF)) {
        Serial.println(F("WARNING: Communication failure, is the MFRC522 properly connected?"));
    }
}



Referensi


Pranala Menarik