DIY Smart Lock med Arduino og RFID

  • Brian Curtis
  • 0
  • 1172
  • 57
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, har sandsynligvis 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 til 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 solenoid til at fungere som låsen og en MOSFET til sikkert at udløse og slukke den ved hjælp af vores Arduino.

MFRC522-læser kan læse og skrive data til RC522-chips og gemme disse data i Arduino's EEPROM Sådan bruges Arduino EEPROM til at gemme data mellem strømcykler Sådan bruges Arduino EEPROM til at gemme data mellem strømcykler Vidste du, at Arduino kan gemme data når det er slukket? Jeg taler om EEPROM, så vær med, da jeg viser dig, hvordan du læser og skriver til den. . 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 med DIY-alarmsystemer Sådan laves et simpelt Arduino-alarmsystem Sådan laves et simpelt Arduino-alarmsystem Registrer bevægelse, og skræm derefter pokker ud af en ubuden gæst med en højlydt alarmlyd og blinkende lys. Lyder det sjovt? Selvfølgelig gør det det. Det er målet med dagens Arduino-projekt, passende… eller DIY-sikkerhedskamera DIY-panorering og tiltnetværkets sikkerhedskamera med Raspberry Pi DIY-pan og Tilt Network Security Cam med Raspberry Pi Lær hvordan man kan lave eksternt synlig panorering og vippe sikkerhedskamera med en Raspberry Pi. Dette projekt kan afsluttes om morgenen med kun de enkleste dele. systemer.

Du får brug for

  • Arduino. Vi har brugt en Uno, selvom enhver Arduino-kort Arduino-købsguide: Hvilket bord skal du få? 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! eller klon vil være tilstrækkelig.
  • 3 x 220 ohm-modstande
  • 1 x 10k ohm-modstand
  • N-kanal Mosfet på logisk niveau
  • MFRC522 modul med mindst to kort / fobs at læse. De fleste leveres med en af ​​hver og kan købes for 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 dette setup er et billigt MFRC522-modul, der leveres 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 downloade biblioteket og installere det manuelt i biblioteksmappen. Hvis du er helt ny med Arduino, kan du muligvis finde denne primer til at komme i gang Kom godt i gang med Arduino: En begynderguide Kom godt i gang med Arduino: En begynderguide Arduino er en open source elektronik-prototypeplatform baseret på fleksibel, let at bruge hardware og software. Det er beregnet til kunstnere, designere, hobbyister og enhver der er interesseret i at skabe interaktive objekter eller miljøer. nyttig!

Biblioteket indeholder også et Fritzing-diagram, som jeg har kommenteret for at indikere, hvordan modulet skal knyttes til din Arduino.

Billedkredit: Miguel Balboa via Github

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, bare rolig. 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.
  • LED'erne er forbundet til ben 2, 3 og 4 og til jordskinnen gennem 220 ohm modstande.
  • Vores MOSFETs gate ben (til venstre på billedet) forbindes til pin 5 og til jorden gennem en 10k ohm modstand. Dreneringsbenet (midten) forbindes til den negative klemme på vores 12V solenoid, og kildebenet (højre) forbindes til jordskinnen.
  • Forbind den positive terminal på 12v solenoid og VIN på Arduino til 12v skinnen på brødbrættet.

Hver gang vi sender et HØJ signal fra Arduino til MOSFET, vil det med denne opsætning tillade strømmen at gå 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 kommer 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 findes et væld af informationer både i eksemplet og på GitHub-siden til biblioteket. Vi behøver kun at ændre et par linjer. Alternativt kan du downloade vores ændrede kode fra denne 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å skitsen.

#define redLed 3 // Set Led Pins #define greenLed 4 #define 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 løkke metode, begravet i en if-erklæring, er metoden opkald ydet (300). Vi er nødt til at ændre dette, så det bruger vores lockDelay variabel.

bevilget (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 sin låste position i lange perioder. For at gøre dette til en permanent opsætning skal du bruge en 100 procent solenoid på en cyklus. 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 administatortilstand, 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 blinker 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 adgang 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 det. Bliv cookie master!

Du kan fjerne magneten helt og tilslutte en LED-strimmel på 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




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.