Smart Lock fai da te con Arduino e RFID

Ecco come costruire un semplice smart lock basato su RFID utilizzando un Arduino come backbone e alcuni componenti economici.

Ecco come costruire un semplice smart lock basato su RFID utilizzando un Arduino come backbone e alcuni componenti economici.
Annuncio pubblicitario

Ti avvicini a un lucchetto invisibile a cui solo tu hai la chiave, e aprilo senza nemmeno toccarlo. Figo? Oggi costruiremo una semplice serratura intelligente basata su RFID usando un Arduino come spina dorsale e alcuni componenti economici.

La tecnologia alla base di questo progetto è già utilizzata in molti settori. Chiunque abbia lavorato in un ufficio moderno o usato i trasporti pubblici probabilmente lo ha usato tutti i giorni. L'identificazione RFID (identificazione a radiofrequenza) identifica i dati memorizzati su un chip in una scheda o un dongle e li confronta con un elenco di tag che sono già stati scansionati.

Costruiremo un circuito di test per controllare l'accesso utilizzando un modulo lettore Mifare MFRC522, per aprire e chiudere un lucchetto. Useremo una chiave magnetica per aggiungere o rimuovere l'accesso a diversi tag e creare una semplice lettura a LED per dirci cosa sta succedendo nel sistema.

Infine, aggiungeremo un solenoide che fungerà da blocco e un MOSFET per attivarlo e disattivarlo in sicurezza utilizzando il nostro Arduino.

Il lettore MFRC522 può leggere e scrivere dati su chip RC522 e memorizza questi dati nella EEPROM di Arduino Come utilizzare Arduino EEPROM per salvare dati tra cicli di alimentazione Come utilizzare Arduino EEPROM per salvare dati tra cicli di alimentazione Sapevi che Arduino può memorizzare dati quando è spento? Sto parlando dell'EEPROM, quindi unisciti a me mentre ti mostro come leggere e scrivere ad esso. Leggi di più . Questa sarebbe una grande aggiunta a qualsiasi configurazione fai-da-te, ed è particolarmente rilevante per qualsiasi sistema base di sicurezza domestica. Può essere utilizzato insieme ai sistemi di allarme fai-da-te Come creare un semplice sistema di allarme Arduino Come creare un semplice sistema di allarme Arduino Rileva il movimento, poi spaventa il diavolo da un intruso con un suono di allarme acuto e luci lampeggianti. Sembra divertente? Certo che lo fa. Questo è l'obiettivo del progetto Arduino di oggi, adatto ... Leggi di più o telecamera di sicurezza fai-da-te DIY Pan and Tilt Network Security Cam con Raspberry Pi DIY Pan e Tilt Network Security Cam con Raspberry Pi Impara a fare telecamere di sicurezza pan e tilt con visualizzazione remota un Raspberry Pi. Questo progetto può essere completato in una mattinata con solo le parti più semplici. Leggi altri sistemi.

Avrai bisogno

  • Arduino. Abbiamo usato uno Uno, anche se qualsiasi scheda Arduino Guida all'acquisto di Arduino: quale scheda si dovrebbe ottenere? Guida all'acquisto di Arduino: quale scheda si dovrebbe ottenere? Ci sono così tanti diversi tipi di tavole Arduino là fuori, ti verrebbe perdonato per essere stato confuso. Quale dovresti comprare per il tuo progetto? Aiutaci, con questa guida all'acquisto di Arduino! Leggi di più o il clone sarà sufficiente.
  • 3 resistenze da 220 ohm
  • 1 resistenza da 10k ohm
  • Mosfet a canale N a livello logico
  • Modulo MFRC522 con almeno due carte / fob da leggere. La maggior parte viene con uno di ciascuno, e può essere comprato per meno di $ 2, ma probabilmente ne hai già uno nel tuo portafoglio sotto forma di un biglietto da visita pubblico.
  • LED rossi, blu e verdi
  • Solenoide 12v ($ 2)
  • Alimentazione 12v
  • Tagliere e cavi per collegare

Il modulo MFRC522

