Annonse

Du går opp til en usynlig lås som bare du har nøkkelen til, og åpner den uten å berøre den. Høres kult ut? I dag skal vi bygge en enkel RFID-basert smartlås ved hjelp av en Arduino som ryggraden og noen få billige komponenter.

Teknologien bak dette prosjektet er allerede brukt i mange bransjer. Alle som har jobbet på et moderne kontor eller brukt offentlig transport, vil sannsynligvis ha brukt det hver dag. RFID (radiofrekvensidentifikasjon) identifiserer data som er lagret på en brikke i et kort eller en dongle, og sammenligner dem med en liste over tagger som allerede er skannet.

Vi vil bygge en testkrets for å kontrollere tilgangen ved hjelp av en Mifare MFRC522 lesermodul, for å åpne og lukke en lås. Vi bruker et hovednøkkelkort for å legge til eller fjerne tilgang til forskjellige tagger, og lage en enkel LED-avlesning for å fortelle oss hva som skjer i systemet.

Til slutt vil vi legge til en magnetventil som kan fungere som låsen, og en MOSFET for å trykke den av og på ved hjelp av vår Arduino.

MFRC522-leseren kan lese og skrive data til RC522-brikker, og lagre disse dataene i Arduinos EEPROM Slik bruker du Arduino EEPROM for å lagre data mellom kraftsykluserVisste du at Arduino kan lagre data når de er slått av? Jeg snakker om EEPROM, så bli med meg når jeg viser deg hvordan du kan lese og skrive til den. Les mer . Dette vil være et flott tillegg til ethvert DIY-oppsett, og er spesielt relevant for ethvert grunnleggende hjemmesikkerhetssystem. Det kan brukes sammen DIY alarmsystemer Hvordan lage et enkelt Arduino alarmsystemRegistrer bevegelse, og skrem deretter pokker ut av en inntrenger med høye alarmlyder og blinkende lys. Høres det morsomt ut? Selvfølgelig gjør den det. Det er målet med dagens Arduino-prosjekt, passende ... Les mer eller DIY Sikkerhetskamera DIY Pan and Tilt Network Security Cam med Raspberry PiLær hvordan du kan lage eksternt synlig panne og vippe sikkerhetskamera med en Raspberry Pi. Dette prosjektet kan fullføres om morgenen med bare de enkleste delene. Les mer systemer.

Du vil trenge

  • Arduino. Vi har imidlertid brukt en Uno ethvert Arduino-styre Arduino kjøpeguide: Hvilket brett bør du få?Det er så mange forskjellige typer Arduino-brett der ute, du vil bli tilgitt for å bli forvirret. Hvilket bør du kjøpe for prosjektet ditt? La oss hjelpe med denne Arduino-kjøpsguiden! Les mer eller klon vil være nok.
  • 3 x 220 ohm motstander
  • 1 x 10k ohm-motstand
  • N-kanal Mosfet på logisk nivå
  • MFRC522-modul med minst to kort / fobs å lese. De fleste kommer med en av hver, og kan kjøpes for mindre enn $ 2, men du har sannsynligvis allerede en i lommeboka i form av et offentlig reisekort.
  • Røde, blå og grønne lysdioder
  • 12v magnetventil ($2)
  • 12v strømforsyning
  • Breadboard og hekte ledninger

MFRC522-modulen

Stjernen i dette oppsettet er en billig MFRC522-modul, som fulgte med både et kort og en fob som inneholder en S50 brikke, som lagrer hvert sitt unike permanente identifikasjonsnummer (UID). Disse er begge funksjonelt identiske, bare i en annen form.

modul og kort

Begynn med å søke etter MFRC522 bibliotek i biblioteksjefen for Arduino IDE, og installer den. Alternativt kan du last ned biblioteket og installer den manuelt i bibliotekmappen. Hvis du er helt ny på Arduino, kan du finne dette grunning for å komme i gang Komme i gang med Arduino: En nybegynnerguideArduino er en åpen kildekode-prototypeplattform for elektronikk basert på fleksibel, brukervennlig maskinvare og programvare. Den er beregnet på kunstnere, designere, hobbyister og alle som er interessert i å lage interaktive objekter eller miljøer. Les mer nyttig!

Biblioteket inneholder også et Fritzing-diagram, som jeg har merket som indikerer hvordan du skal knytte modulen til din Arduino.

arduino rfid pinout ledninger
Bildekreditt: Miguel Balboa via Github

Vær forsiktig: dette brettet fungerer på 3.3V, ikke 5V, så pass på å koble det til riktig pinne.

For å teste oppsettet, åpne DumpInfo skisse fra Fil> Eksempler> MFRC522> DumpInfo og last det opp til Arduino-brettet. Åpne seriemonitoren, og hold et av RFID-objektene dine opp til leseren. Du bør se noe slikt:

dump info seriell avlesning

Hvis du får feil i det å lese ordtaket MIFARE_Read () mislyktes: Timeout i kommunikasjon, eller PCD_Authenticate () mislyktes: Timeout i kommunikasjon, ikke bekymre deg. Det betyr sannsynligvis at du ikke holdt taggen opp til leseren lenge nok til å lese alle dataene. Så lenge du får kortet UID (som leses så snart taggen er innenfor rekkevidden til leseren), vil den fungere med dette prosjektet. Hvis du ikke leser i det hele tatt, sjekk ledningene og prøv igjen.

Resten av kretsen

Nå som vi har bekreftet at modulen vår fungerer, kan vi legge til resten av komponentene. Koble til komponentene dine slik:

full oppsett krets fritzing
  • 12V strømforsyningen vår (koblet til nå) kobles til skinnene på brødplaten vår. Koble Arduino GND-pinnen og MFRC522 GND-pinnen til jordskinnen.
  • LED-ene er koblet til pinner 2, 3 og 4 og til jordskinnen gjennom 220 ohm-motstander.
  • MOSFETs gate ben (til venstre på bildet) kobles til pinne 5 og til å jordes gjennom en 10k ohm-motstand. Avløpsbenet (midten) kobles til den negative terminalen på 12v magnetventilen vår, og kildebeinet (til høyre) kobles til bakkeskinnen.
  • Koble den positive terminalen til 12v solenoid, og VIN på Arduino til 12v skinnen på brettet.

Med dette oppsettet vil det, når vi sender et HØY-signal fra Arduino til MOSFET, tillate strømmen å passere til solenoiden. Det er ingenting som hindrer deg i å bruke en kraftigere eller mer kraftig magnetventil, selv om du trenger en nedtrappings-transformator for å drive Arduino fra mer enn 12V. Vær også nøye med på databladet for MOSFET for å forsikre deg om at du ikke overbelaster det.

Når alt er satt sammen skal det se slik ut:

kretsoppsett

Selv om det ikke er nødvendig, opprettet jeg en liten rigg for å simulere en dørlås fra skrot.

Endre skissen

Når kretsen er bygget, er det på tide å sette opp Arduino Sketch. MFRC522-biblioteket kommer praktisk med en eksempelskisse som heter Adgangskontroll det gjør nesten nøyaktig det vi vil gjøre. Koble Arduino til datamaskinen din, og åpne Fil> Eksempler> MFRC522> AccessControl i Arduino IDE.

Det finnes et vell av informasjon både i eksempelskissen og på GitHub-side for biblioteket. Vi trenger bare å endre noen få linjer. Alternativt kan du laste ned den endrede koden fra denne GitHub Gist.

For det første ble skissen designet for en krets med en enkelt RGB LED ved bruk av en vanlig anode. Vi bruker ikke det, så bare kommenter denne delen.

// # definere COMMON_ANODE

Match nå LED-pinnene våre til de som er definert i skissen.

