Mundarija:

Arduino RFID qulflash bo'yicha qo'llanma: 6 qadam (rasmlar bilan)
Arduino RFID qulflash bo'yicha qo'llanma: 6 qadam (rasmlar bilan)

Video: Arduino RFID qulflash bo'yicha qo'llanma: 6 qadam (rasmlar bilan)

Video: Arduino RFID qulflash bo'yicha qo'llanma: 6 qadam (rasmlar bilan)
Video: Электронный замок с RFID на Arduino 2024, Noyabr
Anonim
Image
Image
Arduino RFID qulflash bo'yicha qo'llanma
Arduino RFID qulflash bo'yicha qo'llanma
Arduino RFID qulflash bo'yicha qo'llanma
Arduino RFID qulflash bo'yicha qo'llanma

Aziz do'stlar, yana bir ko'rsatmaga xush kelibsiz. Bu Educ8s.tv kanalidan Nik va bugun biz oddiy qulflash tizimini yaratish uchun ushbu RFID o'quvchisini Arduino bilan qanday ishlatishni o'rganamiz.

Biz birinchi marta Arduino bilan RFID teglaridan foydalanmoqchimiz. Men o'quvchiga yaqin joylashtirgan har bir RFID yorlig'ining yagona identifikatorini (UID) o'qib, uni OLED -displeyda ko'rsatadigan oddiy loyihani qurdim. Agar teg UID Arduino xotirasida saqlanadigan oldindan belgilangan qiymatga teng bo'lsa, displeyda biz "Qulflanmagan" xabarini ko'ramiz. Agar kartaning yagona identifikatori oldindan belgilangan qiymatga teng bo'lmasa, "Qulfni ochish" xabari ko'rinmaydi. Qiziq, shunday emasmi?

Yopish uchun juda ko'p narsa bor, shuning uchun boshlaylik!

1 -qadam: Barcha qismlarni oling

Barcha qismlarni oling
Barcha qismlarni oling

Loyihani yaratish uchun zarur bo'lgan qismlar:

  • Bir Arduino Uno ▶
  • RFID o'quvchi ▶
  • OLED displey ▶
  • Kichkina non paneli ▶
  • Ba'zi simlar ▶

Ixtiyoriy qismlar:

Powerbank ▶

Loyihaning umumiy qiymati 15 dollar atrofida.

2 -qadam: RC522 RFID o'quvchi

RC522 RFID o'quvchi
RC522 RFID o'quvchi
RC522 RFID o'quvchi
RC522 RFID o'quvchi
RC522 RFID o'quvchi
RC522 RFID o'quvchi
RC522 RFID o'quvchi
RC522 RFID o'quvchi

Har bir RFID tegining ichida kichik chip bor. Agar men RFID kartasi ostiga chiroqni qo'ysam, siz uni yonidagi kichik chipni va rulonni ko'rasiz. Quvvat olish uchun bu chipda batareya yo'q. U o'quvchidan, qurilmadan quvvat oladi, bu katta lasan yordamida. O'quvchi RFID kartasini 20 mm gacha masofadan o'qishi mumkin.

Xuddi shu chip kalitli RFID teglarida ham mavjud.

Har bir RFID yorlig'i uni identifikatsiya qiladigan yagona raqamga ega. Bu biz OLED displeyda ko'rsatadigan UID. Bu UIDdan tashqari, har bir teg ma'lumotlarni saqlashi mumkin. Ushbu turdagi kartalarda biz 1K gacha ma'lumotlarni saqlashimiz mumkin! Ta'sirchan, shunday emasmi? Biz bu funktsiyani bugun ishlatmaymiz, lekin kelajakda ko'rsatma qo'llanmasida ishlatamiz. Bugungi kunda bizni qiziqtirgan narsa - bu UID orqali ma'lum bir kartani aniqlash. RFID o'quvchi va bu ikkita RFID kartasining narxi 4 dollar atrofida.

3 -qadam: OLED displey

Image
Image
Barcha qismlarni ulang
Barcha qismlarni ulang

Bu Arduino bilan ishlash uchun juda yaxshi displey. Bu OLED -displey, shuning uchun u kam quvvat sarfini bildiradi. Ushbu displeyning quvvat sarfi 10-20 mA atrofida va bu qancha piksel yoqilganiga bog'liq.

Displeyning o'lchamlari 128 × 64 piksel va juda kichik. Displeyning ikkita varianti mavjud. Ulardan biri monoxrom, ikkinchisi men ishlatganga o'xshab ikkita rangni ko'rsatishi mumkin: sariq va ko'k. Ekranning yuqori qismida faqat sariq rang, pastki qismida esa faqat ko'k rang bo'lishi mumkin.

Bu OLED -displey juda yorqin va kutubxonani qo'llab -quvvatlaydi. Adafruit ushbu displey uchun juda yaxshi kutubxona ishlab chiqdi. Bunga qo'shimcha ravishda, displeyda I2C interfeysi ishlatiladi, shuning uchun Arduino bilan ulanish juda oson. Siz faqat Vcc va GND dan tashqari ikkita simni ulashingiz kerak. Agar siz Arduino -da yangi bo'lsangiz va loyihangizda ishlatish uchun arzon va ishlatish uchun qulay displeyni xohlasangiz, displeydan boshlang. Arduino loyihasiga displey qo'shishning eng oson usuli. Men ushbu ko'rsatmaga biriktirilgan ushbu displeydan foydalanish bo'yicha batafsil ko'rsatma tayyorladim.

4 -qadam: Barcha qismlarni ulang

Barcha qismlarni ulang
Barcha qismlarni ulang
Barcha qismlarni ulang
Barcha qismlarni ulang
Barcha qismlarni ulang
Barcha qismlarni ulang

Arduino Uno taxtasi bilan ulanish juda oddiy. Birinchidan, o'quvchi va displeyning kuchini bog'laylik.

Ehtiyot bo'ling, RFID o'quvchi Arduino Uno 3.3V kuchlanishiga ulangan bo'lishi kerak, aks holda u yo'q qilinadi. Displey 3.3V da ishlay oladigan ekan, biz VCni ikkala moduldan ham non panelidagi musbat relsga ulaymiz. Bu temir yo'l Arduino Uno 3.3V kuchlanishiga ulanadi. Keyinchalik, biz ikkala GNDni ham GND non paneliga ulaymiz. Keyin biz non paneli GND rayini Arduino GND ga ulaymiz.

OLED displey - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analog pin 5

SDA ▶ Analog pin 4

RFID o'quvchi - Arduino

RST ▶ Raqamli pin 9

IRQ ▶ Ulanish yo'q

MISO ▶ Raqamli pin 12

MOSI ▶ Raqamli pin 11

SCK ▶ Raqamli pin 13

SDA ▶ Raqamli pin 10

RFID o'quvchi moduli Arduino bilan aloqa qilish uchun SPI interfeysidan foydalanadi. Shunday qilib, biz Arduino UNO -ning apparat SPI pinlarini ishlatamiz. RST pin 9 -raqamli pinga o'tadi. IRQ pin ulanmagan qoladi. MISO pin raqamli pin 12 ga o'tadi. MOSI pin raqamli pin 11 ga o'tadi. SCK pin raqamli pin 13 ga o'tadi va nihoyat, SDA pin raqamli pin 10 ga o'tadi. Hammasi shu. RFID o'quvchi ulangan. Endi biz OLED displeyini I2C interfeysi yordamida Arduino bilan ulashimiz kerak. Shunday qilib, displeyning SCL pimi Analog Pin 5 va SDA pinining analog pin 4 ga o'tadi. Agar hozir biz loyihani yoqib RFID kartasini o'quvchiga yaqin joylashtirsak, loyiha yaxshi ishlayotganini ko'rishimiz mumkin! Endi loyihaning kodini ko'rib chiqish vaqti keldi.

5 -qadam: Loyihaning kodeksi

Loyiha kodeksi
Loyiha kodeksi

Loyiha kodini kompilyatsiya qilish uchun biz ba'zi kutubxonalarni kiritishimiz kerak. Birinchidan, bizga MFRC522 Rfid kutubxonasi kerak. O'rnatish uchun Sketch -> Kutubxonalarni qo'shish -> Kutubxonalarni boshqarish -ga o'ting. MFRC522 -ni qidiring va o'rnating. Ko'rsatish uchun bizga Adafruit SSD1306 kutubxonasi va Adafruit GFX kutubxonasi ham kerak. Ikkala kutubxonani ham xuddi shu tartibda o'rnating. Adafruit SSD1306 kutubxonasiga kichik o'zgartirish kerak. Arduino -> Kutubxonalar papkasiga o'ting, Adafruit SSD1306 papkasini oching va Adafruit_SSD1306.h kutubxonasini tahrirlang. Sharh liniyasi 70 va izoh bermaydigan qator 69. Bizning displeyimiz 128x64 piksellar soniga ega, biz bu erda aniqlaymiz. Endi biz kodni tezda ko'rib chiqishga tayyormiz.

Birinchidan, biz Arduino tan olishni istagan RFID tegining qiymatini e'lon qilamiz. Bu butun sonlar majmuasi.

int kod = {69, 141, 8, 136}; // Bu saqlangan UID

Keyin RFID o'quvchi va displeyni ishga tushiramiz.

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

Shundan so'ng, loop funktsiyasida biz har 100 msda o'quvchida tegni tekshiramiz.

Agar o'quvchida teg bo'lsa, biz uning UID -ni o'qiymiz va uni displeyda chop etamiz. Keyinchalik, biz o'qigan teg UIDini kod o'zgaruvchisida saqlanadigan qiymat bilan solishtiramiz. Agar qiymatlar bir xil bo'lsa, biz UNLOCK xabarini ko'rsatamiz, aks holda biz bu xabarni ko'rsatmaymiz.

if (match) {Serial.println ("\ nMen bu kartani bilaman!"); printUnlockMessage (); } boshqa {Serial.println ("\ nNoma'lum karta"); }

Albatta, siz ushbu kodni 1dan ortiq UID qiymatlarini saqlash uchun o'zgartirishingiz mumkin, shunda loyiha ko'proq RFID teglarini taniy oladi.

Bu shunchaki misol. Har doimgidek, ushbu yo'riqnomaga biriktirilgan loyihaning kodini topishingiz mumkin.

6 -qadam: Yakuniy fikrlar va yaxshilanishlar

Yakuniy fikrlar va yaxshilanishlar
Yakuniy fikrlar va yaxshilanishlar

Ko'rib turganingizdek, juda arzon narxda biz o'z loyihalarimizga RFID o'quvchisini qo'shishimiz mumkin. Biz bunday o'quvchi bilan xavfsizlik tizimini osonlikcha qura olamiz yoki yanada qiziqarli loyihalarni qura olamiz.

Mening asosiy maqsadim - bu RFID o'quvchi va ko'plab RFID teglari yordamida bolalar uchun interaktiv o'yinlar yaratish. Kelgusi videoda biz RFID tegidan ma'lumotlarni yozishga va o'qishga harakat qilamiz. Shu o'rinda, ushbu RFID kartani o'quvchi haqidagi fikringizni eshitishni istardim. Siz uni biron bir loyihangizda ishlatishni rejalashtiryapsizmi? Iltimos, quyida ushbu sharhlar bo'limida har qanday fikr yoki g'oyani yozing, rahmat!

Tavsiya: