Annons
Du går upp till ett osynligt lås som bara du har nyckeln till och öppnar den utan att ens röra vid den. Låter coolt? Idag kommer vi att bygga ett enkelt RFID-baserat smartlås med en Arduino som ryggraden och några få billiga komponenter.
Tekniken bakom detta projekt används redan i många branscher. Den som har arbetat på ett modernt kontor eller använt kollektivtrafik kommer förmodligen ha använt det varje dag. RFID (radiofrekvensidentifiering) identifierar data lagrade på ett chip i ett kort eller dongel och jämför dem med en lista med taggar som redan har skannats.
Vi kommer att bygga en testkrets för att kontrollera åtkomst med hjälp av en Mifare MFRC522 läsarmodul för att öppna och stänga ett lås. Vi använder ett huvudnyckelkort för att lägga till eller ta bort åtkomst till olika taggar och skapa en enkel LED-avläsning för att berätta vad som händer i systemet.
Slutligen kommer vi att lägga till en magnetventil för att fungera som låset och en MOSFET för att säkert utlösa den på och av med vår Arduino.
MFRC522-läsaren kan läsa och skriva data till RC522-chips och lagra dessa data i Arduinos EEPROM Hur man använder Arduino EEPROM för att spara data mellan strömcyklerVisste du att Arduino kan lagra data när den är avstängd? Jag pratar om EEPROM, så gå med mig när jag visar hur du läser och skriver till den. Läs mer . Detta skulle vara ett bra komplement till alla DIY-inställningar, och är särskilt relevant för alla grundläggande hemsäkerhetssystem. Det kan användas tillsammans DIY larmsystem Hur man skapar ett enkelt Arduino-larmsystemUpptäck rörelse och skräm sedan bort pjäsen från en inkräktare med höga larmljud och blinkande lampor. Låter det roligt? Naturligtvis gör det det. Det är målet med dagens Arduino-projekt, lämplig ... Läs mer eller DIY övervakningskamera DIY Pan and Tilt Network Security Cam med Raspberry PiLär dig hur du gör fjärrbeläggbar panorering och lutande säkerhetskamera med en Raspberry Pi. Detta projekt kan slutföras på morgonen med bara de enklaste delarna. Läs mer system.
Du kommer behöva
- Arduino. Vi har dock använt en Uno valfri Arduino-styrelse Arduino Buying Guide: Vilket styrelse ska du få?Det finns så många olika typer av Arduino-brädor där ute, du skulle bli förlåten för att du är förvirrad. Vilket ska du köpa för ditt projekt? Låt oss hjälpa till med denna Arduino-köpguide! Läs mer eller klon räcker.
- 3 x 220 ohm-motstånd
- 1 x 10k ohm-motstånd
- N-kanal Mosfet på logiknivå
- MFRC522-modul med minst två kort / fobs att läsa. De flesta kommer med en av var och en och kan köpas för mindre än $ 2, men du har antagligen redan en i din plånbok i form av ett kollektivt resekort.
- Röda, blå och gröna lysdioder
- 12v magnetventil ($2)
- 12V strömförsörjning
- Breadboard och koppla upp ledningar
MFRC522-modulen
Stjärnan i denna installation är en billig MFRC522-modul, som levererades med både ett kort och en fob som innehåller en s50 chip, var och en som lagrar sitt eget unika permanenta identifikationsnummer (UID). Dessa är båda funktionellt identiska, bara i en annan form.
Börja med att söka efter MFRC522 bibliotek i bibliotekshanteraren för din Arduino IDE och installera den. Alternativt kan du ladda ner biblioteket och installera den manuellt i mappen bibliotek. Om du är helt ny i Arduino kanske du hittar detta primer för att komma igång Komma igång med Arduino: En nybörjarguideArduino är en open-source elektronikprototypplattform baserad på flexibel, lättanvänd hårdvara och mjukvara. Den är avsedd för konstnärer, designers, hobbyister och alla som är intresserade av att skapa interaktiva objekt eller miljöer. Läs mer användbar!
Biblioteket innehåller också ett Fritzing-diagram, som jag har kommenterat för att ange hur du ska fästa modulen till din Arduino.
Var försiktig: det här kortet fungerar på 3.3V, inte 5V, så se till att ansluta det till rätt stift.
För att testa installationen, öppna DumpInfo skiss från Fil> Exempel> MFRC522> DumpInfo och ladda upp det till ditt Arduino-kort. Öppna seriemonitorn och håll ett av dina RFID-objekt upp till läsaren. Du borde se något liknande:
Om du får fel i läsningen av ordet MIFARE_Read () misslyckades: Timeout i kommunikation
, eller PCD_Authenticate () misslyckades: Timeout i kommunikation
, oroa dig inte. Det betyder sannolikt att du inte höll taggen upp till läsaren så länge att du kan läsa all information. Så länge du får kortets UID (som läses så snart taggen är inom läsarens räckvidd) fungerar det med detta projekt. Om du inte läser alls, kontrollera dina ledningar och försök igen.
Resten av kretsen
Nu när vi har verifierat att vår modul fungerar, kan vi lägga till resten av komponenterna. Anslut dina komponenter så här:
- Vår 12V-strömförsörjning (kopplad ur för tillfället) ansluter till skenorna på vår brädskiva. Anslut Arduino GND-stiftet och MFRC522 GND-stiftet till jordskenan.
- Lysdioderna är anslutna till stift 2, 3 och 4 och till jordskenan genom 220 ohm-motstånd.
- Vår MOSFETs grindben (vänster på bilden) ansluts till stift 5 och till mark genom ett 10k ohm-motstånd. Dräneringsbenet (mitten) ansluts till den negativa terminalen på vår 12v magnetventil, och källbenet (höger) ansluts till markskenan.
- Anslut den positiva terminalen på 12v solenoid och VIN på Arduino till 12v skenan på brädet.
Med denna inställning, när vi skickar en HÖG-signal från Arduino till MOSFET, kommer den att låta strömmen passera till solenoid. Det finns inget som hindrar dig från att använda en högre strömförsörjning eller kraftigare magnetventil, även om du behöver en avstängningstransformator för att driva Arduino från högre än 12V. Var också noga med på databladet för din MOSFET för att se till att du inte skulle överbelasta det.
När det väl är sammansatt ska det se ut så här:
Det är inte nödvändigt, men jag skapade en liten rigg för att simulera ett dörrlås från skrot.
Ändra skiss
När kretsen är inbyggd är det dags att ställa in vår Arduino Sketch. Bekvämt kommer MFRC522-biblioteket med en exempelskiss som heter Åtkomstkontroll det gör nästan exakt vad vi vill göra. Anslut din Arduino till din dator och öppna Fil> Exempel> MFRC522> AccessControl i Arduino IDE.
Det finns en mängd information som finns både i exemplet och på GitHub-sida för biblioteket. Vi behöver bara ändra några få rader. Alternativt kan du ladda ner vår modifierade kod från den här GitHub Gist.
Först designades skissen för en krets med en enda RGB-LED med en vanlig anod. Vi kommer inte att använda det, så kommentera det här avsnittet.
// # definier COMMON_ANODE
Anpassa nu våra LED-stift till de som definieras i skissen.
#define redLed 3 // Set Led Pins. #define greenLed 4. #define blueLed 2
Vi måste ändra relästiftet (även om vi använder en MOSFET i detta fall) för att matcha vår installation.
#definiera relä 5 // Ställ in MOSFET-stift
För att göra det lättare att ändra hur länge låset förblir öppet senare kommer vi att skapa en variabel för det.
int lockDelay = 10000; // låset förblir öppet i 10 sekunder.
Vi behöver bara göra ytterligare en förändring. Höger längst ner på slinga metod, begravd i ett if-uttalande är metodsamtalet beviljas (300). Vi måste ändra detta så att det använder vårt lockDelay variabel.
beviljas (lockDelay); // Öppna dörrlåset under lockDelay-varaktighet
Spara skissen under ett nytt namn och ladda upp den till din Arduino. När den är klar öppnar du serielmonitorn. Första gången du gör detta kommer den att be dig att skanna något för att använda som ditt masterkort. Håll ditt kort upp till läsaren och kortets UID ska visas på seriemonitorn tillsammans med meddelandet Allt klart
Det är allt! Din huvudnyckel är klar. Koppla ur Arduino-kortet från datorn. Din huvudnyckeldetaljer kommer att sparas i Arduino's EEPROM, även efter att strömmen är avstängd.
Testa fullständig installation
Ta en sista snabbblick över dina ledningar för att kontrollera att allt är på plats och anslut din 12V strömförsörjning. Vid denna tidpunkt är det värt att nämna att du bör vara försiktig med din solenoid. Den billiga magnetventilen som jag använder för det här testet har inte en 100-procentig arbetscykel, därför bör den inte lämnas i den låsta positionen under lång tid. För att göra detta till en permanent inställning, använd en 100 procent solenoid på arbetscykeln. Ännu bättre skulle det vara en normalt stängd (NC) magnetventil, som förblir låst när den inte drivs. Detta innebär också att den som vill kringgå systemet inte helt enkelt kan koppla bort det!
När kretsen är påslagen bör den blå lysdioden tända för att visa att enheten är i drift. Om du håller huvudkortet över läsaren sätter det i adminläge bör alla tre lysdioder blinka. Medan de blinkar kan du hålla andra kort eller skott över läsaren för att lägga till eller ta bort åtkomsträttigheter. Det blinkar grönt för att ge åtkomst och blått för att ta bort. Använd huvudkortet igen för att lämna adminläget.
När du håller i ett kort eller en fob med åtkomst till läsaren ska det blinka grönt och öppna låset. Om det blinkar rött har åtkomst nekats!
Helt klar!
Det här projektet är en enkel start med att använda RFID-enheter i din DIY-installation, men det är inte den säkraste installationen. Vi föreslår inte att juryn rigger detta till din ytterdörr.
Du kan bygga hela mekanismen i en låda och använda magnetventilen för att låsa den. Fyll rutan med kakor och använd din huvudnyckel för att bestämma vem som har åtkomst och vem som inte har det. Bli kakmästaren!
Du kan undanröja magnetventilen helt och ansluta en LED-remsa på sin plats och ha ett RFID-aktiverat ljus. Du kan använda samma idéer för att visa data som ett Wi-Fi-lösenord på en liten skärm när ett kort eller fob med åtkomst hålls upp till läsaren.
Har du använt RFID i dina inställningar hemma? Låt oss veta om dina projekt i kommentaravsnittet nedan!
Bildkredit: Annmarie Young via Shutterstock.com
Ian Buckley är frilansjournalist, musiker, artist och videoproducent bosatt i Berlin, Tyskland. När han inte skriver eller på scenen tänker han på DIY-elektronik eller kod i hopp om att bli en gal forskare.