#definere redLed 3 // Sett Led Pins. #definere greenLed 4. #definere blueLed 2

Vi må endre stafettpinnen (selv om vi bruker en MOSFET i dette tilfellet) for å matche oppsettet vårt.

#definere relé 5 // Sett MOSFET-pinne

For å gjøre det lettere å endre hvor lenge låsen holder seg åpen senere, vil vi lage en variabel for den.

int lockDelay = 10000; // låsen holder seg åpen i 10 sekunder. 

Vi trenger bare å gjøre en endring til. Rett i bunnen av Løkke metode, begravet i en if-uttalelse, er metodeanropet gitt (300). Vi må endre dette slik at det bruker vårt lockDelay variabel.

gitt (lockDelay); // Åpne dørlåsen i låsens varighet

Lagre skissen under et nytt navn, og last den opp til din Arduino. Når den er ferdig, åpner du seriemonitoren. Første gang du gjør dette, vil den be deg om å skanne noe du kan bruke som ditt hovedkort. Hold kortet opp til leseren, og kortets UID skal vises på seriemonitoren sammen med meldingen Alt klart

Det er det! Hovednøkkelen er klar. Koble Arduino-kortet fra datamaskinen. Detaljer om hovednøkkelen vil bli lagret i Arduino's EEPROM, selv etter at strømmen er slått av.

Testing av fullstendig oppsett

Ta en rask titt på ledningene for å sjekke at alt er på plass, og koble til 12V strømforsyningen. På dette tidspunktet er det verdt å nevne at du bør være på vakt mot plussyklusen til magnetventilen din. Den billige magnetventilen jeg bruker til denne testen har ikke 100 prosent brukssyklus, og den bør derfor ikke ligge i den låste posisjonen over lengre tid. For å gjøre dette til et permanent oppsett, bruk en solenoid på 100 prosent syklus. Enda bedre ville være en normalt lukket (NC) magnetventil, som forblir låst når den ikke er på. Dette betyr også at alle som ønsker å omgå systemet ikke bare kan koble fra det!

Når kretsen er slått på, skal den blå LED-lampen lyse for å vise at enheten er i drift. Hvis du holder hovedkortet over leseren og setter det i admin-modus, bør alle tre LED-lampene blinke. Mens de blinker, kan du holde andre kort eller lemme over leseren for å legge til eller fjerne tilgangsrettigheter. Den vil blinke grønt for å gi tilgang, og blått for å ta bort. Bruk hovedkortet igjen for å gå ut av admin-modus.

Når du nå holder et kort eller en fob med tilgang opp til leseren, skal den blinke grønt og åpne låsen. Hvis det blinker rødt, har tilgang blitt nektet!

rfid arduino åpen lås

Ferdig!

Selv om dette prosjektet er en enkel start med å bruke RFID-enheter i DIY-oppsettet ditt, er det ikke det mest sikre oppsettet. Vi foreslår ikke at juryer rigger dette til inngangsdøren din.

Du kan bygge hele mekanismen i en boks og bruke magnetventilen til å låse den. Fyll boksen med informasjonskapsler, og bruk hovednøkkelen til å bestemme hvem som har tilgang og hvem som ikke har det. Bli kakemesteren!

Du kan fjerne magneten helt og feste en LED-stripe der, og ha et RFID-aktivert lys. Du kan bruke de samme ideene til å vise data som et Wi-Fi-passord på en liten skjerm når et kort eller en fob med tilgang holdes opp til leseren.

Har du brukt RFID i dine oppsett hjemme? Gi oss beskjed om prosjektene dine i kommentarfeltet nedenfor!

Bildekreditt: Annmarie Young via Shutterstock.com

Ian Buckley er frilansjournalist, musiker, utøver og videoprodusent bosatt i Berlin, Tyskland. Når han ikke skriver eller på scenen, tisser han med DIY-elektronikk eller kode i håp om å bli en gal forsker.