RFID (Radio Frequency Identification) is een goedkope en toegankelijke technologie. Het kan in veel toepassingen worden gebruikt, zoals toegangscontrole, beveiliging, het volgen van activa, het volgen van mensen, enz. U hebt het RFID-deurslotsysteem gezien in hotels, kantoren en veel andere plaatsen waar u de kaart gewoon in de buurt van de RFID-lezer hoeft te plaatsen voor een seconde en de deur zal worden geopend. We hebben een RFID-lezer en tag gebruikt in veel op RFID gebaseerde projecten.
In onze vorige berichten hebben we een eenvoudig RFID-deurslot gebouwd, dit keer gebruiken we een echt Solenoid Door Lock en bedienen we deze met RFID en Arduino. Hier worden een Hall Effect-sensor en een magneet gebruikt om de deurbeweging te detecteren. Hall Effect-sensor wordt op het deurkozijn geplaatst en de magneet op de deur zelf. Wanneer de Hall Effect-sensor en magneet dicht bij elkaar zijn, bevindt de Hall Effect-sensor zich in een lage staat en blijft de deur gesloten, en wanneer de sensor en magneet niet dicht zijn, betekent dit dat de deur open is en de Hall-sensor in de hoge stand staat. We zullen dit Hall Effect-mechanisme gebruiken om de deur automatisch te vergrendelen en ontgrendelen. Volg de link voor meer informatie over Hall Sensor en zijn werking.
Componenten vereist
- Arduino Uno
- RFID-RC522-module
- 12v solenoïde slot
- Relaismodule
- Hall-effect-sensor
- 10kΩ weerstand
- Zoemer
Solenoïde slot
Een solenoïdeslot werkt op het elektronisch-mechanische vergrendelingsmechanisme. Dit type slot heeft een slug met een schuine snede en een goede montagebeugel. Wanneer de stroom wordt toegepast, creëert DC een magnetisch veld dat de slak naar binnen beweegt en de deur in de ontgrendelde positie houdt. De slak zal zijn positie behouden totdat de stroom is verwijderd. Als de stroom is uitgeschakeld, gaat de slak naar buiten en doet de deur op slot. Het gebruikt geen stroom in een vergrendelde toestand. Om het solenoïdeslot aan te sturen, heb je een stroombron nodig die 12V @ 500mA kan leveren.
Schakelschema
Het schakelschema voor het solenoïde deurslot met Arduino wordt hieronder gegeven.
Verbindingen tussen Arduino en RFID worden weergegeven in de onderstaande tabel. De positieve pin van de zoemer is verbonden met digitale pin 4 van Arduino en de GND-pin is verbonden met de grondpin van Arduino. Een weerstand van 10K wordt gebruikt tussen de VCC- en OUT-pin van de Hall Effect-sensor. Het solenoïdeslot is via de relaismodule verbonden met Arduino.
RFID-pincode | Arduino Uno Pin |
SDA | Digitaal 10 |
SCK | Digitaal 13 |
MOSI | Digitaal 11 |
MISO | Digitaal 12 |
IRQ | Geen verbinding |
GND | GND |
RST | Digitaal 9 |
3.3V | 3.3V |
Hall Effect-sensorpen | Arduino Uno Pin |
5V | 5V |
GND | GND |
UIT | 3 |
Na het solderen van alle componenten op de printplaat volgens het schakelschema, ziet het eruit als de onderstaande afbeelding:
Code Uitleg
De volledige code voor dit Arduino-solenoïdeslot staat aan het einde van het document. Hier leggen we deze code stap voor stap uit voor een beter begrip.
Start de code door alle vereiste bibliotheken op te nemen. Hier zijn slechts twee bibliotheken nodig, één voor SPI-communicatie tussen Arduino en RFID, en tweede voor de RFID-module. Beide bibliotheken kunnen worden gedownload via de onderstaande links:
- SPI.h
- MFRC522.h
Definieer nu de pinnen voor Buzzer, Solenoid Lock en RFID-module
int Zoemer = 4; const int LockPin = 2; # definiëren SS_PIN 10 # definiëren RST_PIN 9
Definieer vervolgens de vergrendelingspin en zoemerpin als een uitgang en de Hall Effect-sensorpin als ingang en start de SPI-communicatie.
pinMode (LockPin, OUTPUT); pinMode (Buzzer, OUTPUT); pinMode (hall_sensor, INPUT); SPI.begin (); // Start SPI-bus mfrc522.PCD_Init (); // Start MFRC522
Lees in de lege lus de waarden van de gangsensor en sluit de deur wanneer deze laag wordt.
state = digitalRead (hall_sensor); Serial.print (staat); vertraging (3000); if (state == LOW) {digitalWrite (LockPin, LOW); Serial.print ("Door Closed"); digitalWrite (Buzzer, HIGH); vertraging (2000); digitalWrite (Buzzer, LOW);}
Binnen de ongeldige lusfunctie zal het controleren of er een nieuwe RFID-kaart aanwezig is, en als er een nieuwe kaart aanwezig is, zal het de UID van de kaart controleren. Voor een geldige kaart wordt het slot geopend; anders wordt afgedrukt ' U bent niet geautoriseerd. 'Het volledige werk wordt getoond in de video die aan het einde wordt gegeven.
if (! mfrc522.PICC_IsNewCardPresent ()) {return; } // Selecteer een van de kaarten als (! Mfrc522.PICC_ReadCardSerial ()) {return; } // Toon UID op seriële monitor String content = ""; byte brief; 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 ("Bericht:"); content.toUpperCase (); if (content.substring (1) == "60 4E 07 1E") // verander hier de UID van de kaart / kaarten die je toegang wilt geven {digitalWrite (LockPin, HIGH); Serial.print ("Door Unlocked"); digitalWrite (Buzzer, HIGH); vertraging (2000); digitalWrite (Buzzer, LOW); } else {Serial.println ("U bent niet geautoriseerd"); digitalWrite (Buzzer, HIGH); vertraging (2000); digitalWrite (zoemer,LAAG); }}
Het RFID-solenoïde slot testen
Zodra u klaar bent met de code en hardware, kunt u beginnen met het testen van het Solenoid Door Lock-project. Hier hebben we alle componenten op de perf board gesoldeerd zodat deze eenvoudig op de deur gemonteerd kan worden.
Dus om het te testen, monteert u het perfboard op het deurkozijn en de magneet op de deur zodat het de beweging van de deur kan detecteren. De onderstaande afbeelding laat zien hoe de magneet en Hall-sensoren op de deur worden bevestigd.
Scan nu uw geautoriseerde RFID-kaart om het deurslot te openen. Het solenoïde deurslot blijft open totdat de output van de Hall Effect-sensor hoog is. Wanneer de deur nu weer dichtbij de Hall-sensor komt tijdens het sluiten, verandert de Hall-effect-sensorstatus in Laag vanwege het magnetische veld (gegenereerd door de magneet die aan de deur is bevestigd) en wordt het slot weer gesloten.
In plaats van de Hall Effect-sensor te gebruiken, kunt u een vertraging invoeren om de deur een bepaalde tijd open te houden.
Volledige code en werkende video worden hieronder gegeven. Controleer ook andere soorten deursloten met behulp van verschillende technologieën.