- Potrebne komponente
- Elektromagnetna ključavnica
- Shema vezja
- Razlaga kode
- Testiranje magnetne ključavnice RFID
RFID (identifikacija radijskih frekvenc) je poceni in dostopna tehnologija. Uporablja se lahko v številnih aplikacijah, kot so nadzor dostopa, varnost, sledenje premoženju, sledenje ljudem itd. Sistem RFID Door Lock ste videli v hotelih, pisarnah in na mnogih drugih mestih, kjer morate karto postaviti blizu bralnika RFID za sekundo in vrata se bodo odprla. V številnih projektih, ki temeljijo na RFID, smo uporabili bralnik in oznako RFID.
V prejšnjih objavah smo zgradili preprosto RFID ključavnico vrat, tokrat uporabljamo pravo magnetno ključavnico vrat in jo nadzorujemo z RFID in Arduino. Tu se za zaznavanje premikanja vrat uporabljajo senzor Hallovega učinka in magnet. Hall Effect senzor bo nameščen na okvir vrat, magnet pa na vrata. Ko sta senzor Hallovega učinka in magnet blizu drug drugemu, bo senzor Hallovega učinka v nizkem stanju in vrata bodo ostala zaprta, in ko senzor in magnet nista blizu, so vrata odprta in Hall senzor v visokem država. Ta mehanizem Hall Effect bomo uporabili za samodejno zaklepanje in odklepanje vrat. Če želite izvedeti več o Hall Sensorju in njegovem delovanju, sledite povezavi.
Potrebne komponente
- Arduino Uno
- Modul RFID-RC522
- 12v magnetna ključavnica
- Relejni modul
- Hallov senzor učinka
- 10kΩ upor
- Zvočni signal
Elektromagnetna ključavnica
Na elektronsko-mehanskem mehanizmu za zaklepanje deluje magnetna ključavnica. Ta vrsta ključavnice ima polž s poševnim rezom in dober pritrdilni nosilec. Ko se napaja, DC ustvari magnetno polje, ki premakne polž v notranjost in zadrži vrata v odklenjenem položaju. Polž bo obdržal svoj položaj, dokler se napajanje ne odstrani. Ko je napajanje izključeno, se polž premakne ven in zaklene vrata. V zaklenjenem stanju ne porablja energije. Za pogon elektromagnetne ključavnice potrebujete vir energije, ki lahko oddaja 12V @ 500mA.
Shema vezja
Shema vezja za magnetno zaklepanje vrat z uporabo Arduina je podana spodaj.
Povezave med Arduino in RFID so podane v spodnji tabeli. Pozitivni zatič brenčača je povezan z digitalnim zatičem 4 Arduina, zatič GND pa je povezan z ozemljitvenim zatičem Arduino. Med zatičem VCC in OUT senzorja Hall Effect je uporabljen 10K upor. Elektromagnetna ključavnica je prek relejskega modula priključena na Arduino.
RFID zatič | Pin Arduino Uno |
SDA | Digitalni 10 |
SCK | Digitalno 13 |
MOSI | Digital 11 |
MISO | Digitalni 12. |
IRQ | Brez povezave |
GND | GND |
RST | Digital 9 |
3.3V | 3.3V |
Zatič senzorja Hallovega učinka | Pin Arduino Uno |
5V | 5V |
GND | GND |
OUT | 3. |
Po spajkanju vseh komponent na plošči perf v skladu z vezjem, je videti kot na spodnji sliki:
Razlaga kode
Popolna koda za to magnetno ključavnico Arduino je podana na koncu dokumenta. Tu podrobno razlagamo to kodo za boljše razumevanje.
Zaženite kodo tako, da vključite vse zahtevane knjižnice. Tu potrebujete le dve knjižnici, eno za komunikacijo SPI med Arduino in RFID in drugo za modul RFID. Obe knjižnici lahko prenesete s spodnjih povezav:
- SPI.h
- MFRC522.h
Zdaj določite nožice za zvočnike, magnetno ključavnico in RFID modul
int zvočni signal = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Nato določite zatič za zaklepanje in zatič zvočnika kot izhod, zatič senzorja Hall Effect pa kot vhod in sprožite komunikacijo SPI.
pinMode (LockPin, OUTPUT); pinMode (zvočni signal, IZHOD); pinMode (senzor_ dvorane, INPUT); SPI.begin (); // Zaženite vodilo SPI mfrc522.PCD_Init (); // Zaženi MFRC522
V notranjosti praznine preberite vrednosti senzorja Hall in ko ta postane nizka, zaprite vrata.
stanje = digitalRead (senzor_dvorane); Serial.print (stanje); zamuda (3000); if (stanje == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Vrata zaprta"); digitalWrite (zvočni signal, HIGH); zamuda (2000); digitalWrite (zvočni signal, LOW);}
Znotraj funkcije void loop bo preveril, ali je na voljo nova kartica RFID, in če je nova, bo preveril UID kartice. Za veljavno kartico se odpre ključavnica; v nasprotnem primeru se bo natisnilo ' Niste pooblaščeni. 'Popolno delo je prikazano v videoposnetku na koncu.
if (! mfrc522.PICC_IsNewCardPresent ()) {return; } // Izberite eno od kartic if (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Pokaži UID na serijskem monitorju String content = ""; bajtna črka; za (bajt i = 0; i <mfrc522.uid.size; i ++) {content.concat (String (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (String (mfrc522.uid.uidByte, HEX)); } Serial.println (); Serial.print ("Sporočilo:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // tukaj spremenimo UID kartice / kartic, do katerih želimo omogočiti dostop {digitalWrite (LockPin, HIGH); Serial.print ("Vrata odklenjena"); digitalWrite (zvočni signal, HIGH); zamuda (2000); digitalWrite (zvočni signal, LOW); } else {Serial.println ("Niste pooblaščeni"); digitalWrite (zvočni signal, HIGH); zamuda (2000); digitalWrite (zvočni signal,LOW); }}
Testiranje magnetne ključavnice RFID
Ko ste pripravljeni na kodo in strojno opremo, lahko začnete preizkušati projekt zaklepanja vrat. Tukaj smo spajkali vse sestavne dele na deski, tako da jo je mogoče enostavno namestiti na vrata.
Torej, da ga preizkusite, namestite desko na okvir vrat in magnet na vrata, da bo lahko zaznal gibanje vrat. Spodnja slika prikazuje, kako sta magnet in Hallov senzor pritrjena na vrata.
Zdaj optično preberite pooblaščeno kartico RFID, da odprete ključavnico vrat. Elektromagnetna ključavnica vrat bo ostala odprta, dokler izhod senzorja Hall Effect ne bo visok. Zdaj, ko se vrata med zapiranjem spet približajo Hallovemu senzorju, se bo zaradi magnetnega polja (ki ga ustvari magnet, pritrjen na vratih) stanje senzorja Hall Effect spremenilo v Low in ključavnica bo spet zaprta.
Namesto senzorja Hall Effect lahko uvedete zamik, da vrata ostanejo odprta določen čas.
Celotna koda in delovni video so navedeni spodaj. Preverite tudi druge vrste zaklepanja vrat z uporabo različnih tehnologij.