Advertentie
Je loopt naar een onzichtbaar slot waar alleen jij de sleutel voor hebt en opent het zonder het zelfs maar aan te raken. Klinkt goed? Vandaag gaan we een eenvoudig op RFID gebaseerd slim slot bouwen met een Arduino als ruggengraat en een paar goedkope componenten.
De technologie achter dit project wordt al in veel industrieën gebruikt. Iedereen die in een modern kantoor heeft gewerkt of het openbaar vervoer heeft gebruikt, heeft het waarschijnlijk elke dag gebruikt. RFID (radiofrequentie-identificatie) identificeert gegevens die zijn opgeslagen op een chip in een kaart of dongle en vergelijkt ze met een lijst met tags die al zijn gescand.
We bouwen een testcircuit om de toegang te controleren met behulp van een Mifare MFRC522-lezermodule, om een slot te openen en te sluiten. We gebruiken een hoofdsleutelkaart om toegang tot verschillende tags toe te voegen of te verwijderen, en maken een eenvoudige LED-uitlezing om ons te vertellen wat er in het systeem gebeurt.
Ten slotte zullen we een solenoïde toevoegen om als slot te dienen, en een MOSFET om het veilig aan en uit te zetten met onze Arduino.
De MFRC522-lezer kan gegevens lezen en schrijven naar RC522-chips en slaat deze gegevens op in de De EEPROM van Arduino Hoe Arduino EEPROM te gebruiken om gegevens tussen energiecycli op te slaanWist je dat de Arduino gegevens kan opslaan wanneer deze is uitgeschakeld? Ik heb het over de EEPROM, dus doe met me mee terwijl ik je laat zien hoe je het kunt lezen en ernaar kunt schrijven. Lees verder . Dit zou een geweldige aanvulling zijn op elke doe-het-zelfopstelling en is vooral relevant voor elk basisbeveiligingssysteem. Het kan naast worden gebruikt DIY alarmsystemen Hoe een eenvoudig Arduino-alarmsysteem te makenDetecteer beweging en maak een indringer bang met een hoog alarmgeluid en knipperende lichten. Klinkt dat leuk? Natuurlijk doet het. Dat is het doel van het huidige Arduino-project, geschikt ... Lees verder of doe-het-zelf beveiligingscamera DIY Pan en Tilt Network Security Cam met Raspberry PiLeer hoe u op afstand zichtbare pan- en tilt-beveiligingscamera kunt maken met een Raspberry Pi. Dit project kan in een ochtend worden voltooid met alleen de eenvoudigste onderdelen. Lees verder systemen.
Je zal nodig hebben
- Arduino. We hebben echter een Uno gebruikt elk Arduino-bord Arduino Koopgids: welk bord moet je kopen?Er zijn zoveel verschillende soorten Arduino-kaarten dat het je vergeven zou worden als je in de war bent. Welke moet je kopen voor je project? Laat ons helpen met deze Arduino-koopgids! Lees verder of kloon is voldoende.
- 3 x 220 ohm weerstanden
- 1 x 10k ohm weerstand
- N-kanaal Mosfet op logisch niveau
- MFRC522-module met minstens twee kaarten / fobs om te lezen. De meeste worden geleverd met een van elk en kunnen worden gekocht minder dan $ 2, maar je hebt er waarschijnlijk al een in je portemonnee in de vorm van een openbare reiskaart.
- Rode, blauwe en groene leds
- 12v solenoïde ($2)
- 12v voeding
- Breadboard en aansluitdraden
De MFRC522-module
De ster van deze opstelling is een goedkope MFRC522-module, die werd geleverd met zowel een kaart als een afstandsbediening met een s50 chip, die elk zijn eigen unieke permanente identificatienummer (UID) opslaat. Deze zijn beide functioneel identiek, alleen in een andere vorm.
Zoek eerst naar de MFRC522 bibliotheek in de bibliotheekmanager van uw Arduino IDE en installeer deze. Als alternatief kan dat download de bibliotheek en installeer het handmatig in de map bibliotheken. Als je helemaal nieuw bent in Arduino, zou je dit kunnen vinden primer om mee te beginnen Aan de slag met Arduino: een beginnershandleidingArduino is een open-source prototypeplatform voor elektronica, gebaseerd op flexibele, gebruiksvriendelijke hardware en software. Het is bedoeld voor kunstenaars, ontwerpers, hobbyisten en iedereen die geïnteresseerd is in het maken van interactieve objecten of omgevingen. Lees verder nuttig!
De bibliotheek bevat ook een Fritzing-diagram, dat ik heb geannoteerd om aan te geven hoe je de module op je Arduino moet bevestigen.
Wees voorzichtig: dit bord werkt op 3.3V, niet op 5V, dus zorg ervoor dat je het op de juiste pin aansluit.
Om de opstelling te testen, opent u de DumpInfo schets van Bestand> Voorbeelden> MFRC522> DumpInfo en upload het naar je Arduino-bord. Open de seriële monitor en houd een van uw RFID-objecten tegen de lezer. Je zou zoiets als dit moeten zien:
Als je fouten krijgt in het voorgelezen gezegde MIFARE_Read () mislukt: time-out in communicatie
, of PCD_Authenticate () mislukt: time-out bij communicatie
, maak je geen zorgen. Het betekent waarschijnlijk dat u de tag niet lang genoeg tegen de lezer hield om alle gegevens te lezen. Zolang u de UID van de kaart krijgt (die wordt gelezen zodra de tag binnen het bereik van de lezer is), werkt deze met dit project. Als u helemaal geen meting krijgt, controleer dan uw bedrading en probeer het opnieuw.
De rest van het circuit
Nu we hebben geverifieerd dat onze module werkt, kunnen we de rest van de componenten toevoegen. Verbind uw componenten als volgt:
- Onze 12v-voeding (voorlopig niet aangesloten) sluit aan op de rails van ons breadboard. Verbind de Arduino GND-pin en MFRC522 GND-pin met de grondrail.
- De LEDS zijn verbonden met pinnen 2, 3 en 4 en met de grondrail via 220 ohm-weerstanden.
- De poortpoot van onze MOSFET (links op afbeelding) maakt verbinding met pin 5 en met aarde via een weerstand van 10k ohm. De afvoerpoot (midden) sluit aan op de negatieve pool van onze 12v-solenoïde en de bronpoot (rechts) sluit aan op de grondrail.
- Verbind de positieve terminal van de 12v-solenoïde en het VIN van de Arduino met de 12v-rail op het breadboard.
Met deze opstelling, wanneer we een HOOG signaal van de Arduino naar de MOSFET sturen, zal het de stroom doorlaten naar de solenoïde. Niets weerhoudt u ervan een solenoïde met een hoger of zwaarder vermogen te gebruiken, hoewel u een stepdown-transformator nodig heeft om de Arduino van meer dan 12V te voorzien. Let ook goed op het gegevensblad voor uw MOSFET om ervoor te zorgen dat u het niet overbelast.
Als alles eenmaal is samengesteld, zou het er ongeveer zo uit moeten zien:
Hoewel het niet nodig is, heb ik een kleine rig gemaakt om een deurslot van sloophout te simuleren.
De schets wijzigen
Nu het circuit is gebouwd, is het tijd om onze Arduino Sketch op te zetten. Handig is dat de MFRC522-bibliotheek wordt geleverd met een voorbeeldschets genaamd Toegangscontrole dat doet bijna precies wat we willen doen. Verbind uw Arduino met uw computer en open Bestand> Voorbeelden> MFRC522> AccessControl in de Arduino IDE.
Zowel in de voorbeeldschets als op de website is een schat aan informatie aanwezig GitHub-pagina voor de bibliotheek. We hoeven maar een paar regels aan te passen. Als alternatief kunt u hier onze gewijzigde code downloaden GitHub Gist.
Ten eerste is de schets ontworpen voor een circuit met een enkele RGB-LED met behulp van een gemeenschappelijke anode. We zullen dat niet gebruiken, dus reageer gewoon op dit gedeelte.
// # COMMON_ANODE definiëren
Pas nu onze LED-pinnen aan die in de schets zijn gedefinieerd.
#define redLed 3 // Set Led Pins. #define greenLed 4. #define blueLed 2
We moeten de relaispin wijzigen (hoewel we in dit geval een MOSFET gebruiken) om overeen te komen met onze opstelling.
#define relay 5 // MOSFET-pin instellen
Om het makkelijker te maken om te veranderen hoe lang het slot later open blijft, zullen we er een variabele voor maken.
int lockDelay = 10000; // slot blijft 10 seconden open.
We hoeven nog maar één wijziging door te voeren. Helemaal onderaan de lus methode, begraven in een if-instructie is de methodeaanroep verleend (300). We moeten dit veranderen zodat het onze gebruikt lockDelay variabel.
verleend (lockDelay); // Open het deurslot voor lockDelay duration
Sla de schets op onder een nieuwe naam en upload deze naar je Arduino. Open de seriële monitor als het klaar is. De eerste keer dat u dit doet, wordt u gevraagd iets te scannen om als uw masterkaart te gebruiken. Houd uw kaart tegen de lezer en de UID van de kaart moet samen met het bericht op de seriële monitor worden weergegeven Alles klaar
Dat is het! Uw hoofdsleutel is helemaal ingesteld. Koppel uw Arduino-bord los van de computer. Je hoofdsleutelgegevens worden opgeslagen in de EEPROM van de Arduino, zelfs nadat de stroom is uitgeschakeld.
De volledige installatie testen
Kijk nog een laatste keer over uw bedrading om te controleren of alles op zijn plaats zit en sluit uw 12v-voeding aan. Op dit punt is het vermeldenswaard dat u op uw hoede moet zijn voor de inschakelduur van uw solenoïde. De goedkope solenoïde die ik voor deze test gebruik, heeft geen inschakelduur van 100 procent en mag daarom niet gedurende lange tijd in de vergrendelde positie blijven staan. Gebruik een solenoïde met een inschakelduur van 100 procent om dit tot een permanente opstelling te maken. Nog beter zou een normaal gesloten (NC) solenoïde zijn, die vergrendeld blijft wanneer deze niet van stroom wordt voorzien. Dit betekent ook dat iedereen die het systeem wil omzeilen, het niet zomaar kan loskoppelen!
Wanneer het circuit is ingeschakeld, moet de blauwe LED oplichten om aan te geven dat het apparaat operationeel is. Als u de masterkaart boven de lezer houdt, wordt deze in de beheerdersmodus gezet, waardoor alle drie de leds moeten knipperen. Terwijl ze knipperen, kunt u andere kaarten of fobs boven de lezer houden om toegangsrechten toe te voegen of weg te nemen. Het zal groen knipperen om toegang te geven en blauw om mee te nemen. Gebruik de masterkaart opnieuw om de beheerdersmodus af te sluiten.
Wanneer u nu een kaart of sleutelhanger met toegang tot de lezer vasthoudt, moet deze groen knipperen en het slot openen. Als het rood knippert, is de toegang geweigerd!
Helemaal klaar!
Hoewel dit project een eenvoudige start is bij het gebruik van RFID-apparaten in uw doe-het-zelf-opstelling, is het niet de meest veilige opstelling. We raden geen jury aan om dit aan je voordeur te bevestigen.
Je zou het hele mechanisme in een doos kunnen bouwen en de solenoïde gebruiken om het te vergrendelen. Vul het vak met cookies in en gebruik uw hoofdsleutel om te beslissen wie toegang heeft en wie niet. Word de koekjesmeester!
U kunt de solenoïde helemaal wegdoen en er een ledstrip op plaatsen, en een RFID-geactiveerd licht hebben. U kunt dezelfde ideeën gebruiken om gegevens zoals een wifi-wachtwoord op een klein scherm weer te geven wanneer een kaart of sleutelhanger met toegang tegen de lezer wordt gehouden.
Heb je thuis RFID gebruikt in je set-ups? Laat het ons weten over uw projecten in de opmerkingen hieronder!
Beeldcredits: Annmarie Young via Shutterstock.com
Ian Buckley is freelance journalist, muzikant, artiest en videoproducent en woont in Berlijn, Duitsland. Als hij niet schrijft of op het podium staat, sleutelt hij aan doe-het-elektronica of code in de hoop een gekke wetenschapper te worden.