[PROJEKT] Odczyt tagów RFID – Arduino i modRFID RC-522

Kod przykładu

Teraz przedstawię kod przykładu ReadNUID. Program będzie działał tak, że gdy przyłożymy niebieski brelok dioda zielona zapali się. Jeżeli przełożymy jakąkolwiek inną kartę, zapali się czerwona dioda. Będzie to symulowało otwieranie zamka. Kod programu znajduje się również w sekcji Do pobrania.

Omówienie

Pierwszym krokiem jest stworzenie tablicy, która będzie zawierać identyfikator karty pozwalającej na dostęp. W moim przypadku brelok posiada identyfikator składający się z 4 bajów o wartościach: 0x10, 0x55, 0x60, 0x89. Kod do zapisania tego identyfikatora w tablicy prezentuje się następująco:

Następnym krokiem jest zadeklarowanie pinów, do których będą podłączone diody LED (czerwona i zielona). Ja zdecydowałem się na pin 6 dla diody zielonej oraz pin 7 dla diody czerwonej.

Ustawiamy te piny jako wyjścia:

Pętla główna sprawdza czy przy module znajduje się tag RFID. Jeśli tak, zostaje on odczytany a jego identyfikator zapisany do zmiennej.

W następnych liniach kodu odczytany identyfikator tagu porównywany jest z wartościami zapisanymi w tablicy poprawna_karta[]. Jeżeli poszczególne bity identyfikatora są zgodne z zapisaną kartą, to na ok. 1,5 sekundy zostaje zapalona dioda zielona. Dodatkowo w monitorze portu szeregowego zostanie wyświetlony komunikat Poprawna karta. Gdy do modułu zostanie przyłożona karta o innym identyfikatorze niż znajdująca się w tablicy poprawna_karta[], to na ok. 2 sekundy zostanie zapalona dioda czerwona. Dodatkowo w monitorze portu szeregowego pojawi się komunikat Nieprawidłowa karta!!!. Realizuje to następujący kod:

Działanie zostało pokazane na filmie:

 

Do pobrania

O autorze