Csatlakozás Arduinohoz:

Először telepítenie kell az MFRC522 RFID-könyvtárát.

Érintkezők a modulon Az RC522 RFID modult az Arduino-hoz kell csatlakoztatni. A csatlakozáshoz kényelmes az apa-anya vezetékek használata.


Az RC522 RFID modul érintkezőinek leírása:

  • VCC - Teljesítmény. 3,3V kell;
  • RST - reset. Vonal visszaállítása. Soha ne csatlakoztasson a CraftDuino RESET tűjéhez! Ez a tű egy PWM-mel ellátott digitális porthoz tapad;
  • GND - Föld. föld
  • MISO - Master Input Slave Output - adatok a slave-től a masterig, SPI;
  • MOSI - Master Output Slave Input - adatok mastertől slave-ig, SPI;
  • SCK - Soros óra - órajel, SPI;
  • NSS - Slave Select - slave kiválasztása, SPI;
  • IRQ - megszakítási vonal;
MFRC522 Arduino Uno Arduino Mega Arduino Nano v3 Arduino Leonardo/Micro Arduino Pro Micro
RST 9 5 D9 RESET/ICSP-5 RST
SDA (SS) 10 53 D10 10 10
MOSI 11 (ICSP-4) 51 D11 ICSP-4 16
MISO 12 (ICSP-1) 50 D12 ICSP-1 14
SCK 13 (ICSP-3) 52 D13 ICSP-3 15
3,3V 3,3V 3,3V Stabilizátor 3.3V Stabilizátor 3.3V Stabilizátor 3.3V
GND GND GND GND GND GND

Az RFID-RC522 modul két címkével rendelkezik, az egyik űrlapon műanyag kártya, a második pedig kulcstartó formájában. Szükség esetén külön is megvásárolhatók.

Miután minden csatlakoztatva van, a modul jelzőfénye világít, ami azt jelzi, hogy az RFID tápellátást kap . Itt az idő futtassunk le egy tesztvázlatot, amely az általunk telepített könyvtárban található.



A megadott állandók helyességét ellenőrizni kell:

#define SS_PIN 10 #define RST_PIN 9 // Ezek az állandók egyeznek

Most töltse fel a vázlatot az arduino-ba, és kapcsolja be Soros port figyelése.

A címkét eljuttatjuk az olvasóhoz, és a modul kiolvassa az összes adatot erről a címkéről, például a címke UID egyedi azonosítóját.

RFID-RC522 működési videó:

A mai oktatóanyag arról szól, hogyan lehet RFID-olvasót használni az Arduino-val egy egyszerű zárrendszer létrehozásához, egyszerű szavakkal- RFID zár.

Az RFID (Eng. Radio Frequency IDentification, rádiófrekvenciás azonosítás) az objektumok automatikus azonosításának módszere, amelyben az úgynevezett transzponderekben, vagy RFID-címkékben tárolt adatokat rádiójelek segítségével olvassák vagy írják. Bármely RFID rendszer egy olvasóból (olvasóból, olvasóból vagy lekérdezőből) és egy transzponderből (más néven RFID címke, néha az RFID címke kifejezés is használatos) áll.

Az oktatóanyag RFID-címkét használ Arduino-val. A készülék beolvassa minden egyes RFID tag egyedi azonosítóját (UID), amelyet az olvasó mellé helyezünk, és megjeleníti az OLED kijelzőn. Ha a címke UID-je megegyezik az Arduino memóriájában tárolt előre definiált értékkel, akkor a „Unlocked” üzenetet fogjuk látni a kijelzőn. Ha az egyedi azonosító nem egyezik meg az előre meghatározott értékkel, a "Feloldva" üzenet nem jelenik meg – lásd az alábbi képet.

A kastély bezárt

A kastély nyitva áll

1. lépés: Alkatrészek, tartozékok

A projekt létrehozásához szükséges részletek:

  • RFID olvasó RC522
  • OLED kijelző
  • Kenyér deszka
  • vezetékek

További részletek:

  • Akkumulátor (powerbank)

A projektelemek összköltsége körülbelül 15 dollár volt.

2. lépés: RFID olvasó RC522

Minden RFID-címkéhez tartozik egy kis chip (a képen fehér kártya). Ha egy zseblámpát erre az RFID-kártyára irányít, láthat egy kis chipet és egy tekercset, amely körülveszi. Ez a chip nem rendelkezik akkumulátorral az áram előállításához. Ennek a nagy tekercsnek a segítségével vezeték nélkül kap áramot az olvasótól. Egy ilyen RFID-kártya akár 20 mm-es távolságból is olvasható.

