Serwisy partnerskie:
Close icon
Serwisy partnerskie

Połączenie RFID RC522 z Arduino

Article Image
Kompletny poradnik, krok po kroku pokazujący jak połączyć RFID RC522 z Arduino.
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści

Witajcie przyjaciele, mam nadzieję, że wszystko u was w porządku i dobrze się bawicie. Dzisiejszy post jest poświęcony interfejsowi modułu RFID RC522 z Arduino. RC522 jest bardzo prostym, ale skutecznym modułem. Jest to moduł RFID i służy do skanowania kart RFID. Jest to nowa technologia i rozwija się z dnia na dzień. Obecnie jest on szeroko stosowany w biurach, gdzie pracownicy otrzymują karty RFID, a ich obecność jest zaznaczana po przyłożeniu karty do czytnika RFID. Widzieliśmy to w wielu filmach, gdy ktoś przyłoży swoją kartę do jakiejś maszyny, a drzwi się otwierają lub zamykają. Krótko mówiąc, jest to nowa, wschodząca technologia, która jest całkiem przydatna.

Ostatnio mam okazję pracować nad projektem, w którym muszę użyć czytnika RFID do skanowania kart. W tym projekcie użyłem go do kontroli obecności studentów, więc pomyślałem, aby podzielić się nim na naszym blogu, aby inni inżynierowie mogli z niego skorzystać.

Zróbmy najpierw małe wprowadzenie do RFID, a następnie zajmiemy się tym, jak połączyć RC522 z Arduino. RFID jest skrótem od Radio frequency identification (pl. System (zdalnej) identyfikacji radiowej). Moduły RFID wykorzystują pole elektromagnetyczne do przesyłania danych pomiędzy kartą a czytnikiem. Różne znaczniki są dołączone do obiektów i kiedy umieścimy ten obiekt przed czytnikiem, czytnik odczytuje te znaczniki. Kolejną zaletą RFID jest to, że nie musi być na linii wzroku, aby się komunikować. Tak jak w przypadku kodów kreskowych, czytnik musi znajdować się w linii wzroku do tagu i wtedy może go skanować, tak w RFID nie ma takiego ograniczenia. Więc, zacznijmy od połączenia RFID RC522 z Arduino.

Połączenie RFID RC522 z Arduino

Zacznijmy teraz od połączenia układu RFID RC522 z Arduino. Na rynku dostępnych jest wiele różnych modułów RFID. Moduł RFID, który wykorzystam w tym projekcie, to RFID-RC522. Jego interfejs jest dość prosty i działa całkiem dobrze. Moduł ten posiada łącznie osiem pinów, jak pokazano na poniższym rysunku:

  • SDA
  • SCK
  • MOSI
  • MISO
  • IRQ
  • GND
  • RST
  • 3,3 V

Normalnie pracuje na protokole SPI, gdy jest połączony z płytką Arduino. Połączenie Arduino z modułem RC522 pokazano na poniższej ilustracji:

Konfiguracja pinów jest następująca:

Przypuszczam, że podłączyłeś swój moduł RFID do Arduino, jak pokazano na powyższym rysunku i w tabeli, co jest dość proste. Wystarczy podłączyć siedem pinów. IRQ w naszym przypadku nie jest podłączone.

Teraz następnym krokiem jest kodowanie, więc najpierw należy pobrać tę bibliotekę Arduino dla modułu RFID RC522.

Uwaga: Jest to biblioteka strony trzeciej. Nie zaprojektowaliśmy jej, po prostu udostępniamy ją inżynierom.

Teraz przechodzimy do ostatniego kroku. Wgraj poniższy kod do swojego Arduino UNO.

#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN         9
#define SS_PIN          10
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup()
{
SPI.begin();
mfrc522.PCD_Init();
}
void loop() {
RfidScan();
}
void dump_byte_array(byte *buffer, byte bufferSize) {
for (byte i = 0; i < bufferSize; i++) {
Serial.print(buffer[i] < 0x10 ? ” 0″ : ” “);
Serial.print(buffer[i], HEX);
}
}
void RfidScan()
{
if ( ! mfrc522.PICC_IsNewCardPresent())
return;
if ( ! mfrc522.PICC_ReadCardSerial())
return;
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
}

Teraz za pomocą tego kodu, można dość łatwo odczytać nr karty RFID. Teraz głównym zadaniem jest wykorzystanie tej liczby i rozróżnienie ich, więc w tym celu zmieniłem trochę funkcję dump_byte_array, co jest podane poniżej:

#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN         9
#define SS_PIN          10
MFRC522 mfrc522(SS_PIN, RST_PIN);
int RfidNo = 0;
void setup()
{
SPI.begin();
mfrc522.PCD_Init();
}
void loop() {
RfidScan();
}
void dump_byte_array(byte *buffer, byte bufferSize)
{
Serial.print(“~”);
if(buffer[0] == 160){RfidNo = 1;Serial.print(RfidNo);}
if(buffer[0] == 176){RfidNo = 2;Serial.print(RfidNo);}
if(buffer[0] == 208){RfidNo = 3;Serial.print(RfidNo);}
if(buffer[0] == 224){RfidNo = 4;Serial.print(RfidNo);}
if(buffer[0] == 240){RfidNo = 5;Serial.print(RfidNo);}
Serial.print(“!”);
while(1){getFingerprintIDez();}
}
void RfidScan()
{
if ( ! mfrc522.PICC_IsNewCardPresent())
return;
if ( ! mfrc522.PICC_ReadCardSerial())
return;
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
}

Teraz używając pierwszego kodu dostaję numer karty dla wszystkich kart RFID, a następnie w drugim kodzie używam tych numerów i umieszczam kontrolę. Teraz, gdy pierwsza karta zostanie umieszczona przy czytniku, pokaże 1 na porcie szeregowym i tak dalej dla innych kart.

Tak więc, co musisz zrobić, to użyć pierwszego kodu i uzyskać numer karty, a następnie umieścić go w drugim kodzie i następnie rozróżnić swoje karty.

Dość proste i łatwe w obsłudze.

Mam nadzieję, że wyjaśniłem to poprawnie, ale jeśli masz jakiś problem - zapytaj.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić

Artykuł Interfacing of RFID RC522 with Arduino opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści
Firma:
Tematyka materiału: Kurs Arduino, pierwsze kroki, Projekty Arduino, Symulator Arduino, RFID, RC522, Kontrola dostępu, Proteus
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"