FORUM

Czytnik RFID modRFID RC-522

Odpowiedz

Emotikony
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode włączony
[Img] włączony
[Flash] wyłączony
[URL] włączony
Emotikony włączone

Przegląd tematu
   

Rozwiń widok Przegląd tematu: Czytnik RFID modRFID RC-522

Czytnik RFID modRFID RC-522

autor: WitekR » 03 lis 2021, 20:45

Czytnik RFID modRFID RC-522
str_tyt_rfid-670x457_1.jpg
str_tyt_rfid-670x457_1.jpg (69.63 KiB) Przejrzano 1319 razy
RFID przykładowe zastosowania to: karty z biletem oraz karty umożliwiające otworzenie drzwi np. do biura lub domu. W projekcie zrealizowano prosty system, który może posłużyć właśnie do otwierania drzwi za pomocą odpowiedniego tagu RFID.

Do realizacji projektu potrzebne są następujące komponenty:

KAmduino UNO
Czytnik RFID modRFID RC-522
Konwerter stanów logicznych
Płytka prototypowa
Przewody do płytek prototypowych (męsko-męskie oraz żeńsko-męskie)
Diody LED (zielona i czerwona)
Rezystory 220 ohm (2 sztuki)
1.jpg
1.jpg (36.83 KiB) Przejrzano 1319 razy
Zestaw modRFID, oprócz modułu z układem RC522 odczytującego dane z tagów, zawiera również dwa tagi RFID w postaci breloczka oraz karty. Moduł współpracuje z tagami pracującymi z częstotliwością nośną 13,56 MHz. Do komunikacji z mikrokontrolerem wykorzystuje interfejs SPI. Układ znajdujący się na płytce pracujące z napięciem 3,3 V co oznacza, że aby podłączyć linie sterujące do KAmduino UNO, konieczne jest użycie konwertera stanów logicznych. Dzięki niemu sygnały o napięciu 3,3 V będą zamieniane na sygnały o napięciu 5 V (i odwrotnie). Zestaw modRFID zawiera także 2 listwy goldpinów (proste i kątowe). Jedną z nich należy przylutować do modułu przed przystąpieniem do realizacji projektu.


Sposób połączenia elementów
Pierwszym krokiem jest połączenie modułu do odczytu tagów z KAmduino UNO. Należy to zrobić zgodnie ze schematem pokazanym na rysunku

Schemat2_bb-768x572.jpg
Schemat2_bb-768x572.jpg (51.59 KiB) Przejrzano 1318 razy
Zmontowany układ prezentuje się następująco (kolory przewodów zgadzają się z schematem):
2.jpg
2.jpg (80.62 KiB) Przejrzano 1317 razy
Kod programu:

Kod: Zaznacz cały

/*
 * Program do elektronicznego zamka
 * Na podstawie przykładu "READNUID" znajdującego się w bibliotece MFRC522 library dostępnej pod adresem https://github.com/miguelbalboa/rfid 
 * 
 * 
 * 
 * 
*/

#define LED_Zielona 6 // Pin do którego będzie podłączona Zielona dioda
#define LED_Czerwona  7  //Pin do którego będzie podłączona czerwona dioda

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
 
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class

const byte poprawna_karta[] = {0x10,0x55,0x60,0x89};


void setup() { 
  Serial.begin(9600);
  SPI.begin(); // Init SPI bus
  rfid.PCD_Init(); // Init MFRC522 
  pinMode(LED_Zielona,OUTPUT); // Ustawienie pinu LED_Zielona  jako wyjscie
  pinMode(LED_Czerwona,OUTPUT); // Ustawienie pinu LED_Czerwona jako wyjscie
    
}
 
void loop() {

  // Look for new cards
  if ( ! rfid.PICC_IsNewCardPresent()) 
    return;

  // Verify if the NUID has been readed
  if ( ! rfid.PICC_ReadCardSerial())
    return;

 
  if (rfid.uid.uidByte[0] == poprawna_karta[0] || 
      rfid.uid.uidByte[1] == poprawna_karta[1] || 
      rfid.uid.uidByte[2] == poprawna_karta[2] || 
      rfid.uid.uidByte[3] == poprawna_karta[3] ) 
     {
      
          Serial.println("Poprawna karta");  
          digitalWrite(LED_Zielona,HIGH);
          delay(1500);
          digitalWrite(LED_Zielona,LOW);    
  }
  else 
  {
          Serial.println("Niepoprawna karta!!!");
          digitalWrite(LED_Czerwona,HIGH);
          delay(2000);
          digitalWrite(LED_Czerwona,LOW);
    
  }
  
  // Halt PICC
  rfid.PICC_HaltA();

  // Stop encryption on PCD
  rfid.PCD_StopCrypto1();
}



Biblioteka:
rfid-master.zip
(1.07 MiB) Pobrany 117 razy

Na górę