Ugyanez a chip létezik az RFID kulcstartó címkékben is.

Mindegyik RFID címkével rendelkezik egyedi szám, amely azonosítja azt. Ez az OLED kijelzőn megjelenő UID. Ezen UID kivételével minden címke tárolhat adatokat. Ez a kártyatípus akár 1000 adat tárolására is képes. Lenyűgöző, nem? Ezt a funkciót ma nem fogják használni. Ma már csak egy adott kártya azonosítása az UID alapján érdekes. Az RFID-olvasó és ez a két RFID-kártya körülbelül 4 dollárba kerül.

3. lépés OLED kijelző

Az oktatóanyag 0,96 hüvelykes 128x64 I2C OLED monitort használ.

Ez egy nagyon jó kijelző az Arduino-val való használatra. Ez egy OLED kijelző, ami azt jelenti, hogy alacsony az energiafogyasztása. Ennek a kijelzőnek az energiafogyasztása körülbelül 10-20 mA, és ez a pixelek számától függ.

A kijelző felbontása 128 x 64 pixel, mérete pedig kicsi. Két megjelenítési lehetőség van. Az egyik monokróm, a másik pedig az oktatóanyagban használthoz hasonlóan két színt tud megjeleníteni: sárga és kék. A képernyő teteje csak sárga lehet, és Alsó rész- kék.

Ez az OLED kijelző nagyon fényes, és nagyszerű és nagyon szép könyvtárral rendelkezik, amelyet az Adafruit fejlesztett ki ehhez a kijelzőhöz. Ezen kívül a kijelző I2C interfészt használ, így az Arduinohoz való csatlakozás hihetetlenül egyszerű.

Csak két vezetéket kell csatlakoztatnia a Vcc és a GND kivételével. Ha még nem ismeri az Arduino-t, és olcsó és egyszerű kijelzőt szeretne használni projektjében, kezdje el itt.

4. lépés: Az összes alkatrész összerakása

Manapság egyre népszerűbb a rádiófrekvenciás azonosítás (RFID) technológia alkalmazása. Számos alkalmazást implementálnak különböző területekenéletünket, és különféle célokra használjuk. Az RFID lehetővé teszi a vezeték nélküli adatgyűjtést az objektumokhoz csatlakoztatott vagy beágyazott elektronikus címkeolvasók segítségével azonosítás és egyéb célokra. Ez a cikk bemutatja, hogyan készíthet egyszerű, házilag készített RFID hozzáférés-vezérlő eszközt Arduino UNO és RFID-olvasó (EM-18) segítségével a LED és a relé vezérlésére. Bekötési rajzés Arduino vázlat ( forrás) lent láthatók.

Ha engedélyezve van, az olvasó RF jelet továbbít. Ha egy RFID-címkét egy olvasó közelébe helyeznek, az RF jelet kap a címkén belüli antennán keresztül. A vett rádiófrekvenciás jelet elektromos energiává alakítják át, ami elegendő ahhoz, hogy a címkéről adatokat továbbítson az RFID-olvasóhoz. Ezenkívül az olvasó a címkeazonosítót is továbbítja közben külső eszköz a soros adatporton keresztül. Jelenleg az olvasómodellek széles választéka áll rendelkezésre. A leggyakoribb és legkényelmesebb az EM-18 modul. Ez a modul beolvassa az RFID passzív címkéket, és elküldi a címke azonosítóját az Arduino mikrokontrollernek.

OlvasásRFID címke azonosítója

A kezdéshez tölts le egy egyszerű programozási kód rfid1.ino ban ben Arduino Uno az IDE fejlesztőeszköz használatával.

Most szerelje össze az áramkört az alábbiak szerint.

Nyissa meg a Soros monitort az Arduino IDE-ben, tartsa az RFID-címkét nagyon közel az RFID-olvasó közepéhez, és jegyezze fel a megjelenített címkeazonosítót. Erre az egyedi azonosítóra a következő vázlatban lesz szükség! (Címkénk azonosítója 51005F46642C)

Hozzáférés-szabályozás

Ezen a ponton a rendszer úgy van beállítva, hogy összehasonlítsa az egyedi azonosítót (használatban lévő címkét) bármely olvasandó címke azonosítójával.

Elemezze a meglévő kapcsolatot, és töltsön fel egy új vázlatot rfid2.ino az Arduino mikrokontrollerhez

