Smart Lock fai da te con Arduino e RFID
Ti avvicini a un lucchetto invisibile a cui solo tu hai la chiave, e aprilo senza nemmeno toccarlo. Sembra fantastico? 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 usando 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 usando 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 ... Per saperne di più o FAI DA TE telecamera di sicurezza fai-da-te Pan e Tilt Network Security Cam con Raspberry Pi fai-da-te Pan e Tilt Network Security Cam con Raspberry Pi Impara a fare da remoto pan and tilt telecamera di sicurezza con un lampone 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 una carta di viaggio pubblica.
- 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, fornito con una scheda e un portachiavi contenente un S50 chip, ognuno dei quali memorizza il proprio numero di identificazione permanente (UID). Questi sono entrambi funzionalmente identici, solo in una forma diversa.
Inizia cercando il MFRC522 libreria 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. Ulteriori informazioni utili!
La libreria contiene anche un diagramma di Fritzing, che ho annotato indicando come collegare il modulo al tuo Arduino.
Fai attenzione: questa scheda funziona su 3,3 V, non 5 V, quindi fai attenzione a collegarlo al pin corretto.
Per testare la configurazione, apri il DumpInfo schizzo da File> Esempi> MFRC522> DumpInfo e caricarlo nella tua scheda Arduino. Aprire il monitor seriale e tenere uno degli oggetti RFID fino al lettore. Dovresti vedere qualcosa di simile a questo:
Se ricevi errori nel testo che stai dicendo MIFARE_Read () non riuscito: Timeout nella comunicazione
, o PCD_Authenticate () non riuscito: Timeout nella comunicazione
, 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:
- 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:
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 configurare il nostro Arduino Sketch. Convenientemente, la libreria MFRC522 viene fornita con uno schizzo di esempio chiamato Controllo di accesso questo fa quasi esattamente quello 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.
// # definisce 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; // il blocco rimane aperto per 10 secondi.
Abbiamo solo bisogno di fare un altro cambiamento. Proprio nella parte inferiore del ciclo continuo il metodo, sepolto in un'istruzione if è la chiamata al metodo concesso (300). Dobbiamo cambiare questo in modo che usi il nostro lockDelay variabile.
concesso (lockDelay); // Apri la serratura per lockDelay
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 dovrebbe 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 usando 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
Scopri di più su: Arduino, sicurezza domestica, Smart Locks.