- Componente necesare
- Blocare solenoidă
- Diagrama circuitului
- Explicarea codului
- Testarea blocării solenoidului RFID
RFID (Radio Frequency Identification) este o tehnologie ieftină și accesibilă. Poate fi folosit în multe aplicații, cum ar fi controlul accesului, securitatea, urmărirea activelor, urmărirea persoanelor etc. Ați văzut sistemul RFID de blocare a ușii în hoteluri, birouri și în multe alte locuri unde trebuie doar să plasați cardul lângă cititorul RFID pentru o secundă și ușa va fi deschisă. Am folosit un cititor și etichetă RFID în multe proiecte bazate pe RFID.
În postările noastre anterioare, am construit o încuietoare ușoară RFID simplă, de data aceasta folosim o încuietoare reală cu ușă solenoidă și o controlăm cu RFID și Arduino. Aici se utilizează un senzor de efect Hall și un magnet pentru a detecta mișcarea ușii. Senzorul de efect Hall va fi amplasat pe cadrul ușii și magnetul pe ușă. Când senzorul de efect Hall și magnetul sunt aproape unul de celălalt, senzorul de efect Hall va fi într-o stare joasă și ușa va rămâne închisă, iar când senzorul și magnetul nu sunt aproape înseamnă că ușa este deschisă și senzorul de hol este în poziția înaltă stat. Vom folosi acest mecanism Efect Hall pentru a bloca și debloca ușa automat. Pentru a afla mai multe despre senzorul Hall și funcționarea acestuia, urmați linkul.
Componente necesare
- Arduino Uno
- Modul RFID-RC522
- 12v blocare solenoid
- Modul releu
- Senzor de efect Hall
- Rezistor de 10kΩ
- Buzzer
Blocare solenoidă
O blocare solenoidă funcționează pe mecanismul de blocare electronico-mecanic. Acest tip de încuietoare are un slug cu o tăietură înclinată și un suport de montare bun. Când puterea este aplicată, DC creează un câmp magnetic care mută slugul în interior și menține ușa în poziția deblocată. Slugul își va păstra poziția până când se va scoate puterea. Când alimentarea este deconectată, melcul se deplasează în exterior și blochează ușa. Nu folosește nicio putere într-o stare blocată. Pentru a acționa blocarea solenoidului, veți avea nevoie de o sursă de energie care poate da 12V @ 500mA.
Diagrama circuitului
Diagrama circuitului pentru blocarea ușii solenoidului utilizând Arduino este prezentată mai jos.
Conexiunile dintre Arduino și RFID sunt date în tabelul de mai jos. Pinul pozitiv al buzzerului este conectat la pinul digital 4 al Arduino, iar pinul GND este conectat la pinul de masă al Arduino. Se utilizează un rezistor de 10K între pinul VCC și OUT al senzorului de efect Hall. Blocarea solenoidului este conectată la Arduino prin modulul de releu.
Pin RFID | Pinul Arduino Uno |
SDA | Digital 10 |
SCK | Digital 13 |
MOSI | Digital 11 |
MISO | Digital 12 |
IRQ | Deconectat |
GND | GND |
RST | Digital 9 |
3,3V | 3,3V |
Pinul senzorului de efect Hall | Pinul Arduino Uno |
5V | 5V |
GND | GND |
OUT | 3 |
După lipirea tuturor componentelor de pe placa de perfecționare conform schemei circuitului, arată ca imaginea de mai jos:
Explicarea codului
Codul complet pentru această blocare solenoid Arduino este dat la sfârșitul documentului. Aici explicăm acest cod pas cu pas pentru o mai bună înțelegere.
Porniți codul prin includerea tuturor bibliotecilor necesare. Aici necesită doar două biblioteci, una pentru comunicarea SPI între Arduino și RFID și a doua pentru modulul RFID. Ambele biblioteci pot fi descărcate de pe linkurile date mai jos:
- SPI.h
- MFRC522.h
Acum definiți pinii pentru buzzer, blocare solenoidă și modul RFID
int Buzzer = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Apoi definiți pinul de blocare și pinul Buzzer ca ieșire și pinul senzorului de efect Hall ca intrare și inițiați comunicarea SPI.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // Lansați magistrala SPI mfrc522.PCD_Init (); // Lansați MFRC522
În interiorul buclei de gol , citiți valorile senzorului de hol și, când devine scăzut, închideți ușa.
state = digitalRead (hall_sensor); Serial.print (stare); întârziere (3000); if (state == LOW) {digitalWrite (LockPin, LOW); Serial.print („Ușa închisă”); digitalWrite (Buzzer, HIGH); întârziere (2000); digitalWrite (Buzzer, LOW);}
În interiorul funcției de buclă de gol, va verifica dacă este prezent un nou card RFID și dacă este prezent un nou card, atunci va verifica UID-ul cardului. Pentru un card valid, acesta va deschide încuietoarea; în caz contrar, va apărea „ Nu sunteți autorizat. „Lucrarea completă este prezentată în videoclipul dat la final.
if (! mfrc522.PICC_IsNewCardPresent ()) {return; } // Selectați una dintre cărți dacă (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Afișează UID pe monitorul serial Conținut șir = ""; litere de octeți; for (octet i = 0; i <mfrc522.uid.size; i ++) {content.concat (Șir (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (String (mfrc522.uid.uidByte, HEX)); } Serial.println (); Serial.print („Mesaj:”); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // modificați aici UID-ul cardului / cardurilor pe care doriți să le acordați acces {digitalWrite (LockPin, HIGH); Serial.print („Ușa deblocată”); digitalWrite (Buzzer, HIGH); întârziere (2000); digitalWrite (Buzzer, LOW); } else {Serial.println („Nu sunteți autorizat”); digitalWrite (Buzzer, HIGH); întârziere (2000); digitalWrite (Buzzer,SCĂZUT); }}
Testarea blocării solenoidului RFID
Odată ce sunteți gata cu codul și hardware-ul, puteți începe testarea proiectului Solenoid Door Lock. Aici am lipit toate componentele de pe placa de perf, astfel încât să poată fi montate cu ușurință pe ușă.
Deci, pentru a-l testa, montați placa de perfecție pe cadrul ușii și magnetul pe ușă, astfel încât să poată detecta mișcarea ușii. Imaginea de mai jos arată modul în care magnetul și senzorii Hall sunt fixați pe ușă.
Scanați acum cardul RFID autorizat pentru a deschide încuietoarea ușii. Blocarea ușii solenoidului va rămâne deschisă până când ieșirea senzorului de efect Hall este mare. Acum, când ușa ajunge din nou aproape de senzorul Hall în timp ce se închide, starea senzorului de efect Hall se va schimba la Scăzut datorită câmpului magnetic (generat de magnetul atașat la ușă), iar încuietoarea va fi închisă din nou.
În loc să utilizați senzorul de efect Hall, puteți introduce o întârziere pentru a menține ușa deschisă pentru un timp definit.
Codul complet și videoclipul de lucru sunt prezentate mai jos. De asemenea, verificați alte tipuri de încuietori ale ușii folosind diferite tehnologii.