Ebben a cikkben meglátjuk, hogyan lehet Arduino alapú RFID olvasó áramkört használni egy relé vezérléséhez, amely viszont felhasználható a biztonsági ajtózár alkalmazásokban.
Áttekintés
Ha még nem ellenőrizte az előző RFID-cikket, kérjük, nézze meg, nézze meg a az RFID technológia alapjai .
Az UID segítségével azonosítani fogjuk az engedélyezett címkéket. Dióhéjban az UID a címke egyedi azonosítószáma, amikor az irodájában vagy bárhol máshol beolvassa a kártyáját, kivonja az UID-t a kártyából.
A kártya UID-je az Ön irodájának adatbázisába kerül, amely felismeri a kártya tulajdonosát és regisztrálja részvételét.
A címke nemcsak UID-t, hanem más, a címkében tárolt információkat is továbbít, a címkék általában 1KB-tól 4KB-ig tárolhatnak, néha még többet is.
Nem arról fogunk tárgyalni, hogy miként tároljuk az információkat a címkén, hanem egy későbbi cikkben. Ebben a bejegyzésben az UID számot fogjuk használni a relé BE / KI .
Ennek a projektnek a mottója az eszköz be- és kikapcsolása, amely az adott beállításhoz kapcsolódik az engedélyezett RFID-címkével történő szkenneléskor.
A kártya UID-jét a program határozza meg, és amikor engedélyezett kártyát észlel, az első beolvasáskor bekapcsolja a relét, és az újbóli beolvasás deaktiválja a relét.
Ha illetéktelen kártyát észlel, hibaüzenetet küld a soros monitoron, és a relé megszakítás nélkül folytatja az aktuális feladatot.
Itt, amikor a hitelesített kártyát beolvassák, a relé be- és kikapcsol, ez a mechanizmus bárhol használható, például: ajtózár rendszerben, ahol az engedélyezett kártyát be kell szkennelni az ajtó kinyitásához.
Hogyan működik:
Az RFID áramkör LED-ből áll, amelyek jelzik a relé állapotát, a BC 548 tranzisztor hajtja a relét, és az 1N4007 dióda a relén keresztül csatlakozik a nagyfeszültségű tüske leállításához a kapcsolás pillanatában.
Ha magasabb feszültségű névleges relét (9V vagy 12V) szeretne csatlakoztatni, csatlakoztathatja a külső + Ve tápellátást a reléhez és –Ve tápfeszültséget az arduino GND tűjének földjéhez. Kérjük, hogy ennek a lépésnek a végrehajtása során vigyázzon, mert károsíthatja a táblát, ha a csatlakozások nem megfelelőek.
A hardverbeállítás befejezése után a következő lépés a kód feltöltése a címke UID-jének megkereséséhez.
Most töltse fel az alább megadott programot az arduino-ra, nyissa meg a soros monitort és szkennelje be a címkét.
Program az UID megtalálásához:
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++) {
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID: ')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
A soros monitor kimenete (példa):
A kártya UID azonosítója: AA: BB: CC: DD
A soros monitoron látni fog néhány hexadecimális kódot, amely a címke UID-je. Jegyezze fel, amelyet a következő program fog használni a címke azonosítására.
A lépés befejezése után töltse fel az alábbi kódot ugyanarra a beállításra.
Program a kártya és a vezérlő relé azonosítására:
//---------------Program developed by R.Girish------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
int flag=0
int op=8
char UID[] = 'XX:XX:XX:XX' //Place your UID of your tag here.
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
pinMode(op,OUTPUT)
}
void loop()
{
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
Serial.println(F('Your tag is not of type MIFARE Classic, your tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
if(StrID!=UID)
{
Serial.println('This is an invalid tag :(')
Serial.println('***************************************')
delay(2000)
}
if (StrID==UID && flag==0)
{
flag=1
digitalWrite(op,HIGH)
Serial.println('This is a vaild tag :)')
Serial.println('Status: ON')
Serial.println('***************************************')
delay(2000)
}
else if(StrID==UID && flag==1)
{
flag=0
digitalWrite(op,LOW)
Serial.println('This is a vaild tag :)')
Serial.println('Status: OFF')
Serial.println('***************************************')
delay(2000)
}
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//---------------Program developed by R.Girish------------//
char UID [] = 'XX: XX: XX: XX' // Helyezze ide a címke UID-jét.
Cserélje le a XX: XX: XX: XX szót az UID-re.
A szerző prototípusa, amely hatékonyan használható bolondbiztos RFID biztonsági zárként ajtókhoz és széfekhez:
Ha egy hitelesített kártyát beolvasnak:
Ha engedély nélküli címkét vizsgál be:
Ha bármilyen kérdése van ezzel az Arduino RFID biztonsági zár áramkörével kapcsolatban, kérjük, kérdezze meg alább a megjegyzés részben.
Előző: Triac fázisszabályozás a PWM időarányos alkalmazásával Következő: Világító crosswalk biztonsági fényáramkör