Talaan ng mga Nilalaman:

Arduino RFID Lock Tutorial: 6 Mga Hakbang (na may Mga Larawan)
Arduino RFID Lock Tutorial: 6 Mga Hakbang (na may Mga Larawan)

Video: Arduino RFID Lock Tutorial: 6 Mga Hakbang (na may Mga Larawan)

Video: Arduino RFID Lock Tutorial: 6 Mga Hakbang (na may Mga Larawan)
Video: Web Programming - Computer Science for Business Leaders 2016 2024, Nobyembre
Anonim
Image
Image
Arduino RFID Lock Tutorial
Arduino RFID Lock Tutorial
Arduino RFID Lock Tutorial
Arduino RFID Lock Tutorial

Minamahal na mga kaibigan maligayang pagdating sa isa pang maituturo. Ito si Nick mula sa educ8s.tv at ngayon matututunan natin kung paano gamitin ang RFID Reader na ito kasama ang Arduino upang makabuo ng isang simpleng sistema ng lock.

Sa kauna-unahang pagkakataon, gagamit kami ng mga RFID tag sa Arduino. Bumuo ako ng isang simpleng proyekto na binabasa ang Unique ID (UID) ng bawat tag na RFID na inilalagay namin malapit sa mambabasa at ipinapakita ito sa OLED display na ito. Kung ang UID ng tag ay katumbas ng isang paunang natukoy na halaga na nakaimbak sa memorya ni Arduino, pagkatapos ay sa display makikita natin ang mensahe na "Na-unlock". Kung ang Natatanging ID ng card ay hindi katumbas ng paunang natukoy na halaga, hindi lilitaw ang mensahe na I-unlock. Ang cool di ba?

Maraming dapat takpan, kaya't magsimula tayo!

Hakbang 1: Kunin ang Lahat ng Mga Bahagi

Kunin ang Lahat ng Mga Bahagi
Kunin ang Lahat ng Mga Bahagi

Ang mga bahagi na kinakailangan upang maitayo ang proyektong ito ay ang mga ito:

  • Isang Arduino Uno ▶
  • Isang Reader ng RFID ▶
  • OLED display ▶
  • Isang maliit na breadboard ▶
  • Ang ilang mga wire ▶

Opsyonal na Mga Bahagi:

Powerbank ▶

Ang kabuuang halaga ng proyekto ay humigit-kumulang na $ 15.

Hakbang 2: Ang RC522 RFID Reader

Ang RC522 RFID Reader
Ang RC522 RFID Reader
Ang RC522 RFID Reader
Ang RC522 RFID Reader
Ang RC522 RFID Reader
Ang RC522 RFID Reader
Ang RC522 RFID Reader
Ang RC522 RFID Reader

Ang bawat tag ng RFID ay may maliit na maliit na tilad sa loob. Kung naglalagay ako ng isang flashlight sa ilalim ng RFID card na ito maaari mong makita ang maliit na maliit na tilad at ang likid na pumapalibot dito. Ang chip na ito ay walang baterya upang makakuha ng lakas. Tumatanggap ito ng lakas mula sa mambabasa, ang aparatong ito, nang wireless gamit ang malaking coil na ito. Ang mambabasa ay maaaring basahin ang isang RFID card tulad ng isang ito mula sa isang distansya hanggang sa 20mm!

Ang parehong chip ay mayroon din sa mga keychain RFID tag din.

Ang bawat tag ng RFID ay may natatanging numero na tumutukoy dito. Iyon ang UID na ipinapakita namin sa OLED display. Maliban sa UID na ito, ang bawat tag ay maaaring mag-imbak ng data. Sa ganitong uri ng mga kard maaari kaming mag-imbak ng hanggang sa 1K ng data! Kahanga-hanga di ba? Hindi namin gagamitin ang pagpapaandar na ito ngayon ngunit gagawin namin ito sa hinaharap na Makatuturo. Ngayon, ang lahat na interesado kami ay upang makilala ang isang tukoy na card sa pamamagitan ng UID nito. Ang gastos ng RFID reader at ang dalawang RFID card na ito ay humigit-kumulang na $ 4.

Hakbang 3: OLED Display

Image
Image
Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi

Ito ay isang napakagandang display upang magamit sa Arduino. Ito ay isang display na OLED at nangangahulugan iyon na mayroon itong mababang paggamit ng kuryente. Ang pagkonsumo ng kuryente ng display na ito ay nasa 10-20 mA at depende ito sa kung gaano karaming mga pixel ang naiilawan.

Ang display ay may resolusyon na 128 × 64 pixel at maliit ito sa laki. Mayroong dalawang pagkakaiba-iba ng display. Ang isa sa mga ito ay monochrome, at ang isa pa tulad ng ginagamit ko ay maaaring magpakita ng dalawang kulay, dilaw at asul. Ang itaas na bahagi ng screen ay maaari lamang ipakita ang dilaw, ang mas mababang bahagi ay asul lamang.

Ang display na OLED na ito ay napakaliwanag, at mayroon itong mahusay na suporta sa library. Ang Adafruit ay bumuo ng isang napakagandang library para sa display na ito. Bilang karagdagan sa na, ang display ay gumagamit ng interface ng I2C, kaya't ang koneksyon sa Arduino ay hindi kapani-paniwalang madali. Kailangan mo lamang ikonekta ang dalawang wires maliban sa Vcc at GND. Kung bago ka sa Arduino at nais mo ng isang mura at madaling gamitin na display upang magamit sa iyong proyekto, magsimula sa pagpapakita. Ito ang pinakamadaling paraan upang magdagdag ng isang display sa iyong proyekto ng Arduino. Naghanda ako ng isang detalyadong tutorial kung paano gamitin ang display na ito na na-attach ko sa Instructable na ito.

Hakbang 4: Ikonekta ang Lahat ng Mga Bahagi

Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi
Ikonekta ang Lahat ng Mga Bahagi

Ang koneksyon sa Arduino Uno board ay napaka-simple. Sa una, ikonekta natin ang lakas ng parehong mambabasa at ng display.

Mag-ingat, ang RFID reader ay dapat na konektado sa 3.3V na output ng Arduino Uno o masisira ito. Dahil ang display ay maaari ring gumana sa 3.3V ikonekta namin ang Vcc mula sa parehong mga module sa mga breadboard na positibong riles. Ang riles na ito ay konektado sa output ng 3.3V ng Arduino Uno. Susunod, ikinonekta namin ang parehong mga GND sa breadboard GND rail. Pagkatapos ay ikonekta namin ang GND rail ng breadboard sa 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 ▶ Hindi konektado

MISO ▶ Digital Pin 12

MOSI ▶ Digital Pin 11

SCK ▶ Digital Pin 13

SDA ▶ Digital Pin 10

Ang module ng RFID reader ay gumagamit ng interface ng SPI upang makipag-usap sa Arduino. Gagamitin namin ang mga hardware na SPI pin ng Arduino UNO. Ang RST pin ay papunta sa digital pin 9. Ang IRQ pin ay mananatiling hindi konektado. Ang MISO pin ay papunta sa digital pin 12. Ang MOSI pin ay papunta sa digital pin 11. Ang SCK pin ay papunta sa digital pin 13 at panghuli, ang SDA pin ay napunta sa digital pin 10. Iyon lang. Ang RFID reader ay konektado. Kailangan naming ikonekta ang OLED display sa Arduino gamit ang I2C interface. Kaya, ang SCL pin ng display ay pupunta sa Analog Pin 5 at SDA pin ng display sa Analog Pin 4. Kung papalakasin namin ngayon ang proyekto at maglagay ng isang RFID card na malapit sa mambabasa maaari naming makita na ang proyekto ay gumagana nang maayos! Ngayon ay oras na upang tingnan ang code ng proyekto.

Hakbang 5: Ang Code ng Project

Ang Code ng Project
Ang Code ng Project

Upang maipon ang code ng proyekto kailangan naming magsama ng ilang mga aklatan. Una sa lahat, kailangan namin ng MFRC522 Rfid library. Upang mai-install ito, pumunta sa Sketch -> Isama ang Mga Aklatan -> Pamahalaan ang mga aklatan. Maghanap para sa MFRC522 at i-install ito. Kailangan din namin ang Adafruit SSD1306 library at Adafruit GFX library para sa pagpapakita. I-install ang parehong mga aklatan na may parehong pamamaraan. Ang Adafruit SSD1306 library ay nangangailangan ng isang maliit na pagbabago. Pumunta sa folder ng Arduino -> Mga Aklatan, buksan ang folder ng Adafruit SSD1306 at i-edit ang Adafruit_SSD1306.h library. Linya ng puna 70 at linya ng hindi pagkakasundo 69. Ang aming display ay may isang resolusyon na 128x64, iyon ang tinutukoy namin dito. Ngayon handa na kaming tumingin nang mabilis sa code.

Sa una, idineklara namin ang halaga ng tag na RFID na nais naming makilala ng Arduino. Ito ay isang hanay ng mga integer.

int code = {69, 141, 8, 136}; // Ito ang nakaimbak na UID

Susunod, pinasimulan namin ang RFID reader at ang display.

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

Pagkatapos nito, sa pagpapaandar ng loop, suriin namin para sa isang tag sa mambabasa tuwing 100 ms.

Kung mayroong isang tag sa mambabasa binabasa namin ang UID at nai-print namin ito sa display. Susunod, ihinahambing namin ang UID ng tag na nabasa lang namin, na may halagang nakaimbak sa variable ng code. Kung ang mga halaga ay pareho, ipinapakita namin ang UNLOCK na mensahe, kung hindi man ay hindi namin ipinapakita ang mensaheng ito.

kung (tugma) {Serial.println ("\ nI know this card!"); printUnlockMessage (); } iba pa {Serial.println ("\ nUnknown Card"); }

Siyempre, maaari mong baguhin ang code na ito upang maiimbak ang higit sa 1 mga halaga ng UID upang makilala ng proyekto ang higit pang mga RFID tag.

Ito ay isang halimbawa lamang. Tulad ng dati maaari mong makita ang code ng proyekto na nakakabit sa Instructable na ito.

Hakbang 6: Pangwakas na Mga Saloobin at Pagpapabuti

Pangwakas na Mga Saloobin at Pagpapabuti
Pangwakas na Mga Saloobin at Pagpapabuti

Tulad ng nakikita mo sa isang napakababang gastos maaari kaming magdagdag ng isang RFID reader sa aming mga proyekto. Madali kaming makakagawa ng isang sistema ng seguridad sa isang mambabasa na tulad nito o bumuo ng mas maraming kasiya-siyang proyekto.

Ang aking pangunahing hangarin ay upang bumuo ng ilang mga interactive na laro para sa mga bata na gumagamit ng RFID reader na ito at maraming mga RFID tag. Sa isang hinaharap na video, susubukan din naming magsulat at magbasa ng data mula sa isang RFID tag. Sa puntong ito, nais kong marinig ang iyong opinyon tungkol sa RFID card reader na ito. Plano mo bang gamitin ito sa alinman sa iyong mga proyekto? Mangyaring mag-post ng anumang mga komento o ideya sa seksyon ng mga komento sa ibaba, salamat!

Inirerekumendang: