Z RFID spotykamy się bardzo często, choć często o tym nie zdajemy sobie sprawy np. wchodząc do biura czy domu, gdzie przykładamy kartę lub brelok do czytnika, aby otworzyć drzwi. Tym razem pokażę jak w prosty sposób odczytać nasze tagi RFID wszystko przy pomocy Arduino oraz RC-522.
Potrzebne elementy:
– Arduino nano (lub odpowiednik)
– czytnik RFID RC-522
– karta RFID / brelok RFID
– biblioteka RFID master
Opis połączenia:
Moduł RC522 | Arduino Nano, Uno | Arduino Mega |
SDA | 10 | 53 |
SCK | 13 | 52 |
MOSI | 11 | 51 |
MISO | 12 | 50 |
IRQ | nie podłączać | nie podłączać |
GND | GND | GND |
RST | 9 | 9 |
3.3V | 3.3V | 3.3V |
Schemat połączeniowy:
Kod programu:
/*
Odczyt tagów RFID RC-522
www.tranzystor.pl
*/#include <SPI.h>
#include <MFRC522.h>#define RST_PIN 9 // Pin 9 do resetowania RC522
#define SS_PIN 10 // Pin 10 dla SS (SDA) RC522
MFRC522 mfrc522(SS_PIN, RST_PIN);void setup() {
Serial.begin(9600); //inicjujemy komunikację szeregową
SPI.begin(); //inicjacja magistrali SPI
mfrc522.PCD_Init(); // inicjacja RC522
Serial.println(„Odczytywanie kodu RFID”);
}void loop() {
// Sprawdzamy, czy są nowe karty
if ( mfrc522.PICC_IsNewCardPresent())
{
//odczyt karty
if ( mfrc522.PICC_ReadCardSerial())
{
// wyswietlenie ID twojej karty RFID
Serial.print(„ID karty RFID:”);
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? ” 0″ : ” „);
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();mfrc522.PICC_HaltA();
}
}
}
Wygląd złożonego układu:
Przykładowy odczyt 2 kart:
Ale niby mam przekopiowane to co tutaj podali, jeszcze nie kumam wszystkich funkcji i bibliotek z tąd pytania.
Spoko, kto pyta nie błądzi.
Przepraszam, wiecie jak to naprawić? taki kod błędu wyskoczył
fatal error: MFRC522.h: No such file or directory
#include
^~~~~~~~~~~
compilation terminated.
exit status 1
MFRC522.h: No such file or directory
Tu masz odpowiedz „MFRC522.h: No such file or directory”
czyli brak ci tej biblioteki 😉
Witam.
Podczas kompilowania kody otrzymuję błąd w linijce: Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? ” 0″ : ” „);
Co może być nie tak?
Proszę o pomoc.
Łap https://www.tranzystor.pl/pliki/arduino/czytnik_rfid_v1_www.tranzystor.pl.ino wgrałem przed chwilką działa.
Dzięki zaoszczędziłem kasę na pastylki do bramy 😉