DIY Smart Lock cu Arduino și RFID

DIY Smart Lock cu Arduino și RFID / DIY

Te duci până la o încuietoare invizibilă pe care doar tu ai cheia și deschide-o fără să-l atingi nici măcar. Suna bine? Astăzi vom construi o simplă blocare inteligentă pe bază de RFID, folosind un Arduino ca coloană vertebrală și câteva componente ieftine.

Tehnologia din spatele acestui proiect este deja utilizată în multe industrii. Oricine a lucrat într-un birou modern sau a folosit un transport public probabil va fi folosit în fiecare zi. RFID (identificarea prin radiofrecvență) identifică datele stocate pe un cip într-o cartelă sau într-un card și le compară cu o listă de etichete care au fost deja scanate.

Vom construi un circuit de testare pentru a controla accesul folosind un modul cititor Mifare MFRC522, pentru a deschide și a închide o încuietoare. Vom folosi o cartelă principală pentru a adăuga sau a elimina accesul la etichete diferite și vom crea o citire simplă a LED-urilor pentru a ne spune ce se întâmplă în sistem.

În cele din urmă, vom adăuga un solenoid pentru a acționa ca o cheie de blocare, și un MOSFET pentru a declanșa în siguranță și pornirea și oprirea folosind Arduino.

Cititorul MFRC522 poate citi și scrie date în jetoane RC522 și stochează aceste date în EEPROM-ul lui Arduino Cum se utilizează arduino EEPROM pentru a salva date între ciclurile de alimentare Cum se utilizează arduino EEPROM pentru a salva date între ciclurile de alimentare Știați că Arduino poate stoca date când este oprit? Vorbesc despre EEPROM, așa că mă alăturați, pentru că vă arăt cum să citiți și să-i scrieți. Citeste mai mult . Aceasta ar fi o mare plus față de orice setare DIY și este relevantă în special pentru orice sistem de securitate de bază. Ar putea fi folosit împreună cu sistemele de alarmă DIY Cum să faci un sistem simplu de alarmă Arduino Cum să faci un sistem simplu de alarmă Arduino Detectează mișcarea, apoi speri de heck dintr-un intrus cu un sunet de alarmă ridicată și lumini intermitente. Suna distractiv? Bineînțeles. Acesta este scopul proiectului de astăzi Arduino, potrivit ... Citeste mai mult sau DIY camera de securitate DIY Pan și Tilt Network Security Cam cu zmeura Pi DIY Pan și Tilt Network Security Cam cu zmeura Pi Aflați cum să faceți camera de supraveghere de la distanță și pantilă de securitate cu o Zmeură Pi. Acest proiect poate fi finalizat într-o dimineață cu doar cele mai simple părți. Citiți mai multe sisteme.

Vei avea nevoie

  • Arduino. Am folosit un Uno, deși orice placă Arduino Arduino Ghid de cumpărare: care ar trebui să obțineți? Arduino Ghidul de cumpărare: care ar trebui să obțineți? Există atât de multe feluri de plăci de arduino, acolo vei fi iertat că ești confuz. Care ar trebui să cumpărați pentru proiectul dvs.? Să ne ajute, cu acest ghid de cumpărare Arduino! Citește mai mult sau clona este suficientă.
  • Rezistențe 3 x 220 ohmi
  • Rezistor 1 x 10k ohm
  • Logic-level N canal MOSFET
  • Modulul MFRC522 cu cel puțin două cartele / știuleți de citit. Cele mai multe vin cu unul din fiecare și pot fi cumpărate pentru mai puțin de 2 $, dar probabil că aveți deja unul în portofel sub forma unei cărți publice de călătorie.
  • LED-uri roșu, albastru și verde
  • Solenoid 12V (2 $)
  • 12v sursă de alimentare
  • Plăci de bord și cabluri de legătură

Modulul MFRC522

Steaua acestei configurații este un modul ieftin MFRC522, care a venit atât cu un card cât și cu un FOB care conține un S50 cip, fiecare stocându-și propriul număr unic de identificare permanentă (UID). Acestea sunt ambele funcțional identice, doar într-o formă diferită.