La stella di questo setup è un economico modulo MFRC522, che è dotato sia di una scheda che di un fob contenente un chip S50, ognuno dei quali memorizza il proprio numero di identificazione permanente (UID). Questi sono entrambi funzionalmente identici, solo in una forma diversa.

modulo e carta

Inizia la ricerca della libreria MFRC522 nel gestore librerie del tuo IDE Arduino e installalo. In alternativa è possibile scaricare la libreria e installarla manualmente nella cartella delle librerie. Se sei totalmente nuovo ad Arduino, potresti trovare questo primer per iniziare. Guida introduttiva ad Arduino: una guida per principianti Guida introduttiva ad Arduino: Guida per principianti Arduino è una piattaforma di prototipazione elettronica open source basata su hardware flessibile e facile da usare e Software. È pensato per artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi. Per saperne di più utili!

La libreria contiene anche un diagramma di Fritzing, che ho annotato indicando come collegare il modulo al tuo Arduino.

cablaggio del pinout arduino rfid
Immagine di credito: Miguel Balboa via Github

Fai attenzione: questa scheda funziona su 3, 3 V, non 5 V, quindi fai attenzione a collegarlo al pin corretto.

Per testare la configurazione, aprire lo schizzo DumpInfo da File> Esempi> MFRC522> DumpInfo e caricarlo nella propria scheda Arduino. Aprire il monitor seriale e tenere uno degli oggetti RFID fino al lettore. Dovresti vedere qualcosa di simile a questo:

dump info lettura seriale

Se ricevi errori nella lettura dicendo che MIFARE_Read() failed: Timeout in communication, o PCD_Authenticate() failed: Timeout in communication, non ti preoccupare. Probabilmente significa che non hai tenuto il tag fino al lettore per un tempo sufficiente a leggere tutti i dati. Finché si ottiene l'UID della scheda (che viene letto non appena il tag si trova nel raggio d'azione del lettore), funzionerà con questo progetto. Se non stai leggendo nulla, controlla il cablaggio e riprova.

Il resto del circuito

Ora che abbiamo verificato che il nostro modulo funziona, aggiungiamo il resto dei componenti. Collega i tuoi componenti in questo modo:

fritzing completo del circuito di installazione

  • Il nostro alimentatore 12v (scollegato per ora) si collega alle guide della nostra breadboard. Collegare il pin GND Arduino e il pin GNR MFRC522 alla barra di terra.
  • I LED sono collegati ai pin 2, 3 e 4 e alla barra di terra attraverso resistori da 220 ohm.
  • La gamba del gate del MOSFET (a sinistra sull'immagine) si collega al pin 5 e alla massa attraverso un resistore da 10k ohm. La gamba di scarico (al centro) si collega al terminale negativo del nostro solenoide 12v e la gamba della sorgente (destra) si collega alla barra di terra.
  • Collegare il terminale positivo del solenoide 12v e il VIN dell'arduino alla rotaia 12v sulla breadboard.

Con questa configurazione, ogni volta che inviamo un segnale HIGH da Arduino al MOSFET, permetterà alla corrente di passare al solenoide. Non c'è niente che ti impedisca di usare un solenoide più potente o più pesante, anche se avresti bisogno di un trasformatore stepdown per alimentare l'Arduino da più di 12V. Inoltre, prestate molta attenzione al foglio dati del MOSFET per assicurarvi che non lo sovraccarichi.

Una volta che è tutto messo insieme dovrebbe assomigliare a questo:

disposizione del circuito

Mentre non è necessario, ho creato un piccolo impianto di perforazione per simulare una serratura da legno di scarto.

Modifica dello schizzo

Con il circuito costruito, è ora di impostare il nostro Arduino Sketch. Convenientemente, la libreria MFRC522 viene fornita con uno schizzo di esempio denominato Controllo di accesso che esegue quasi esattamente ciò che vogliamo fare. Collega il tuo Arduino al tuo computer e apri File> Esempi> MFRC522> AccessControl nell'IDE di Arduino.

C'è una ricchezza di informazioni fornite sia nello schizzo di esempio, sia nella pagina GitHub per la libreria. Abbiamo solo bisogno di modificare alcune righe. In alternativa, puoi scaricare il nostro codice modificato da questo GitHub Gist.

In primo luogo, lo schizzo è stato progettato per un circuito con un singolo LED RGB utilizzando un anodo comune. Non lo useremo, quindi commenta semplicemente questa sezione.

 //#define COMMON_ANODE 

Ora, abbina i nostri pin LED a quelli definiti nello schizzo.

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

Abbiamo bisogno di cambiare il pin del relè (anche se in questo caso stiamo usando un MOSFET) per abbinare il nostro setup.

 #define relay 5 // Set MOSFET Pin 

Per facilitare la modifica della durata del blocco in seguito, creeremo una variabile per questo.

 int lockDelay=10000; // lock stays open for 10 seconds. 

Abbiamo solo bisogno di fare un altro cambiamento. Proprio nella parte inferiore del metodo loop, sepolto in un'istruzione if è la chiamata al metodo concessa (300) . Dobbiamo cambiare questo in modo che usi la nostra variabile lockDelay .

 granted(lockDelay); // Open the door lock for lockDelay duration 

Salva lo schizzo con un nuovo nome e caricalo sul tuo Arduino. Al termine, apri il monitor seriale. La prima volta che lo fai, ti chiederà di scansionare qualcosa da usare come master card. Tenere la scheda fino al lettore e l'UID della scheda deve essere visualizzato sul monitor seriale, insieme al messaggio Tutto pronto

Questo è tutto! La tua chiave master è stata impostata. Scollega la tua scheda Arduino dal computer. I dettagli della tua chiave master verranno salvati nella EEPROM di Arduino, anche dopo lo spegnimento.

Test della configurazione completa

Fai un'ultima occhiata al tuo cablaggio per verificare che tutto sia a posto e collegare il tuo alimentatore da 12v. A questo punto, vale la pena ricordare che dovresti diffidare del ciclo di lavoro del tuo solenoide. Il solenoide economico che sto utilizzando per questo test non ha un ciclo di lavoro del 100%, di conseguenza non dovrebbe essere lasciato nella sua posizione bloccata per lunghi periodi di tempo. Per rendere questo in una configurazione permanente, utilizzare un solenoide del ciclo di lavoro del 100 percento. Ancora meglio sarebbe un solenoide normalmente chiuso (NC), che rimane bloccato quando non è alimentato. Ciò significa anche che chiunque voglia bypassare il sistema non può semplicemente scollegarlo!

Quando il circuito è acceso, il LED blu dovrebbe accendersi per mostrare che il dispositivo è operativo. Tenere la master card sopra il lettore in modalità admin dovrebbe far lampeggiare tutti e tre i LED. Mentre lampeggiano puoi tenere altre carte o fobs sul lettore per aggiungere o togliere i diritti di accesso. Lampeggerà in verde per dare accesso e blu per portarlo via. Usa di nuovo la carta master per uscire dalla modalità amministratore.

Ora quando si tiene una carta o un biglietto con accesso fino al lettore, dovrebbe lampeggiare in verde e aprire il lucchetto. Se lampeggia in rosso, l'accesso è stato negato!

Tutto fatto!

Mentre questo progetto è un inizio semplice nell'utilizzo di dispositivi RFID nella configurazione fai-da-te, non è l'impostazione più sicura. Noi non suggeriamo che la giuria lo manipoli alla tua porta di casa.

Potresti costruire l'intero meccanismo in una scatola e usare il solenoide per bloccarlo. Riempi la casella con i cookie e usa la tua chiave principale per decidere chi ha accesso e chi no. Diventa il maestro dei biscotti!

Si potrebbe eliminare completamente il solenoide e collegare una striscia LED al suo posto e avere una luce RFID attivata. È possibile utilizzare le stesse idee per visualizzare dati come una password Wi-Fi su uno schermo piccolo quando una scheda o un portachiavi con accesso viene tenuto in mano al lettore.

Hai usato l'RFID nei tuoi set up a casa? Fateci sapere i vostri progetti nella sezione commenti qui sotto!

Immagine di credito: Annmarie Young tramite Shutterstock.com

In this article