W artykule zostanie przedstawione podłączenie i działanie takiego modułu RFID na arduino. Po przyłożeniu wcześniej zapisanego breloka, dioda zielona zapali się, a kiedy nie rozpozna, zapali się czerwona.
Spis treści
- Krótki opis
- Specyfikacja
- Podłączenie
- Wgranie biblioteki
- Gotowy kod
- Wykorzystanie w praktyce
- Pliki do pobrania
Krótki opis
Zestaw umożliwia zbudowanie systemów alarmowych, systemu dostępu itp. do Wykorzystania w systemach mikroprocesorowych AVR, PIC, ARM oraz modułami Arduino.
Specyfikacja
- Przybliżony pobór prądu: max 30mA
- Zasilanie: napięcie zasilania: 3,3V dc
- zasięg: 0 – 60mm
- transfer: do 10Mbit
- temperatura pracy -20°C do 80°C
- wymiary : 40x60mm
Podłączenie
Piny na poszczególnych arduino
Sygnał | MFRC522 Reader/PCD Pin | Arduino Uno/101 Pin | Arduino Mega Pin | Arduino Nano v3 Pin | Arduino Leonardo/Micro Pin | Arduino Pro Micro Pin |
RST/Reset | RST | 9 | 5 | D9 | RESET/ICSP-5 | RST |
SPI SS | SDA(SS) | 10 | 53 | D10 | 10 | 10 |
SPI MOSI | MOSI | 11 / ICSP-4 | 51 | D11 | ICSP-4 | 16 |
SPI MISO | MISO | 12 / ICSP-1 | 50 | D12 | ICSP-1 | 14 |
SPI SCK | SCK | 13 / ICSP-3 | 52 | D13 | ICSP-3 | 15 |
Zaczniemy od podłączenia RFID. Podłączamy 3.3V do 3.3V na arduino, GND do GND i teraz korzystamy z tabeli powyżej. Połączenie zaprezentuję na przykładzie arduino nano. RST do D9, SDA do D10, MOSI do D11, MISO do D12, a SCK do D13. Po podłączeniu RFID, do działania programu będą nam również potrzebne diody. Podłączamy GND do płytki stykowej, następnie dwa rezystory 1k. Do plusów diod prowadzimy po kabelku od pinu 7 (czerwona dioda) i od pinu 8 (zielona dioda). Na schemacie poniżej zostało przedstawione pełne połączenie.
Wgranie biblioteki
Na początku wgrywamy bibliotekę MFRC522, która będzie nam potrzebna do działania RFID oraz programu z diodami. Znajdziecie ją do pobrania na samym dole artykułu. Wgrywamy bibliotekę i wybieramy przykład rfid_write_personal_data.
W przypadku używania innego arduino należy spojrzeć do tabelki i zmienić piny na odpowiednie.
Wgrywamy przykład do arduino, a następnie otwieramy monitor portu szeregowego. Przykładamy do naszego czytnika dołączony do niego brelok i powinny nam się wyświetlić informacje o nim.
Jeżeli tak się dzieje, wszystko jest prawidłowo wykonane i możemy przejść dalej.
Gotowy kod
Wgrywamy poniższy kod do naszego arduino.
#include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 #define RST_PIN 9 #define DIODA_CZER 7 #define DIODA_ZIEL 8 MFRC522 mfrc522(SS_PIN, RST_PIN); String calosc = ""; void setup() { Serial.begin(9600); SPI.begin(); mfrc522.PCD_Init(); Serial.println("Czytnik wystartowal"); } void loop() { if (mfrc522.PICC_IsNewCardPresent()) { if (mfrc522.PICC_ReadCardSerial()) { for (byte i = 0; i < mfrc522.uid.size; i++) { calosc += String(mfrc522.uid.uidByte[i], HEX); } Serial.print("UID wykrytej karty: "); Serial.println(calosc); mfrc522.PICC_HaltA(); } if (calosc == "99a7ecc2") { analogWrite(DIODA_ZIEL, 255); delay(1000); digitalWrite(DIODA_ZIEL, 0); calosc = ""; } else { analogWrite(DIODA_CZER, 255); delay(1000); analogWrite(DIODA_CZER, 0); calosc = ""; } } }
Po wgraniu włączamy monitor portu szeregowego, przykładamy kartę albo brelok.
Kopiujemy zaznaczone UID i wklejamy je w miejsce poprzedniego ID (linijka 56).
if (calosc == "TUTAJ WKLEJ SWÓJ UID")
Kiedy, to już zrobimy, LED po przyłożeniu tego samego ID powinien zapalić się na zielono. A gdy przyłożymy brelok lub kartę z innym ID, zapali się czerwony LED.