Az RFID (rádiófrekvenciás azonosítás) olcsó és hozzáférhető technológia. Számos alkalmazásban használható, például hozzáférés-ellenőrzés, biztonság, eszközkövetés, emberek nyomon követése stb. Látta az RFID Ajtózár rendszert szállodákban, irodákban és sok más helyen, ahol csak a kártyát kell elhelyeznie az RFID-olvasó közelében egy pillanatra, és kinyílik az ajtó. Számos RFID alapú projektben használtunk RFID olvasót és címkét.
Korábbi bejegyzéseinkben egy egyszerű RFID ajtózárat építettünk, ezúttal egy igazi mágnesszelepes ajtózárat használunk, és RFID-vel és Arduino-val vezéreljük. Itt Hall-effekt érzékelőt és mágnest használnak az ajtó mozgásának érzékelésére. A Hall Effect érzékelőt az ajtókeretre, a mágnest pedig az ajtóra helyezzük. Amikor a Hall Effect érzékelő és a mágnes közel vannak egymáshoz, a Hall Effect érzékelő alacsony állapotban lesz, és az ajtó zárva marad, és ha az érzékelő és a mágnes nincsenek bezárva, az ajtó nyitva van, a Hall érzékelő pedig magasan van állapot. Ezt a Hall Effect mechanizmust használjuk az ajtó automatikus bezárására és kinyitására. Ha többet szeretne megtudni a Hall Sensor-ról és annak működéséről, kövesse a linket.
Szükséges alkatrészek
- Arduino Uno
- RFID-RC522 modul
- 12v-os mágnesszelep
- Relé modul
- Hall Effect Sensor
- 10kΩ ellenállás
- Berregő
Mágnesszelep
Mágnesszelep működik az elektronikus-mechanikus reteszelő mechanizmuson. Ennek a zárnak a típusa ferde vágással ellátott csiga és jó rögzítő konzollal rendelkezik. A tápfeszültség bekapcsolásakor a DC mágneses teret hoz létre, amely elmozdítja a csiga belsejét, és az ajtót nyitva tartja. A csiga megtartja helyzetét, amíg az áramellátás megszűnik. Az áramellátás kikapcsolása után a csiga kifelé mozog, és bezárja az ajtót. Zárt állapotban nem használ semmilyen áramot. A mágnesszelep meghajtásához olyan áramforrásra van szükség, amely 12V @ 500mA feszültséget képes adni.
Kördiagramm
Az Arduino- t használó mágnesszelep-ajtózár kapcsolási rajza az alábbiakban látható.
Az Arduino és az RFID közötti kapcsolatokat az alábbi táblázat tartalmazza. A hangjelző pozitív csapja az Arduino 4-es digitális érintkezőjéhez, a GND-tű pedig az Arduino földelőcsapjához csatlakozik. 10K ellenállást használnak a Hall Effect érzékelő VCC és OUT csapjai között. A mágnesszelep a relé modulon keresztül csatlakozik az Arduino-hoz.
RFID tű | Arduino Uno Pin |
SDA | Digitális 10 |
SCK | Digitális 13 |
MOSI | Digitális 11 |
MISO | Digitális 12 |
IRQ | Nincs csatlakoztatva |
GND | GND |
RST | Digitális 9 |
3.3V | 3.3V |
Hall-effektus érzékelő csap | Arduino Uno Pin |
5V | 5V |
GND | GND |
KI | 3 |
Miután az alkatrészeket az áramköri ábra szerint forrasztotta a perf táblán, az alábbi képnek tűnik:
Kód Magyarázat
Az Arduino mágnesszelep teljes kódja a dokumentum végén található. A jobb megértés érdekében itt lépésről lépésre elmagyarázzuk ezt a kódot.
Indítsa el a kódot az összes szükséges könyvtár beillesztésével. Itt csak két könyvtárra van szükség, az egyik az Arduino és az RFID közötti SPI kommunikációra, a másik pedig az RFID modulra. Mindkét könyvtár letölthető az alábbi linkekről:
- SPI.h
- MFRC522.h
Most határozza meg a csengő, a mágnesszelep és az RFID modul csapjait
int Csengő = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Ezután határozza meg a Lock pin és a Buzzer csapot kimenetként, a Hall Effect érzékelő tűt pedig bemenetként, és kezdeményezze az SPI kommunikációt.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_szenzor, INPUT); SPI.begin (); // SPI busz indítása mfrc522.PCD_Init (); // MFRC522 kezdeményezése
Az üreges hurok belsejében olvassa el a hall érzékelő értékeit, és amikor alacsony lesz, csukja be az ajtót.
állapot = digitalRead (hall_szenzor); Soros.nyomtatás (állapot); késés (3000); if (állapot == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Zárt ajtó"); digitalWrite (hangjelző, HIGH); késés (2000); digitalWrite (hangjelző, LOW);}
A void loop funkción belül ellenőrzi, hogy van-e új RFID-kártya, és ha van új kártya, akkor ellenőrzi a kártya UID-jét. Érvényes kártya esetén kinyitja a zárat; különben kinyomtatja: „ Ön nem jogosult. 'A teljes munkát a végén bemutatott videó mutatja.
if (! mfrc522.PICC_IsNewCardPresent ()) {return; } // Válassza ki az egyik kártya egyikét, ha (! Mfrc522.PICC_ReadCardSerial ()) {return; } // UID megjelenítése a soros monitoron String content = ""; bájt levél; mert (bájt i = 0; i <mfrc522.uid.size; i ++) {content.concat (karakterlánc (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (String (mfrc522.uid.uidByte, HEX)); } Soros.println (); Serial.print ("Üzenet:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // itt változtatja meg a hozzáféréshez adandó kártya / kártyák UID-jét {digitalWrite (LockPin, HIGH); Serial.print ("Ajtó nyitva"); digitalWrite (hangjelző, HIGH); késés (2000); digitalWrite (hangjelző, LOW); } else {Serial.println ("Ön nem jogosult"); digitalWrite (hangjelző, HIGH); késés (2000); digitalWrite (hangjelző,ALACSONY); }}
Az RFID mágnesszelep tesztelése
Miután elkészült a kóddal és a hardverrel, elkezdheti tesztelni a mágnesszelep ajtózár projektjét. Itt forrasztottuk az összes alkatrészt a perf táblán, hogy könnyen felszerelhető legyen az ajtón.
Tehát annak teszteléséhez szerelje a perf táblát az ajtókeretre, és mágnest az ajtóra, hogy az érzékelje az ajtó mozgását. Az alábbi kép azt mutatja, hogy a mágnes és a Hall érzékelők hogyan vannak rögzítve az ajtón.
Most ellenőrizze az engedélyezett RFID-kártyát az ajtózár kinyitásához. A mágnesszelep zárja nyitva marad, amíg a Hall Effect érzékelő kimenete magas lesz. Most, amikor az ajtó zárás közben ismét a Hall érzékelőhöz ér, a Hall Effect érzékelő állapota alacsonyra változik a mágneses mező miatt (amelyet az ajtóhoz rögzített mágnes generál), és a zár ismét becsukódik.
A Hall Effect érzékelő használata helyett késleltetést vezethet be az ajtó nyitva tartásához egy meghatározott ideig.
A teljes kódot és a működő videót az alábbiakban adjuk meg. Ellenőrizze az ajtózár egyéb típusait is, különböző technológiák segítségével.