Arduino RFID Lock Tutorial: 6 trin (med billeder)

Arduino RFID Lock Tutorial: 6 trin (med billeder)

Indholdsfortegnelse:

Anonim

Kære venner velkommen til en anden instruktion. Dette er Nick fra educ8s.tv, og i dag skal vi lære at bruge denne RFID Reader med Arduino for at opbygge et enkelt låsesystem.

For første gang vil vi bruge RFID-tags med Arduino. Jeg har opbygget et simpelt projekt, der læser det unikke ID (UID) for hvert RFID-mærke, vi placerer tæt på læseren og viser det på denne OLED-skærm. Hvis UID'et af mærket er lig med en foruddefineret værdi, der er gemt i Arduino's hukommelse, så vil vi i displayet se meddelelsen "Unlocked". Hvis kortets Unikke ID ikke svarer til den foruddefinerede værdi, vises meddelelsen Lås ikke op. Cool er det ikke?

Der er meget at dække, så lad os komme i gang!

forsyninger:

Trin 1: Få alle de dele

De nødvendige dele til at bygge dette projekt er disse:

  • En Arduino Uno ▶
  • En RFID-læser ▶
  • OLED-skærm ▶
  • Et lille brødbræt ▶
  • Nogle ledninger ▶

Valgfrie dele:

  • Powerbank ▶

De samlede omkostninger ved projektet er omkring $ 15.

Trin 2: RC522 RFID Reader

Hvert RFID-tag har en lille chip inde. Hvis jeg sætter en lommelygte under dette RFID-kort, kan du se den lille chip og den spole, der omgiver den. Denne chip har ikke et batteri for at få strøm. Den modtager strøm fra læseren, denne enhed, trådløst ved hjælp af denne store spole. Læseren kan læse et RFID-kort som denne fra en afstand på op til 20 mm!

Den samme chip findes også i nøglering RFID tags.

Hvert RFID-tag har et unikt nummer, der identificerer det. Det er den UID, som vi viser på OLED-skærmen. Bortset fra denne UID kan hvert tag gemme data. I denne type kort kan vi lagre op til 1K data! Imponerende er det ikke? Vi vil ikke bruge denne funktionalitet i dag, men vil gøre det i en fremtidig instruktion. I dag er alt, hvad vi er interesserede i, at identificere et bestemt kort ved dets UID. Omkostningerne til RFID-læseren og disse to RFID-kort er omkring $ 4.

Trin 3: OLED Display

Dette er et meget flot display til brug med Arduino. Det er et OLED display og det betyder, at det har et lavt strømforbrug. Strømforbruget på denne skærm er omkring 10-20 mA, og det afhænger af, hvor mange pixels der er tændt.

Skærmen har en opløsning på 128 × 64 pixel, og den er lille i størrelse. Der er to variationer af displayet. En af dem er sort / hvid, og den anden som den jeg bruger kan vise to farver, gul og blå. Den øverste del af skærmen kan kun vise gul, den nederste del er kun blå.

Denne OLED-skærm er meget lys, og den har en stor biblioteksstøtte. Adafruit har udviklet et meget godt bibliotek til denne skærm. Derudover bruger displayet I2C-grænsefladen, så forbindelsen med Arduino er utrolig let. Du behøver kun at forbinde to ledninger undtagen Vcc og GND. Hvis du er ny til Arduino, og du vil have en billig og nem at bruge display til brug med dit projekt, start med displayet. Det er den nemmeste måde at tilføje et display til dit Arduino projekt. Jeg har udarbejdet en detaljeret vejledning om, hvordan du bruger denne skærm, som jeg har vedhæftet til denne instruktør.

Trin 4: Tilslut alle dele

Forbindelsen med Arduino Uno bord er meget enkel. Lad os først tilslutte strømmen til både læseren og skærmen.

Vær forsigtig, at RFID-læseren skal være forbundet til 3.3V-udgangen af ​​Arduino Uno, eller den vil blive ødelagt. Da displayet også kan fungere ved 3,3 V, forbinder vi Vcc fra begge moduler til bordpladen. Denne skinne er så forbundet til 3.3V output fra Arduino Uno. Dernæst forbinder vi begge GND'er med bordbrættet GND-skinne. Derefter forbinder vi GND-skinnen på breadboard til Arduino GND.

OLED Display - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analog pin 5

SDA ▶ Analog pin 4

RFID Reader - Arduino

RST ▶ Digital Pin 9

IRQ ▶ Ikke tilsluttet

MISO ▶ Digital Pin 12

MOSI ▶ Digital Pin 11

SCK ▶ Digital pin 13

SDA ▶ Digital Pin 10

RFID-læsermodulet bruger SPI-grænsefladen for at kommunikere med Arduino. Så vi skal bruge hardware SPI stifter af Arduino UNO. RST-pin går til digital pin 9. IRQ-pin forbliver ukoblet. MISO pin går til digital pin 12. MOSI pin går til digital pin 11. SCK pin går til digital pin 13 og endelig går SDA pin til digital pin 10. Det er det. RFID-læseren er tilsluttet. Vi skal nu forbinde OLED displayet med Arduino ved hjælp af I2C interface. Så SCL-pin på displayet går til Analog Pin 5 og SDA-pin på displayet til Analog Pin 4. Hvis vi nu tændes for projektet og placerer et RFID-kort tæt på læseren, kan vi se, at projektet virker fint! Nu er det tid til at kigge på projektets kode.

Trin 5: Projektets kode

For at projektkoden skal kompilere skal vi inkludere nogle biblioteker. Først og fremmest har vi brug for biblioteket MFRC522 Rfid. For at installere det skal du gå til Sketch -> Include Libraries -> Manage libraries. Søg efter MFRC522 og installer den. Vi har også brug for Adafruit SSD1306 biblioteket og Adafruit GFX biblioteket til displayet. Installer begge biblioteker med samme procedure. Adafruit SSD1306-biblioteket har brug for en lille ændring. Gå til mappen Arduino -> Biblioteker, åbn Adafruit SSD1306-mappen og rediger Adafruit_SSD1306.h biblioteket. Kommentar line 70 og uncomment line 69. Vores skærm har en opløsning på 128x64, det er det, vi definerer her. Nu er vi klar til at kigge hurtigt på koden.

Først erklærer vi værdien af ​​det RFID-tag, som vi vil have, at Arduino genkender. Det er en række heltal.

int kode = {69,141,8,136}; // Dette er den gemte UID

Dernæst initialiserer vi RFID-læser og display.

rfid.PCD_Init ();

display.begin (SSD1306_SWITCHCAPVCC, 0x3C);

Efter dette, i loop-funktionen, kontrollerer vi for et mærke på læseren hver 100 ms.

Hvis der er et mærke på læseren, læser vi dens UID, og ​​vi udskriver det på displayet. Dernæst sammenligner vi UID'et af det tag, vi lige har læst, med den værdi, der er gemt i kodevariablen. Hvis værdierne er de samme, viser vi meddelelsen UNLOCK, ellers viser vi ikke denne besked.

hvis (match)

{Serial.println (" nJeg kender dette kort!"); printUnlockMessage (); } ellers {Serial.println (" nUnknown Card"); }

Selvfølgelig kan du ændre denne kode for at gemme mere end 1 UID-værdier, så projektet kan genkende flere RFID-tags.

Dette er blot et eksempel. Som altid kan du finde koden for projektet, der er vedlagt denne vejledning.

Trin 6: Endelige tanker og forbedringer

Som du kan se med meget lave omkostninger, kan vi tilføje en RFID-læser til vores projekter. Vi kan nemt bygge et sikkerhedssystem med en læser som denne eller bygge mere sjove projekter.

Min hovedintention er at bygge nogle interaktive spil til børn, der bruger denne RFID-læser og en masse RFID-tags. I en fremtidig video vil vi også prøve at skrive og læse data fra et RFID-tag. På dette tidspunkt vil jeg gerne høre din mening om denne RFID-kortlæser. Har du planer om at bruge det i nogen af ​​dine projekter? Venligst indsend eventuelle kommentarer eller ideer i kommentarfeltet nedenfor, tak!

2 personer lavede dette projekt!

  • Snorlaxprime gjorde det!

  • AlinG14 lavede det!

Har du lavet dette projekt? Del det med os!

anbefalinger

  • Mash Up Arduino Code Samples

  • Opensource Ornithopter Prototype. Arduino Powered og Fjernstyret.

  • Internet af Things Class

  • Havearbejde Contest

  • Arduino Contest 2019

  • Fandom Contest

Diskussioner

0

AlinG14

1 år siden

Nice tutorial! Jeg lavede det til to rfid kort. Tak og hold den i gang!