Kösse újra a hardverelemeket (néhány módosítással) a fenti ábra szerint. Itt van a D12 kimenete Arduino mikrokontroller szabványos 5 mm-es LED meghajtására szolgál. A D13 tű az elektromágneses relé vezérlésére szolgál a vezérlőtranzisztoron keresztül. Valahányszor egy jel egyezik, egy magas vezérlőjel jelenik meg a D13 érintkezőn 5 másodpercre. A relé külső terhelés, például ajtóleállító vezérlésére használható. Ha a címkeértékek nem egyeznek, akkor alacsony jelszint marad a D13 kimeneten, ugyanakkor egy jel jelenik meg a D12 kimeneten magas szint a riasztó LED bekapcsolásához.

1 Az olvasó leírása RFID RC522

Az RFID-RC522 modul az NXP MFRC522 chipre épül. Ez a chip kétirányú vezeték nélküli (legfeljebb 6 cm-es) kommunikációt biztosít 13,56 MHz-es frekvencián.

Az MFRC522 chip támogatja a következő lehetőségeket csatlakozások:

Használva ezt a modult különböző RFID-címkékről írhat és olvashat adatokat: kaputelefonok kulcstartói, plasztik belépőkártyák, metrójegyek és földi szállítás, valamint az egyre népszerűbb NFC címkék.

Az RFID a „rádiófrekvenciás azonosítás” rövidítése, és „rádiófrekvenciás azonosítás”-nak felel meg.
Az NFC „Near Field Communication”, „Near Field Communication” vagy „Near Touchless communication”.

2 Bekötési rajz RFID-RC522 az Arduino-hoz

Csatlakoztassuk az RFID-RC522 modult az Arduinohoz az SPI interfészen keresztül a fenti ábra szerint.


A modult 2,5-3,3 V feszültség táplálja. A többi érintkező a következőképpen csatlakozik az Arduinohoz:

RC522 tűArduino tű
RSTD9
SDA (SS)D10
MOSID11
MISOD12
SCKD13

Ne felejtse el azt sem, hogy az Arduino különleges tulajdonságokkal rendelkezik ICSP csatlakozó hogy az SPI felületen dolgozzon. A kivezetése az ábrán is látható. Az RC522 modul RST, SCK, MISO, MOSI és GND érintkezőit csatlakoztathatja az Arduino ICSP fejlécéhez.

3 Könyvtár a munkához Arduino RFID-vel

Az MFRC522 chip meglehetősen kiterjedt funkciókkal rendelkezik. Az útlevelét (adatlapját) megvizsgálva minden lehetőséggel megismerkedhet. Azért vagyunk, hogy megismerkedjünk a lehetőségekkel ez az eszköz számára írt kész könyvtárak egyikét fogjuk használni Arduino munka RC522-vel. Töltse le és csomagolja ki az Arduino IDE\libraries\ könyvtárba


Az "rfid-master" könyvtár telepítése az Arduino számára az RFID-címkékkel való együttműködéshez

Ezután indítsa el az Arduino IDE-t.

4 Vázlat az információk olvasásához, rá van írva az RFID címkére

Most nyissuk meg a vázlatot a példákból: Fájlminták MFRC522 DumpInfoés töltse be az Arduino memóriájába.


Ez a vázlat meghatározza az olvasóhoz csatlakoztatott eszköz típusát, és beolvassa az RFID címkére vagy kártyára írt adatokat, majd kiadja a soros portra.

#beleértve #beleértve const int RST_PIN = 9; // pin RST const int SS_PIN = 10; // SDA pin (SS) MFRC522 mfrc522(SS_PIN, RST_PIN); // MFRC522 objektum létrehozása void setup()( Serial.begin(9600); // inicializálás utolsó. port SPI.begin(); // SPI-busz inicializálása mfrc522.PCD_Init(); // az RC522 olvasó inicializálása ) void loop() (// Várakozás az új RFID címke alkalmazására: if (! mfrc522.PICC_IsNewCardPresent()) ( return; // kilépés, ha nincs alkalmazva új térkép) // Olvassa be a sorozatszámot: if (! mfrc522.PICC_ReadCardSerial()) ( return; // kilépés, ha a sorozatszám nem olvasható ) port: mfrc522.PICC_DumpToSerial(&(mfrc522.uid)); }

A vázlat szövege elég jól kommentált.

Többért teljes ismeretség könyvtárfeltáró fájlokkal MFRC522.hés MFRC522.cpp címtárból rfid mester.

5 Data dump RFID címkékkel

Indítsa el a soros port monitort a Ctrl + Shift + M billentyűkombinációval a menüben Eszközök vagy a nagyító gombját. Most rögzítsünk egy metrójegyet vagy bármilyen más RFID címkét az olvasóra. A soros port monitora megjeleníti az RFID címkére vagy jegyre írt adatokat.


Például az én esetemben itt van titkosítva egy egyedi jegyszám, a vásárlás dátuma, a lejárati dátum, a hátralévő utazások száma, valamint a szolgáltatási információk. Az egyik jövőbeni cikkben elemezzük, mi szerepel a metró és a felszíni közlekedési térképeken.

jegyzet

Igen, az RFID-RC522 modul használatával metrójegybe írhatunk adatokat. De ne hízelkedj magadnak, minden kártyán van egy nem újraírható írási ciklusszámláló, így nem fogsz tudni utazásokat "hozzáadni" a metróhoz - azonnal észleli, és a kártyát a forgóajtó elutasítja :) De ha metrójegyeket használ kis mennyiségű adat rögzítésére - 1-től 4 kb-ig - megteheti. A felhasználási módoknak pedig csak a képzeleted szab határt.

Ebben a leckében megtanuljuk, hogyan kell csinálni egyszerű rendszer, amivel feloldja a zárat elektronikus kulcs(Metke).

A jövőben finomíthatja és bővítheti a funkcionalitást. Például adja hozzá az „új kulcsok hozzáadása és a memóriából való eltávolítása” funkciót. Alapesetben vegyünk egy egyszerű példát, amikor egy egyedi kulcsazonosító előre meg van adva a programkódban.

Ebben az oktatóanyagban szükségünk lesz:

A projekt megvalósításához telepítenünk kell a könyvtárakat:

2) Most csatlakoztatnia kell a Buzzer-t, amely jelet ad, ha a kulcs működött és a zár kinyílik, és a második jelet, amikor a zár becsukódik.

A hangjelzőt a következő sorrendben csatlakoztatjuk:

Arduino Berregő
5V VCC
GND GND
5. tű IO

3) Kioldó mechanizmusként szervót fognak használni. Bármely szervo választható, a kívánt méretek és a szervo által keltett erők függvényében. A szervónak 3 tűje van:

Az alábbi képen tisztábban láthatja, hogyan csatlakoztattuk az összes modult:

Most, ha minden csatlakoztatva van, folytathatja a programozást.

Vázlat:

#beleértve #beleértve #beleértve // "RFID" könyvtár. #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); unsigned long uidDec, uidDecTemp; // a címke számának decimális formátumban való tárolása Szervo szervo; void setup() ( Serial.begin(9600); Serial.println("Kártyára vár..."); SPI.begin(); // SPI inicializálás / Init SPI busz. mfrc522.PCD_Init(); // inicializálás MFRC522 / Init MFRC522 card.servo.attach(6); servo.write(0); // szervo zárt állapotba állítása ) void loop() ( // Új címke keresése if (! mfrc522.PICC_IsNewCardPresent()) ( return; ) // Címke kiválasztása if (! mfrc522.PICC_ReadCardSerial()) ( return; ) uidDec = 0; // Probléma sorozatszám címkéket. for (i bájt = 0; i< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем hangjelzés, nyitó szervo.write(90); // A szervó elforgatása 90 fokkal (Bármely mechanizmus feloldása: reteszelés, kulcs elfordítása stb.) delay(3000); // 3 másodperc szünet, és a mechanizmus le van zárva. hang(5, 500, 500); // Hangjelzés készítése, Bezárás ) szervo.write(0); // állítsa be a szervert zárt állapotba )

Elemezzük részletesebben a vázlatot:

A kártya UID-jének (Címkék) megtudásához meg kell írni ezt a vázlatot az arduino-ba, össze kell szerelni a fent leírt áramkört, és meg kell nyitni a konzolt (A soros port figyelése). Amikor a címkét az RFID-hez viszi, egy szám jelenik meg a konzolon

Az eredményül kapott UID-t a következő sorba kell beírni:

Ha (uidDec == 3763966293) // Hasonlítsa össze a címke Uid-jét, ha megegyezik a megadottal, akkor a szervo kinyitja a szelepet.

Minden kártya esetében ez az azonosító egyedi, és nem ismétlődik. Így egy olyan kártya bemutatásakor, amelynek az azonosítóját a programban beállította, a rendszer szervo segítségével nyitja meg a hozzáférést.

Videó: