Indholdsfortegnelse:

Arduino RFID Lock Tutorial: 6 trin (med billeder)
Arduino RFID Lock Tutorial: 6 trin (med billeder)

Video: Arduino RFID Lock Tutorial: 6 trin (med billeder)

Video: Arduino RFID Lock Tutorial: 6 trin (med billeder)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, November
Anonim
Image
Image
Arduino RFID -låsundervisning
Arduino RFID -låsundervisning
Arduino RFID -låsundervisning
Arduino RFID -låsundervisning

Kære venner velkommen til en anden Instructable. Dette er Nick fra educ8s.tv, og i dag skal vi lære at bruge denne RFID -læser med Arduino for at bygge et simpelt låsesystem.

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

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

Trin 1: Få alle delene

Få alle delene
Få alle delene

De dele, der er nødvendige for at bygge dette projekt, er disse:

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

Valgfri dele:

Powerbank ▶

De samlede omkostninger ved projektet er omkring $ 15.

Trin 2: RC522 RFID -læseren

RC522 RFID -læser
RC522 RFID -læser
RC522 RFID -læseren
RC522 RFID -læseren
RC522 RFID -læseren
RC522 RFID -læseren
RC522 RFID -læser
RC522 RFID -læser

Hvert RFID -mærke har en lille chip indeni. Hvis jeg placerer en lommelygte under dette RFID -kort, kan du se den lille chip og spolen, 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 dette fra en afstand 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 UID, som vi viser på OLED -skærmen. Bortset fra denne UID kan hvert tag gemme data. I denne type kort kan vi gemme 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 interesseret i, at identificere et specifikt kort ved dets UID. Omkostningerne ved RFID -læseren og disse to RFID -kort er omkring $ 4.

Trin 3: OLED -skærm

Image
Image
Tilslut alle delene
Tilslut alle delene

Dette er en meget flot skærm at bruge 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 lyser.

Skærmen har en opløsning på 128 × 64 pixels, og den er lille i størrelsen. Der er to varianter af displayet. Den ene er monokrom, 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 kun blå.

Denne OLED -skærm er meget lys, og den har en fantastisk biblioteksunderstøttelse. Adafruit har udviklet et meget flot bibliotek til denne fremvisning. Ud over det bruger displayet I2C -grænsefladen, så forbindelsen til Arduino er utrolig let. Du behøver kun at forbinde to ledninger undtagen Vcc og GND. Hvis du er ny på Arduino, og du vil have en billig og brugervenlig skærm til brug med dit projekt, skal du starte med display. Det er den nemmeste måde at tilføje en skærm til dit Arduino -projekt. Jeg har udarbejdet en detaljeret vejledning i, hvordan du bruger dette display, som jeg har vedhæftet denne instruktionsbog.

Trin 4: Tilslut alle delene

Tilslut alle delene
Tilslut alle delene
Tilslut alle delene
Tilslut alle delene
Tilslut alle delene
Tilslut alle delene

Forbindelsen med Arduino Uno -kortet er meget enkel. Lad os først forbinde strømmen fra både læseren og skærmen.

Vær forsigtig, RFID -læseren skal være tilsluttet 3.3V -udgangen fra Arduino Uno, ellers ødelægges den. Da displayet også kan fungere ved 3.3V, forbinder vi Vcc fra begge moduler til brødbræddernes positive skinne. Denne skinne tilsluttes derefter 3.3V output fra Arduino Uno. Dernæst forbinder vi begge GND'er til brødbrætets GND -skinne. Derefter forbinder vi brødbrættets GND -skinne til Arduino GND.

OLED Display - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analog stift 5

SDA ▶ Analog ben 4

RFID -læser - 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æser -modulet bruger SPI -grænsefladen for at kommunikere med Arduino. Så vi kommer til at bruge hardware SPI -benene på Arduino UNO. RST -pin går til digital pin 9. IRQ -pin forbliver uden forbindelse. 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 -skærmen med Arduino ved hjælp af I2C -grænsefladen. Så SCL -pin på displayet går til Analog Pin 5 og SDA pin på displayet til Analog Pin 4. Hvis vi nu tænder for projektet og placerer et RFID -kort tæt på læseren, kan vi se, at projektet fungerer fint! Nu er det tid til at tage et kig på projektets kode.

Trin 5: Projektets kode

Projektets kode
Projektets kode

For at projektkoden kan kompileres, skal vi inkludere nogle biblioteker. Først og fremmest har vi brug for MFRC522 Rfid -biblioteket. For at installere det skal du gå til Skitse -> Inkluder biblioteker -> Administrer biblioteker. Søg efter MFRC522 og installer det. Vi har også brug for Adafruit SSD1306 -biblioteket og Adafruit GFX -biblioteket til visningen. Installer begge biblioteker med den samme procedure. Adafruit SSD1306 -biblioteket har brug for en lille ændring. Gå til mappen Arduino -> Libraries, åbn Adafruit SSD1306 -mappen, og rediger Adafruit_SSD1306.h -biblioteket. Kommentarlinje 70 og kommentarlinje 69. Vores display har en opløsning på 128x64, det er det, vi definerer her. Nu er vi klar til at tage et hurtigt kig på koden.

Først erklærer vi værdien af RFID -mærket, som vi vil have Arduino til at genkende. Det er en række heltal.

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

Dernæst initialiserer vi RFID -læseren og displayet.

rfid. PCD_Init (); display.begin (SSD1306_SWITCHCAPVCC, 0x3C);

Efter dette, i loop -funktionen, kontrollerer vi for et tag 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 for det tag, vi lige har læst, med værdien, der er gemt i kodevariablen. Hvis værdierne er de samme, viser vi UNLOCK -meddelelsen, ellers viser vi ikke denne meddelelse.

if (match) {Serial.println ("\ nJeg kender dette kort!"); printUnlockMessage (); } ellers {Serial.println ("\ nUkendt kort"); }

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

Dette er blot et eksempel. Som altid kan du finde koden til projektet knyttet til denne Instructable.

Trin 6: Endelige tanker og forbedringer

Endelige tanker og forbedringer
Endelige tanker og forbedringer

Som du kan se med en meget lav pris, kan vi tilføje en RFID -læser til vores projekter. Vi kan let bygge et sikkerhedssystem med en læser som denne eller bygge flere sjove projekter.

Min hovedintention er at bygge nogle interaktive spil til børn ved hjælp af denne RFID -læser og en masse RFID -tags. I en fremtidig video vil vi også forsøge at skrive og læse data fra et RFID -tag. På dette tidspunkt vil jeg meget gerne høre din mening om denne RFID -kortlæser. Planlægger du at bruge det i nogen af dine projekter? Send venligst kommentarer eller ideer i kommentarfeltet herunder, tak!

Anbefalede: