RFID (Radio Frequency Identification) er en billig og tilgjengelig teknologi. Den kan brukes i mange applikasjoner som tilgangskontroll, sikkerhet, aktivitetssporing, folksporing osv. Du har sett RFID-dørlåsesystemet på hoteller, kontorer og mange andre steder der du bare må plassere kortet i nærheten av RFID-leseren. i et sekund, og døren vil bli åpnet. Vi brukte en RFID-leser og tagg i mange RFID-baserte prosjekter.
I våre forrige innlegg har vi bygget en enkel RFID-dørlås, denne gangen bruker vi en ekte solenoid-dørlås og styrer den med RFID og Arduino. Her brukes en Hall Effect-sensor og en magnet for å oppdage dørbevegelsen. Hall Effect-sensor blir plassert på dørkarmen og magneten på selve døren. Når Hall Effect-sensoren og magneten er nær hverandre, vil Hall Effect-sensoren være i lav tilstand, og døren forblir lukket, og når sensoren og magneten ikke er i nærheten, betyr det at døren er åpen og hall-sensoren er i det høye stat. Vi vil bruke denne Hall Effect-mekanismen for å låse og låse opp døren automatisk. For å lære mer om Hall Sensor og hvordan den fungerer, følg lenken.
Komponenter kreves
- Arduino Uno
- RFID-RC522-modul
- 12v magnetlås
- Relémodul
- Hall Effect Sensor
- 10kΩ motstand
- Summer
Magnetlås
En magnetlås fungerer på den elektronisk-mekaniske låsemekanismen. Denne typen lås har en snegle med et skrått snitt og en god monteringsbrakett. Når strømmen brukes, skaper DC et magnetfelt som beveger sneglen inn og holder døren i ulåst stilling. Sluggen vil beholde sin posisjon til strømmen er fjernet. Når strømmen er frakoblet, beveger sneglen seg utenfor og låser døren. Den bruker ikke strøm i en låst tilstand. For å drive magnetlåsen trenger du en strømkilde som kan gi 12V @ 500mA.
Kretsdiagram
Kretsdiagram for magnetdørlås ved hjelp av Arduino er gitt nedenfor.
Forbindelser mellom Arduino og RFID er gitt i tabellen nedenfor. Den positive pinnen på summeren er koblet til den digitale pinnen 4 på Arduino, og GND-pinnen er koblet til jordpinnen på Arduino. En 10K motstand brukes mellom VCC og OUT-pinnen på Hall Effect-sensoren. Magnetlåsen er koblet til Arduino gjennom relémodulen.
RFID-pinne | Arduino Uno Pin |
SDA | Digital 10 |
SCK | Digital 13 |
MOSI | Digital 11 |
MISO | Digital 12 |
IRQ | Ukoblet |
GND | GND |
RST | Digital 9 |
3,3V | 3,3V |
Hall Effect Sensor Pin | Arduino Uno Pin |
5V | 5V |
GND | GND |
UTE | 3 |
Etter å ha loddet alle komponentene på perf-kortet i henhold til kretsskjemaet, ser det ut som bildet nedenfor:
Kode Forklaring
Komplett kode for denne Arduino-magnetlåsen er gitt på slutten av dokumentet. Her forklarer vi denne koden trinn for trinn for bedre forståelse.
Start koden ved å inkludere alle nødvendige biblioteker. Her krever det bare to biblioteker, en for SPI-kommunikasjon mellom Arduino og RFID, og andre for RFID-modulen. Begge bibliotekene kan lastes ned fra linkene nedenfor:
- SPI.h
- MFRC522.h
Definer nå pinnene for summer, magnetlås og RFID-modul
int Buzzer = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Definer deretter låsepinnen og summerpinnen som en utgang, og Hall Effect-pinnen som inngang og start SPI-kommunikasjonen.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // Start SPI-buss mfrc522.PCD_Init (); // Start MFRC522
Inne i tomrommet , les hallen sensorverdiene, og lukk døren når den blir lav.
state = digitalRead (hall_sensor); Serial.print (tilstand); forsinkelse (3000); if (state == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Dør lukket"); digitalWrite (Buzzer, HIGH); forsinkelse (2000); digitalWrite (Buzzer, LOW);}
Inne i tomrumsløyfefunksjonen vil den sjekke om det er et nytt RFID-kort, og hvis det er et nytt kort, vil det sjekke UID på kortet. For et gyldig kort åpner det låsen; Ellers vil den skrive ut ' Du er ikke autorisert. 'Fullstendig arbeid vises i videoen gitt på slutten.
hvis (! mfrc522.PICC_IsNewCardPresent ()) {retur; } // Velg et av kortene hvis (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Vis UID på seriell skjerm String content = ""; byte brev; for (byte i = 0; i <mfrc522.uid.size; i ++) {content.concat (String (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (streng (mfrc522.uid.uidByte, HEX)); } Serial.println (); Serial.print ("Melding:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // endre her UID på kortet / kortene du vil gi tilgang {digitalWrite (LockPin, HIGH); Serial.print ("Dør ulåst"); digitalWrite (Buzzer, HIGH); forsinkelse (2000); digitalWrite (Buzzer, LOW); } annet {Serial.println ("Du er ikke autorisert"); digitalWrite (Buzzer, HIGH); forsinkelse (2000); digitalWrite (Buzzer,LAV); }}
Testing av RFID-magnetlåsen
Når du er klar med koden og maskinvaren, kan du begynne å teste Solenoid Door Lock-prosjektet. Her har vi loddet alle komponentene på perf-kortet slik at det enkelt kan monteres på døren.
Så for å teste det, monter perf-kortet på dørkarmen og magneten på døren slik at det kan oppdage dørbevegelsen. Bildet nedenfor viser hvordan magneten og hallsensorene er festet på døren.
Skann nå det autoriserte RFID-kortet for å åpne dørlåsen. Magnetdørlåsen forblir åpen til Hall Effect-sensorutgangen er høy. Nå når døren igjen kommer i nærheten av Hall-sensoren mens den lukkes, vil status for Hall Effect-sensoren endres til Lav på grunn av magnetfeltet (generert av magneten festet på døren), og låsen vil bli lukket igjen.
I stedet for å bruke Hall Effect-sensoren, kan du innføre en forsinkelse for å holde døren åpen i en definert tid.
Fullstendig kode og arbeidsvideo er gitt nedenfor. Sjekk også andre typer dørlås ved hjelp av forskjellige teknologier.