Începeți prin a căuta MFRC522 biblioteca din managerul de bibliotecă al IDE-ului dvs. Arduino și instalați-l. Alternativ, puteți să descărcați biblioteca și să o instalați manual în dosarul bibliotecilor. Dacă sunteți complet nou la Arduino, puteți găsi acest primer pentru a începe Cum să începeți cu Arduino: Un ghid pentru începători Arduino: un ghid pentru începători Arduino este o platformă open-source de prototipuri electronice, bazată pe hardware flexibil și ușor de utilizat software-ul. Este destinat artiștilor, designerilor, pasionaților și tuturor celor interesați să creeze obiecte sau medii interactive. Citiți mai utile!

Biblioteca conține, de asemenea, o diagramă Fritzing, pe care am adnotat-o ​​indicând cum să atașați modulul la Arduino.

Credit de imagine: Miguel Balboa prin Github

Aveți grijă: această placă funcționează pe 3.3V, nu pe 5V, deci aveți grijă să o conectați la pinul drept.

Pentru a testa configurarea, deschideți DumpInfo schita de la Fișier> Exemple> MFRC522> DumpInfo și încărcați-l la bordul dvs. Arduino. Deschideți monitorul serial și țineți unul din obiectele RFID până la cititor. Ar trebui să vedeți ceva de genul:

Dacă întâmpinați erori la citire MIFARE_Read () nu a reușit: Timeout în comunicare, sau PCD_Authenticate () a eșuat: Timeout în comunicare, nu-ți face griji. Probabil înseamnă că nu ați ținut eticheta până la cititor pentru suficient timp pentru a citi toate datele. Atâta timp cât veți obține cardul UID (care se citește de îndată ce eticheta se află în raza de acțiune a cititorului), acesta va funcționa cu acest proiect. Dacă nu obțineți deloc o lectură, verificați cablarea și încercați din nou.

Restul circuitului

Acum că am verificat modul nostru funcționează, permiteți adăugarea celorlalte componente. Conectați componentele dvs. astfel:

  • Sursa noastră de curent de 12V (deconectată pentru moment) se conectează la șinele panoului nostru. Conectați pinul Arduino GND și pinul MFRC522 GND la șina de la sol.
  • LED-urile sunt conectate la pinii 2, 3 și 4 și la șina de la sol prin rezistoare de 220 ohmi.
  • Piciorul porții MOSFET (stânga pe imagine) se conectează la pinul 5 și la sol printr-o rezistență de 10k ohm. Piciorul de scurgere (mijlocul) se conectează la borna negativă a solenoidului nostru de 12V, iar piciorul sursei (dreapta) se conectează la șina de la sol.
  • Conectați borna pozitivă a solenoidului 12v, iar VIN-ul Arduino la șina 12v pe panza.

Cu această configurație, ori de câte ori trimitem un semnal HIGH de la Arduino la MOSFET, acesta va permite curentului să treacă la solenoid. Nu există nimic care să te împiedice să folosești un solenoid cu putere mai mare sau mai greu de funcționat, deși ai nevoie de un transformator de treaptă pentru a alimenta Arduino de la mai mult de 12V. Acordați o atenție deosebită foii de date pentru MOSFET pentru a vă asigura că nu o veți supraîncărca.

Odată ce totul este pus împreună, ar trebui să arate ceva de genul:

În timp ce nu este necesar, am creat o mică platformă pentru a simula o încuietoare de ușă din lemn.

Modificarea schiței

Cu circuitul construit, este timpul să ne pregătim schița Arduino. Convenabil, biblioteca MFRC522 vine cu o schiță de exemplu numită Controlul accesului care face exact ceea ce vrem să facem. Conectați-vă arduino la computer și deschideți-l Fișier> Exemple> MFRC522> AccessControl în IDE-ul Arduino.

Există o mulțime de informații furnizate atât în ​​schița de exemplu, cât și pe pagina GitHub pentru bibliotecă. Trebuie doar să modificăm câteva linii. Alternativ, puteți să descărcați codul modificat din acest GitHub Gist.

În primul rând, schița a fost proiectată pentru un circuit cu un singur LED RGB, care utilizează un anod comun. Nu vom folosi asta, deci pur și simplu comentați această secțiune.

// # definește COMMON_ANODE

Acum, potriviți pinii LED cu cei definiți în schiță.

#define redLed 3 // Set Led Pins #definiti greenLed 4 #define blueLed 2

Trebuie să schimbăm pinul releului (deși utilizăm un MOSFET în acest caz) pentru a se potrivi setării noastre.

#define releu 5 // Set MOSFET Pin

Pentru a ușura modificarea timpului în care blocarea rămâne deschisă mai târziu, vom crea o variabilă pentru aceasta.

int lockDelay = 10000; // Blocarea rămâne deschisă timp de 10 secunde. 

Trebuie doar să facem o altă schimbare. Chiar în partea de jos a buclă metoda, îngropată într-o declarație if este metoda de apelare acordate (300). Trebuie să schimbăm acest lucru pentru a ne folosi pe noi lockDelay variabil.

acordate (lockDelay); // Deschideți încuietoarea ușii pentru blocarea duratei de întârziere

Salvați schița sub un nou nume și încărcați-o în Arduino. Când este terminat, deschideți monitorul serial. Prima dată când faceți acest lucru, vă va cere să scanați ceva care să fie utilizat ca carte de bază. Țineți cardul până la cititor, iar UID-ul cardului ar trebui să fie afișat pe monitorul serial, împreună cu mesajul Totul este pregătit

Asta e! Cheia dvs. principală este configurată. Deconectați placa dvs. Arduino de la computer. Detaliile cheii principale vor fi salvate în EEPROM-ul Arduino, chiar și după oprirea alimentării.

Testarea setării complete

Luați o ultimă privire rapidă asupra cablului dvs. pentru a verifica dacă totul există și conectați sursa de curent de 12V. În acest moment, merită menționat faptul că trebuie să fiți atenți la ciclul de funcționare al solenoidului. Solenoidul ieftin pe care îl folosesc pentru acest test nu are un ciclu de funcționare de 100%, deci nu trebuie lăsat în poziția blocată pentru perioade lungi de timp. Pentru a face acest lucru într-o configurație permanentă, utilizați un solenoid cu ciclu de sarcină de 100%. Chiar mai bine ar fi un solenoid normal închis (NC), care rămâne blocat atunci când acesta nu este alimentat. Acest lucru înseamnă, de asemenea, că oricine dorește să ocolească sistemul nu poate pur și simplu să îl deconecteze!

Când circuitul este pornit, LED-ul albastru trebuie să se aprindă pentru a arăta că aparatul funcționează. Ținerea cardului master peste cititor o pune în modul de administrare ar trebui să determine toate cele trei LED-uri să clipească. În timp ce clipește, puteți ține alte cărți sau pliante peste cititor pentru a adăuga sau a îndepărta drepturile de acces. Se va bloca verde pentru a da acces, și albastru pentru a lua away. Utilizați din nou cardul master pentru a ieși din modul de administrare.

Acum, când țineți o cartelă sau un fob cu acces la cititor, ar trebui să clipească verde și să deschideți încuietoarea. Dacă clipește roșu, accesul a fost refuzat!

Totul este gata!

În timp ce acest proiect este un început simplu în utilizarea dispozitivelor RFID în configurația DIY, nu este cea mai sigură setare. Nu sugerăm juriului să-l atașeze la ușa din față.

Ai putea construi întregul mecanism într-o cutie și folosește solenoidul pentru al bloca. Completați caseta cu cookie-uri și utilizați cheia dvs. de bază pentru a decide cine are acces și cine nu. Deveniți masterul cookie-urilor!

Ați putea să eliminați complet solenoidul și să atașați o bandă LED în locul său și să aveți o lumină activată prin RFID. Puteți utiliza aceleași idei pentru a afișa date precum o parolă Wi-Fi pe un ecran mic atunci când un card sau un FOB cu acces este ținut de cititor.

Ați folosit RFID în setările dvs. la domiciliu? Anunțați-ne despre proiectele dvs. în secțiunea de comentarii de mai jos!

Image Credit: Annmarie Young prin intermediul Shutterstock.com

Explorați mai multe despre: Arduino, Home Security, Smart Locks.