Reklame
Du går op til en usynlig lås, som kun du har nøglen til, og åbner den uden selv at røre ved den. Lyder fedt? I dag skal vi bygge en simpel RFID-baseret smart lock ved hjælp af en Arduino som rygraden og et par billige komponenter.
Teknologien bag dette projekt bruges allerede i mange brancher. Enhver, der har arbejdet på et moderne kontor eller brugt offentlig transport, vil sandsynligvis have brugt det hver dag. RFID (radiofrekvensidentifikation) identificerer data, der er gemt på en chip på et kort eller en dongle, og sammenligner dem med en liste over tags, der allerede er scannet.
Vi vil opbygge et testkredsløb for at kontrollere adgangen ved hjælp af et Mifare MFRC522 læselemodul, for at åbne og lukke en lås. Vi bruger et hovedtastaturkort til at tilføje eller fjerne adgang til forskellige tags og oprette en enkel LED-aflæsning for at fortælle os, hvad der sker i systemet.
Endelig vil vi tilføje en magnetventil, der fungerer som låsen, og en MOSFET til sikkert at udløse og slukke den ved hjælp af vores Arduino.
MFRC522-læseren kan læse og skrive data til RC522-chips og gemme disse data i Arduinos EEPROM Sådan bruges Arduino EEPROM til at gemme data mellem strømcyklerVidste du, at Arduino kan gemme data, når de er slukket? Jeg taler om EEPROM, så vær med, da jeg viser dig, hvordan du læser og skriver til den. Læs mere . Dette ville være en god tilføjelse til enhver DIY-konfiguration og er især relevant for ethvert grundlæggende sikkerhedssystem til hjemmet. Det kunne bruges sammen DIY alarmsystemer Sådan fremstilles et simpelt Arduino alarmsystemRegistrer bevægelse, og skræm derefter pokker ud af en ubuden gæst med en høj tonehøjde og blinkende lys. Lyder det sjovt? Selvfølgelig gør det det. Det er målet med dagens Arduino-projekt, passende ... Læs mere eller DIY overvågningskamera DIY Pan and Tilt Network Security Cam med Raspberry PiLær, hvordan du laver eksternt synlig panoramavip og vip sikkerhedskamera med en Raspberry Pi. Dette projekt kan afsluttes om morgenen med kun den enkleste del. Læs mere systemer.
Du får brug for
- Arduino. Vi har dog brugt en Uno ethvert Arduino-bord Arduino Købsvejledning: Hvilket bord skal du få?Der er så mange forskellige slags Arduino-tavler derude, du vil blive tilgitt for at blive forvirret. Hvilket skal du købe til dit projekt? Lad os hjælpe med denne Arduino-købsguide! Læs mere eller klon vil være tilstrækkelig.
- 3 x 220 ohm-modstande
- 1 x 10k ohm-modstand
- N-kanal på logisk niveau Mosfet
- MFRC522 modul med mindst to kort / fobs at læse. De fleste leveres med en af hver og kan købes til mindre end $ 2, men du har sandsynligvis allerede en i din tegnebog i form af et offentlig rejsekort.
- Røde, blå og grønne LED'er
- 12V magnetventil ($2)
- 12V strømforsyning
- Breadboard og tilslut ledninger
MFRC522-modulet
Stjernen i denne opsætning er et billigt MFRC522-modul, der fulgte med både et kort og en fob indeholdende en s50 chip, der hver gemmer sit eget unikke permanente identifikationsnummer (UID). Disse er begge funktionelt identiske, bare i en anden form.

Begynd med at søge efter MFRC522 bibliotek i biblioteksadministratoren for din Arduino IDE, og installer den. Alternativt kan du download biblioteket og installer det manuelt i biblioteksmappen. Hvis du er helt ny med Arduino, kan du muligvis finde dette primer til at komme i gang Kom godt i gang med Arduino: En begynderguideArduino er en open source-elektronikprototypeplatform baseret på fleksibel, letanvendelig hardware og software. Det er beregnet til kunstnere, designere, hobbyister og enhver, der er interesseret i at skabe interaktive objekter eller miljøer. Læs mere nyttig!
Biblioteket indeholder også et Fritzing-diagram, som jeg har kommenteret for at indikere, hvordan modulet skal knyttes til din Arduino.

Vær forsigtig: dette bord fungerer på 3,3V, ikke 5V, så sørg for at tilslutte det til den rigtige pin.
For at teste opsætningen skal du åbne DumpInfo skitse fra Fil> Eksempler> MFRC522> DumpInfo og upload det til dit Arduino-bord. Åbn den serielle skærm, og hold et af dine RFID-objekter op til læseren. Du skulle se noget lignende:

Hvis du får fejl i udlæst ordsprog MIFARE_Read () mislykkedes: Timeout i kommunikation
, eller PCD_Authenticate () mislykkedes: Timeout i kommunikation
, rolig ikke. Det betyder sandsynligvis, at du ikke har tagget op til læseren længe nok til at læse alle dataene. Så længe du får kortets UID (som læses, så snart mærket er inden for rækkevidden af læseren), fungerer det med dette projekt. Hvis du overhovedet ikke læser, skal du kontrollere ledningsføringen og prøve igen.
Resten af kredsløbet
Nu hvor vi har verificeret, at vores modul fungerer, kan vi tilføje resten af komponenterne. Tilslut dine komponenter sådan:

