RFID modul


Otključavanje vrata bez ključa, identifikacija zaposlenih, praćenje robe na skladištu, prenošenje parametara za različite uređaje i slične radnje moguće su korištenjem RFID modula.

Takav čitač se sastoji od malenog predajnika koji emitira radio valove koji će pobuditi karticu i ona će poslati neke zapisane podatke. Prijemnik će takve podatke pročitati i  pokrenuti neku akciju u sustavu.

U ovom projektu izradit ćemo bravu koja će otključati/zaključati vrata pomoću RFID kartice.

Kako bi mogli koristiti RFID čitač mogamo ga pravilno spojiti na Arduino UNO.

int brojac;
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN         9           // pin na kojeg je spojen RST
#define SS_PIN          10          // pin na kojeg je spojen SDA
MFRC522 mfrc522(SS_PIN, RST_PIN);   // pokretanje MFRC522 

String citaj_rfid;
String kljuc="a49e2096";    

void setup() {
    Serial.begin(9600);         // pokretanje serijske komunikacije
    SPI.begin();                // pokretanje SPI sabirnice
    mfrc522.PCD_Init();         // inicijalizacija MFRC522 kartice
    pinMode(7,OUTPUT);          // izlazni pin za LED-icu
    
}

/*
 * pomoćna funkcija koja pretvara HEX vrijednosti 
 */
void dump_byte_array(byte *buffer, byte bufferSize) {
    citaj_rfid="";
    for (byte i = 0; i < bufferSize; i++) {
        citaj_rfid=citaj_rfid + String(buffer[i], HEX);
    }
}
void loop() {

      // trazi novu karticu
    if ( ! mfrc522.PICC_IsNewCardPresent())
        return;

    // odabire i cita karticu
    if ( ! mfrc522.PICC_ReadCardSerial())
        return;

    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    Serial.println(citaj_rfid);

    if (citaj_rfid==kljuc){
      delay(1000);
      brojac=brojac+1;
      if(brojac==1){
         digitalWrite(7,HIGH); 
         }
      if(brojac==2){
         digitalWrite(7,LOW);
         brojac=0;
         }
      }
}