RC522 to popularny moduł RFID używany do komunikacji i identyfikacji bezprzewodowej. Jest szeroko stosowany w systemach kontroli dostępu, systemach płatności bez kontaktu i śledzeniu zapasów. Ten samouczek poprowadzi Cię do interfejsu modułu RC522 RFID z Arduino do czytania tagów i kart RFID.
Czego będziesz potrzebować
- Moduł RC522 RFID
- Arduino Board (np. UNO, Mega, Nano)
- Tagi lub karty RFID (13,56 MHz)
- Druty chleba i skoczków
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie modułu RC522 RFID
Moduł RC522 RFID działa przy 13,56 MHz i komunikuje się z mikrokontrolerem za pomocą protokołu SPI. Jest wyposażony w antenę RFID i obsługuje zarówno operacje czytania, jak i pisania.
RC522 Pinout
Szpilka | Funkcjonować |
---|---|
SDA | SPI SS (Slave Select) |
SCK | Zegar SPI |
Mosi | Wejście danych SPI |
Miso | Wyjście danych SPI |
Irq | Żądanie przerwania (opcjonalnie) |
GND | Grunt |
RST | Nastawić |
3,3 V. | Zasilacz |
Notatka: RC522 działa na logice 3,3 V; Upewnij się, że połączenia spełniają wymagania napięcia planszy.
Krok 2: Okablowanie RC522 do Arduino
Oto jak podłączyć moduł RC522 RFID z Arduino Uno:
PIN RC522 | PIN Arduino |
---|---|
SDA | Pin 10 |
SCK | Pin 13 |
Mosi | Pin 11 |
Miso | Pin 12 |
Irq | Nie połączone |
GND | GND |
RST | Pin 9 |
3,3 V. | 3,3 V. |
Notatka: W przypadku innych płyt Arduino upewnij się, że prawidłowo mapujesz piny SPI.
Krok 3: Zainstaluj wymaganą bibliotekę
Aby pracować z modułem RC522, zainstaluj bibliotekę „MFRC522”.
Kroki do zainstalowania:
- Otwórz Arduino IDE.
- Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
- Wyszukaj „MFRC522” i kliknij Zainstalować.
Krok 4: Prześlij kod
Oto przykład szkicu do odczytania danych znacznika RFID:
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9 // Reset pin
#define SS_PIN 10 // Slave select pin
MFRC522 rfid(SS_PIN, RST_PIN); // Create an instance of the MFRC522 library
void setup() {
Serial.begin(9600);
while (!Serial);
SPI.begin(); // Initialize SPI bus
rfid.PCD_Init(); // Initialize RFID reader
Serial.println("RC522 RFID Reader Initialized");
}
void loop() {
// Check for a new card
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
return;
}
Serial.println("Card detected:");
// Print the UID of the card
Serial.print("UID: ");
for (byte i = 0; i < rfid.uid.size; i++) {
Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(rfid.uid.uidByte[i], HEX);
}
Serial.println();
rfid.PICC_HaltA(); // Halt the card
}
Krok 5: Przetestuj konfigurację
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
- Prześlij kod do Arduino, klikając Wgrywać.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - Umieść znacznik lub kartę RFID w pobliżu modułu. UID karty zostanie wyświetlony w monitorze szeregowym.
Opcjonalnie: Zapisanie danych do znacznika RFID
Aby zapisać dane do znacznika RFID, możesz użyć PICC_Write
Funkcja w bibliotece MFRC522. Szczegółowe operacje zapisu można znaleźć w przykładach biblioteki.
Zastosowania RC522
- Systemy kontroli dostępu
- Systemy płatności bez kontaktu
- Śledzenie i zarządzanie zapasami
- Inteligentne systemy frekwencji
Rozwiązywanie problemów
- Brak odpowiedzi z modułu: Sprawdź okablowanie i upewnij się, że połączenia SPI są prawidłowe.
- UID nie wykryty: Upewnij się, że znacznik znajduje się w zakresie anteny RFID.
- Błędy biblioteczne: Sprawdź poprawnie instalowany biblioteka MFRC522.
Wniosek
Z powodzeniem połączyłeś moduł RC522 RFID z Arduino, umożliwiając odczytanie danych tagów RFID. Ten wszechstronny moduł jest idealny do projektów wymagających komunikacji bezprzewodowej i identyfikacji. Eksperymentuj z dodatkowymi funkcjami, takimi jak zapisywanie danych do tagów lub integracja ich z większymi systemami dla zaawansowanych aplikacji!