- Vores 12V strømforsyning (ikke tilsluttet i øjeblikket) sluttes til skinnerne på vores brødbræt. Forbind Arduino GND-stiften og MFRC522 GND-stiften til jordskinnen.
- Lysdioderne er forbundet til ben 2, 3 og 4 og til jordskinnen gennem 220 ohm modstande.
- Vores MOSFETs gate ben (venstre på billedet) forbindes til pin 5 og til jorden gennem en 10k ohm modstand. Dreneringsbenet (midten) forbindes til den negative terminal på vores 12v magnetventil, og kildebenet (til højre) forbindes til jordskinnen.
- Forbind den positive terminal på 12v solenoid og VIN på Arduino til 12v skinnen på brødbrættet.
Med denne opsætning, hver gang vi sender et HØJ signal fra Arduino til MOSFET, vil det tillade strømmen at passere til solenoid. Der er intet, der forhindrer dig i at bruge en højere-drevet eller mere kraftig solenoide, skønt du har brug for en stepdown-transformer til at drive Arduino fra højere end 12V. Vær også opmærksom på databladet til din MOSFET for at sikre dig, at du ikke overbelaster det.
Når det hele er samlet, skal det se sådan ud:

Selvom det ikke er nødvendigt, skabte jeg en lille rig til at simulere en dørlås fra skrottræ.
Ændring af skitsen
Med kredsløbet bygget, er det tid til at opsætte vores Arduino Sketch. MFRC522-biblioteket leveres bekvemt med en eksempelskitse, der kaldes Adgangskontrol det gør næsten nøjagtigt, hvad vi vil gøre. Tilslut din Arduino til din computer, og åbn Fil> Eksempler> MFRC522> AccessControl i Arduino IDE.
Der er et væld af informationer, der findes både i eksempleskitsen og på GitHub-side til biblioteket. Vi behøver kun at ændre et par linjer. Alternativt kan du downloade vores ændrede kode herfra GitHub Gist.
For det første blev skitsen designet til et kredsløb med en enkelt RGB LED ved hjælp af en fælles anode. Vi bruger ikke det, så kommenter blot dette afsnit.
// # definér COMMON_ANODE
Tilpas nu vores LED-stifter til dem, der er defineret på tegningen.
#definer redLed 3 // Set Led Pins. #definer greenLed 4. #definer blueLed 2
Vi er nødt til at ændre relæstiften (selvom vi bruger en MOSFET i dette tilfælde) for at matche vores opsætning.
#definér relæ 5 // Indstil MOSFET-pin
For at gøre det lettere at ændre, hvor længe låsen forbliver åben senere, opretter vi en variabel til den.
int lockDelay = 10000; // lås forbliver åben i 10 sekunder.
Vi behøver kun at foretage en ændring mere. Lige i bunden af loop metode, begravet i en if-erklæring, er metodekaldet ydet (300). Vi er nødt til at ændre dette, så det bruger vores lockDelay variabel.
indrømmet (lockDelay); // Åbn dørlåsen i lockDelay-varighed
Gem skitsen under et nyt navn, og upload den til din Arduino. Åbn den serielle skærm, når den er færdig. Første gang du gør dette, vil det bede dig om at scanne noget, der skal bruges som dit hovedkort. Hold dit kort op til læseren, og kortets UID skal vises på den serielle skærm sammen med meddelelsen Alt klar
Det er det! Din hovednøgle er alt sammen konfigureret. Frakobl Arduino-kortet fra computeren. Din hovednøgledetaljer gemmes i Arduino's EEPROM, selv efter at strømmen er slukket.
Test af den komplette opsætning
Kig et sidste hurtigt kig på dine ledninger for at kontrollere, at alt er på plads, og tilslut din 12V strømforsyning. På dette tidspunkt er det værd at nævne, at du skal være på vagt over for din solenoid. Den billige magnetventil, jeg bruger til denne test, har ikke en 100 procents driftscyklus, og den bør derfor ikke efterlades i den låste position i lange perioder. For at gøre dette til en permanent opsætning skal du bruge en solenoid på 100 procents driftscyklus. Endnu bedre ville være en normalt lukket (NC) magnetventil, som forbliver låst, når den ikke er tilsluttet strøm. Dette betyder også, at enhver, der ønsker at omgå systemet, ikke blot kan frakoble det!
Når kredsløbet er tændt, lyser den blå LED for at vise, at enheden er i drift. Hvis du holder hovedkortet over læseren, placeres det i administortilstand, bør alle tre lysdioder blinke. Mens de blinker, kan du holde andre kort eller fobs over læseren for at tilføje eller fjerne adgangsrettigheder. Det vil blinke grønt for at give adgang og blåt for at tage væk. Brug hovedkortet igen til at forlade admin-tilstand.
Når du nu holder et kort eller en fob med adgang op til læseren, skal den blinke grønt og åbne låsen. Hvis det blinker rødt, er adgangen nægtet!

Helt færdig!
Selvom dette projekt er en simpel start med at bruge RFID-enheder i dit DIY-opsætning, er det ikke den mest sikre opsætning. Vi foreslår ikke, at juryen rigger dette til din hoveddør.
Du kan opbygge hele mekanismen i en kasse og bruge magnetventilen til at låse den. Fyld kassen med cookies, og brug din hovednøgle til at bestemme, hvem der har adgang, og hvem der ikke har. Bliv cookie master!
Du kan fjerne solenoid helt og tilslutte en LED-strimmel i dets sted og have et RFID-aktiveret lys. Du kan bruge de samme ideer til at vise data som en Wi-Fi-adgangskode til en lille skærm, når et kort eller en fob med adgang holdes op til læseren.
Har du brugt RFID i dine opsætninger derhjemme? Fortæl os om dine projekter i kommentarfeltet nedenfor!
Billedkredit: Annmarie Young via Shutterstock.com
Ian Buckley er freelance journalist, musiker, kunstner og videoproducent bosiddende i Berlin, Tyskland. Når han ikke skriver eller er på scenen, tænker han med DIY-elektronik eller kode i håbet om at blive en gal videnskabsmand.