Përmbajtje:

Arduino RFID Lock Tutorial: 6 hapa (me fotografi)
Arduino RFID Lock Tutorial: 6 hapa (me fotografi)

Video: Arduino RFID Lock Tutorial: 6 hapa (me fotografi)

Video: Arduino RFID Lock Tutorial: 6 hapa (me fotografi)
Video: Logic Gates Learning Kit #2 - Transistor Demo 2024, Nëntor
Anonim
Image
Image
Tutoriali i Arduino RFID Lock
Tutoriali i Arduino RFID Lock
Tutoriali i Arduino RFID Lock
Tutoriali i Arduino RFID Lock

Të dashur miq, mirë se vini në një Udhëzues tjetër. Ky është Nick nga Educ8s.tv dhe sot ne do të mësojmë se si ta përdorim këtë RFID Reader me Arduino në mënyrë që të ndërtojmë një sistem të thjeshtë bllokimi.

Për herë të parë, ne do të përdorim etiketat RFID me Arduino. Unë kam ndërtuar një projekt të thjeshtë i cili lexon ID Unike (UID) të secilës etiketë RFID që vendosim pranë lexuesit dhe e shfaq atë në këtë ekran OLED. Nëse UID -i i etiketës është i barabartë me një vlerë të paracaktuar që ruhet në kujtesën e Arduino, atëherë në ekran do të shohim mesazhin "Unlocked". Nëse ID Unike e kartës nuk është e barabartë me vlerën e paracaktuar, mesazhi Unlock nuk do të shfaqet. Ftohtë nuk është?

Ka shumë për të mbuluar, kështu që le të fillojmë!

Hapi 1: Merrni të gjitha pjesët

Merrni të gjitha pjesët
Merrni të gjitha pjesët

Pjesët e nevojshme për të ndërtuar këtë projekt janë këto:

  • Një Arduino Uno ▶
  • Një Lexues RFID ▶
  • Ekran OLED ▶
  • Një pjatë e vogël bread
  • Disa tela ▶

Pjesët Opsionale:

Powerbank ▶

Kostoja totale e projektit është rreth 15 dollarë.

Hapi 2: Lexuesi RC522 RFID

Lexuesi RC522 RFID
Lexuesi RC522 RFID
Lexuesi RC522 RFID
Lexuesi RC522 RFID
Lexuesi RC522 RFID
Lexuesi RC522 RFID
Lexuesi RC522 RFID
Lexuesi RC522 RFID

Çdo etiketë RFID ka një çip të vogël brenda. Nëse vendos një elektrik dore nën këtë kartë RFID mund të shihni çipin e vogël dhe spiralën që e rrethon. Ky çip nuk ka bateri për të marrë energji. Ai merr energji nga lexuesi, kjo pajisje, duke përdorur pa tel këtë spirale të madhe. Lexuesi mund të lexojë një kartë RFID si kjo nga një distancë deri në 20mm!

I njëjti çip ekziston edhe në etiketat RFID të keychain.

Çdo etiketë RFID ka një numër unik që e identifikon atë. Ky është UID që shfaqim në ekranin OLED. Me përjashtim të këtij UID, çdo etiketë mund të ruajë të dhëna. Në këto lloj kartash mund të ruajmë deri në 1K të dhëna! Mbresëlënëse apo jo? Ne nuk do ta përdorim këtë funksionalitet sot, por do ta bëjmë në një Udhëzues të ardhshëm. Sot, gjithçka që na intereson është të identifikojmë një kartë specifike nga UID -i i saj. Kostoja e lexuesit RFID dhe këtyre dy kartave RFID është rreth 4 dollarë.

Hapi 3: Ekrani OLED

Image
Image
Lidhni të gjitha pjesët
Lidhni të gjitha pjesët

Ky është një ekran shumë i bukur për t'u përdorur me Arduino. Displayshtë një ekran OLED dhe kjo do të thotë se ka një konsum të ulët të energjisë. Konsumi i energjisë i këtij ekrani është rreth 10-20 mA dhe varet nga sa piksele janë ndezur.

Ekrani ka një rezolucion prej 128 × 64 piksele dhe është i vogël në madhësi. Ekzistojnë dy ndryshime të ekranit. Njëra prej tyre është njëngjyrëshe, dhe tjetra si ajo që përdor mund të shfaqë dy ngjyra, të verdhë dhe blu. Pjesa e sipërme e ekranit mund të shfaqë vetëm të verdhë, pjesa e poshtme vetëm blu.

Ky ekran OLED është shumë i ndritshëm dhe ka një mbështetje të madhe bibliotekare. Adafruit ka zhvilluar një bibliotekë shumë të bukur për këtë shfaqje. Përveç kësaj, ekrani përdor ndërfaqen I2C, kështu që lidhja me Arduino është tepër e lehtë. Ju duhet vetëm të lidhni dy tela përveç Vcc dhe GND. Nëse jeni i ri në Arduino dhe doni një ekran të lirë dhe të lehtë për t'u përdorur për t'u përdorur me projektin tuaj, filloni me ekranin. Wayshtë mënyra më e lehtë për të shtuar një ekran në projektin tuaj Arduino. Unë kam përgatitur një udhëzues të detajuar se si të përdor këtë ekran të cilin i kam bashkangjitur këtij udhëzuesi.

Hapi 4: Lidhni të gjitha pjesët

Lidhni të gjitha pjesët
Lidhni të gjitha pjesët
Lidhni të gjitha pjesët
Lidhni të gjitha pjesët
Lidhni të gjitha pjesët
Lidhni të gjitha pjesët

Lidhja me bordin Arduino Uno është shumë e thjeshtë. Në fillim, le të lidhim fuqinë e lexuesit dhe ekranit.

Kini kujdes, lexuesi RFID duhet të jetë i lidhur me daljen 3.3V të Arduino Uno ose do të shkatërrohet. Meqenëse ekrani gjithashtu mund të punojë në 3.3V ne lidhim Vcc nga të dy modulet në hekurudhën pozitive të bordeve të bukës. Kjo hekurudhë lidhet më pas me daljen 3.3V të Arduino Uno. Tjetra, ne i lidhim të dy GND me hekurudhën GND të bukës. Pastaj lidhim hekurudhën GND të dërrasës së bukës me Arduino GND.

Ekran OLED - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL Pin Pin Analog 5

SDA Pin Pin Analog 4

Lexuesi RFID - Arduino

RST Pin Pin dixhital 9

IRQ ▶ E palidhur

MISO Pin Pin Pin 12

MOSI Pin Pin Pin 11

SCK Pin Pin dixhital 13

SDA Pin Pin Pin 10

Moduli i lexuesit RFID përdor ndërfaqen SPI për të komunikuar me Arduino. Pra, ne do të përdorim kunjat e harduerit SPI të Arduino UNO. Kunja RST shkon në pinin dixhital 9. Kunja IRQ mbetet e palidhur. Kunja MISO shkon në kunjin dixhital 12. Kodi MOSI shkon në kunjin dixhital 11. Kodi SCK shkon në kunjin dixhital 13 dhe së fundi, kunja SDA shkon në kunjin dixhital 10. Kjo është ajo. Lexuesi RFID është i lidhur. Tani duhet të lidhim ekranin OLED me Arduino duke përdorur ndërfaqen I2C. Pra, kunja SCL e ekranit shkon në Analog Pin 5 dhe koka SDA e ekranit në Analog Pin 4. Nëse tani e fuqizojmë projektin dhe vendosim një kartë RFID pranë lexuesit, mund të shohim që projekti po funksionon mirë! Tani është koha për të parë kodin e projektit.

Hapi 5: Kodi i Projektit

Kodi i Projektit
Kodi i Projektit

Për të përpiluar kodin e projektit duhet të përfshijmë disa biblioteka. Para së gjithash, ne kemi nevojë për bibliotekën MFRC522 Rfid. Për ta instaluar atë, shkoni te Sketch -> Përfshi Bibliotekat -> Menaxhoni bibliotekat. Kërkoni për MFRC522 dhe instalojeni. Ne gjithashtu kemi nevojë për bibliotekën Adafruit SSD1306 dhe bibliotekën Adafruit GFX për shfaqje. Instaloni të dy bibliotekat me të njëjtën procedurë. Biblioteka Adafruit SSD1306 ka nevojë për një modifikim të vogël. Shkoni te dosja Arduino -> Bibliotekat, hapni dosjen Adafruit SSD1306 dhe redaktoni bibliotekën Adafruit_SSD1306.h. Linja e komenteve 70 dhe linja e komenteve 69. Ekrani ynë ka një rezolucion prej 128x64, kjo është ajo që ne po përcaktojmë këtu. Tani jemi gati të hedhim një vështrim të shpejtë në kod.

Në fillim, ne deklarojmë vlerën e etiketës RFID që duam që Arduino të njohë. Shtë një grup i numrave të plotë.

kodi int = {69, 141, 8, 136}; // Ky është UID i ruajtur

Tjetra, ne fillojmë lexuesin RFID dhe ekranin.

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

Pas kësaj, në funksionin e lakut, ne kontrollojmë për një etiketë në lexuesin çdo 100 ms.

Nëse ka një etiketë në lexuesin ne lexojmë UID -in e tij dhe e printojmë në ekran. Tjetra, ne krahasojmë UID -in e etiketës që sapo lexuam, me vlerën që ruhet në ndryshoren e kodit. Nëse vlerat janë të njëjta, ne shfaqim mesazhin UNLOCK, përndryshe ne nuk e shfaqim këtë mesazh.

if (ndeshje) {Serial.println ("\ n Unë e njoh këtë kartë!"); printUnlockMessage (); } else {Serial.println ("\ nKartë e panjohur"); }

Sigurisht, ju mund ta modifikoni këtë kod në mënyrë që të ruani më shumë se 1 vlera UID në mënyrë që projekti të njohë më shumë etiketa RFID.

Ky është vetëm një shembull. Si gjithmonë, kodin e projektit mund ta gjeni të bashkangjitur me këtë udhëzues.

Hapi 6: Mendimet dhe Përmirësimet Finale

Mendimet dhe Përmirësimet Përfundimtare
Mendimet dhe Përmirësimet Përfundimtare

Siç mund ta shihni me një kosto shumë të ulët, ne mund të shtojmë një lexues RFID në projektet tona. Ne mund të ndërtojmë me lehtësi një sistem sigurie me një lexues si ky ose të ndërtojmë projekte më argëtuese.

Synimi im kryesor është të ndërtoj disa lojëra interaktive për fëmijët duke përdorur këtë lexues RFID dhe shumë etiketa RFID. Në një video të ardhshme, ne gjithashtu do të përpiqemi të shkruajmë dhe lexojmë të dhëna nga një etiketë RFID. Në këtë pikë, do të doja të dëgjoja mendimin tuaj për këtë lexues kartash RFID. A planifikoni ta përdorni atë në ndonjë nga projektet tuaja? Ju lutemi postoni çdo koment ose ide në atë pjesë të komenteve më poshtë, faleminderit!

Recommended: