Spisu treści:

Jak korzystać z modułu RFID-RC522 z Arduino: 5 kroków
Jak korzystać z modułu RFID-RC522 z Arduino: 5 kroków

Wideo: Jak korzystać z modułu RFID-RC522 z Arduino: 5 kroków

Wideo: Jak korzystać z modułu RFID-RC522 z Arduino: 5 kroków
Wideo: #9 Moduł RFID MF RC522 - obsługa i przykład użycia z Arduino 2024, Listopad
Anonim
Jak korzystać z modułu RFID-RC522 z Arduino?
Jak korzystać z modułu RFID-RC522 z Arduino?

W tym Instruktażowym omówię podstawową zasadę działania modułu RFID w połączeniu z jego tagami i chipami. Przedstawię również krótki przykład projektu, który wykonałem przy użyciu tego modułu RFID z diodą LED RGB. Jak zwykle w przypadku moich Instructables, w pierwszych kilku krokach przedstawię krótki przegląd i zostawię wyczerpujące, szczegółowe wyjaśnienie w ostatnim kroku dla tych, którzy są zainteresowani.

Kieszonkowe dzieci:

Moduł RC522 RFID + identyfikator i karta identyfikacyjna -

RGB LED + trzy rezystory 220 omów

Krok 1: Połączenia sprzętowe

Połączenia sprzętowe
Połączenia sprzętowe

W tym projekcie użyłem Arduino Mega, ale możesz użyć dowolnego mikrokontrolera, ponieważ jest to projekt o stosunkowo niskich zasobach, jedyną rzeczą, która byłaby inna, są połączenia pinów dla SCK, SDA, MOSI, MISO i RST, ponieważ na każdej płycie są inne. Jeśli nie używasz Mega, zapoznaj się z początkiem tego skryptu, którego będziemy wkrótce używać:

RFID:

SDA (biały) - 53

SCK (pomarańczowy) - 52

MOSI (żółty) - 51

MISO (zielony) - 50

RST (niebieski) - 5

3,3v - 3,3v

GND - GND

(Uwaga: chociaż czytnik wymaga ściśle 3,3 V, piny są odporne na napięcie 5 V, co pozwala nam używać tego modułu z Arduino i innymi mikrokontrolerami 5 V DIO)

Dioda LED RGB:

Czerwona katoda (fioletowa) - 8

GND - GND

Zielona katoda (zielona) - 9

Niebieska katoda (niebieska) - 10

Krok 2: Oprogramowanie

Oprogramowanie
Oprogramowanie

Teraz przejdźmy do oprogramowania.

Najpierw musimy zainstalować bibliotekę MFRC522, aby móc pobierać, zapisywać i przetwarzać dane RFID. Link do github to: https://github.com/miguelbalboa/rfid, ale można go również zainstalować za pomocą menedżera bibliotek w Arduino IDE lub na PlatformIO. Zanim będziemy mogli stworzyć własny, niestandardowy program do obsługi i przetwarzania danych RFID, najpierw musimy uzyskać rzeczywiste UID dla naszej karty i tagu. W tym celu musimy wgrać ten szkic:

(Arduino IDE: przykłady > MFRC522 > DumpInfo)

(PlatformIO: PIO Home > biblioteki > zainstalowane > MFRC522 > przykłady > DumpInfo)

To, co robi ten szkic, to w zasadzie wyodrębnienie wszystkich informacji obecnych na karcie, w tym UID w postaci szesnastkowej. Na przykład UID mojej karty to 0x72 0x7D 0xF5 0x1D (patrz rysunek). Reszta wydrukowanej struktury danych to informacje obecne na karcie, które możemy odczytywać lub zapisywać. Omówię bardziej szczegółowo w ostatniej sekcji.

Krok 3: Oprogramowanie (2)

Oprogramowanie (2)
Oprogramowanie (2)

Jak zwykle w przypadku moich Instructables, wyjaśnię oprogramowanie w komentarzach wiersz po wierszu, aby każdą część kodu można było wyjaśnić w odniesieniu do jej funkcji w pozostałej części skryptu, ale zasadniczo identyfikuje kartę przeczytaj i przyznaje lub odmawia dostępu. Ujawnia również tajną wiadomość, jeśli właściwa karta zostanie zeskanowana dwukrotnie.

github.com/belsh/RFID_MEGA/blob/master/mfr….

Krok 4: RFID; Wyjaśnione

RFID; Wyjaśnione
RFID; Wyjaśnione

W czytniku znajduje się moduł częstotliwości radiowej oraz antena generująca pole elektromagnetyczne. Z drugiej strony karta zawiera chip, który może przechowywać informacje i pozwala nam je zmieniać, zapisując do jednego z wielu jej bloków, który omówię bardziej szczegółowo w następnej sekcji, ponieważ podlega on strukturze danych RFID.

Zasada działania komunikacji RFID jest dość prosta. Antena czytnika (w naszym przypadku antena na RC522 jest wbudowaną strukturą przypominającą cewkę na twarzy), która będzie wysyłać fale radiowe, które z kolei zasilą cewkę w karcie/znaczniku (w bliskiej odległości) i to skonwertowana energia elektryczna zostanie wykorzystana przez transponder (urządzenie odbierające i emitujące sygnały o częstotliwości radiowej) w karcie do odesłania przechowywanych na niej informacji w postaci większej ilości fal radiowych. Nazywa się to rozproszeniem wstecznym. W następnej sekcji omówię konkretną strukturę danych używaną przez kartę/znacznik do przechowywania informacji, które możemy odczytywać lub zapisywać.

Krok 5: RFID; Wyjaśnione (2)

RFID; Wyjaśnione (2)
RFID; Wyjaśnione (2)

Jeśli spojrzysz na górę danych wyjściowych naszego skryptu przesłanego wcześniej, zauważysz, że typ karty to PICC 1 KB, co oznacza, że ma 1 KB pamięci. Ta pamięć jest przydzielona do struktury danych składającej się z 16 sektorów, które niosą 4 bloki, z których każdy zawiera 16 bajtów danych (16 x 4 x 16 = 1024 = 1 KB). Ostatni blok w każdym sektorze (AKA Sector Trailer) będzie zarezerwowany dla przyznania dostępu do odczytu//zapisu pozostałej części sektora, co oznacza, że mamy tylko 3 pierwsze bloki do pracy w zakresie przechowywania i odczytu danych.

(Uwaga: pierwszy blok sektora 0 jest znany jako blok producenta i zawiera ważne informacje, takie jak dane producenta; zmiana tego bloku może całkowicie zablokować kartę, więc zachowaj ostrożność podczas próby zapisania na niej danych)

Miłego majsterkowania.

Zalecana: