- Componenti richiesti
- Blocco solenoide
- Schema elettrico
- Spiegazione del codice
- Test del blocco del solenoide RFID
RFID (Radio Frequency Identification) è una tecnologia economica e accessibile. Può essere utilizzato in molte applicazioni come il controllo degli accessi, la sicurezza, il monitoraggio delle risorse, il monitoraggio delle persone, ecc. Hai visto il sistema RFID Door Lock in hotel, uffici e molti altri luoghi in cui devi solo posizionare la carta vicino al lettore RFID per un secondo e la porta verrà aperta. Abbiamo utilizzato un lettore e tag RFID in molti progetti basati su RFID.
Nei nostri post precedenti, abbiamo costruito una semplice serratura RFID, questa volta usiamo una vera serratura a solenoide e la controlliamo con RFID e Arduino. Qui un sensore ad effetto Hall e un magnete vengono utilizzati per rilevare il movimento della porta. Il sensore ad effetto Hall sarà posizionato sul telaio della porta e il magnete sulla porta stessa. Quando il sensore effetto Hall e il magnete sono vicini l'uno all'altro, il sensore effetto Hall sarà in uno stato basso e la porta rimarrà chiusa, e quando il sensore e il magnete non sono chiusi significa che la porta è aperta e il sensore hall è in alto stato. Useremo questo meccanismo ad effetto Hall per bloccare e sbloccare automaticamente la porta. Per saperne di più sul sensore Hall e sul suo funzionamento, segui il link.
Componenti richiesti
- Arduino Uno
- Modulo RFID-RC522
- 12v solenoide di blocco
- Modulo relè
- Sensore ad effetto hall
- Resistenza da 10kΩ
- Cicalino
Blocco solenoide
Una serratura a solenoide funziona sul meccanismo di bloccaggio elettronico-meccanico. Questo tipo di serratura ha uno slug con un taglio obliquo e una buona staffa di montaggio. Quando viene applicata l'alimentazione, la corrente continua crea un campo magnetico che muove il proiettile all'interno e mantiene la porta in posizione sbloccata. Lo slug manterrà la sua posizione fino a quando l'alimentazione non verrà rimossa. Quando l'alimentazione viene scollegata, lo slug si sposta all'esterno e blocca la porta. Non utilizza alcun potere in uno stato bloccato. Per azionare il blocco del solenoide è necessaria una fonte di alimentazione in grado di fornire 12V @ 500mA.
Schema elettrico
Di seguito è riportato lo schema del circuito per la serratura della porta del solenoide utilizzando Arduino.
I collegamenti tra Arduino e RFID sono riportati nella tabella sottostante. Il pin positivo del buzzer è collegato al pin digitale 4 di Arduino e il pin GND è collegato al pin di terra di Arduino. Una resistenza da 10K viene utilizzata tra il VCC e il pin OUT del sensore ad effetto Hall. Il blocco del solenoide è collegato ad Arduino tramite il modulo relè.
Pin RFID | Pin di Arduino Uno |
SDA | Digitale 10 |
SCK | Digitale 13 |
MOSI | Digitale 11 |
MISO | Digitale 12 |
IRQ | Non connesso |
GND | GND |
RST | Digitale 9 |
3,3V | 3,3V |
Pin sensore effetto hall | Pin di Arduino Uno |
5V | 5V |
GND | GND |
SU | 3 |
Dopo aver saldato tutti i componenti sulla scheda perf secondo lo schema del circuito, sembra l'immagine qui sotto:
Spiegazione del codice
Il codice completo per questa serratura a solenoide Arduino è fornito alla fine del documento. Qui stiamo spiegando questo codice passo dopo passo per una migliore comprensione.
Avvia il codice includendo tutte le librerie richieste. Qui richiede solo due librerie, una per la comunicazione SPI tra Arduino e RFID e la seconda per il modulo RFID. Entrambe le librerie possono essere scaricate dai link indicati di seguito:
- SPI.h
- MFRC522.h
Ora definisci i pin per Buzzer, Solenoid Lock e RFID Module
int Buzzer = 4; const int LockPin = 2; #define SS_PIN 10 #define RST_PIN 9
Quindi definire il pin di blocco e il pin del cicalino come uscita e il pin del sensore effetto Hall come input e avviare la comunicazione SPI.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // Avvia il bus SPI mfrc522.PCD_Init (); // Avvia MFRC522
All'interno del loop vuoto , leggi i valori del sensore di hall e quando diventa basso, chiudi la porta.
state = digitalRead (hall_sensor); Serial.print (stato); ritardo (3000); if (state == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Porta chiusa"); digitalWrite (Buzzer, HIGH); ritardo (2000); digitalWrite (Buzzer, LOW);}
All'interno della funzione void loop, controllerà se è presente una nuova scheda RFID e se è presente una nuova scheda, controllerà l'UID della scheda. Per una carta valida, aprirà la serratura; in caso contrario, verrà stampato " Non sei autorizzato. 'Il lavoro completo è mostrato nel video fornito alla fine.
if (! mfrc522.PICC_IsNewCardPresent ()) {return; } // Seleziona una delle carte if (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Mostra l'UID sul monitor seriale String content = ""; lettera byte; for (byte i = 0; i <mfrc522.uid.size; i ++) {content.concat (String (mfrc522.uid.uidByte <0x10? "0": "")); content.concat (String (mfrc522.uid.uidByte, HEX)); } Serial.println (); Serial.print ("Message:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // cambia qui l'UID della / delle carte a cui vuoi dare accesso {digitalWrite (LockPin, HIGH); Serial.print ("Door Unlocked"); digitalWrite (Buzzer, HIGH); ritardo (2000); digitalWrite (Buzzer, LOW); } else {Serial.println ("Non sei autorizzato"); digitalWrite (Buzzer, HIGH); ritardo (2000); digitalWrite (Buzzer,BASSO); }}
Test del blocco del solenoide RFID
Una volta che sei pronto con il codice e l'hardware, puoi iniziare a testare il progetto Solenoid Door Lock. Qui abbiamo saldato tutti i componenti sulla scheda perf in modo che possa essere montata facilmente sulla porta.
Quindi, per testarlo, montare la scheda perf sul telaio della porta e il magnete sulla porta in modo che possa rilevare il movimento della porta. L'immagine sotto mostra come il magnete e i sensori Hall sono fissati sulla porta.
Ora scansiona la tua carta RFID autorizzata per aprire la serratura. La serratura della porta del solenoide rimarrà aperta fino a quando l'uscita del sensore effetto Hall non sarà alta. Ora, quando la porta si avvicina di nuovo al sensore Hall durante la chiusura, lo stato del sensore Hall Effect cambierà in Basso a causa del campo magnetico (generato dal magnete attaccato alla porta) e la serratura verrà nuovamente chiusa.
Invece di utilizzare il sensore ad effetto Hall, è possibile introdurre un ritardo per mantenere la porta aperta per un tempo definito.
Di seguito vengono forniti il codice completo e il video funzionante. Inoltre, controlla altri tipi di serratura della porta utilizzando diverse tecnologie.