Mündəricat:

Arduino RFID Kilidi Dərsliyi: 6 addım (şəkillərlə)
Arduino RFID Kilidi Dərsliyi: 6 addım (şəkillərlə)

Video: Arduino RFID Kilidi Dərsliyi: 6 addım (şəkillərlə)

Video: Arduino RFID Kilidi Dərsliyi: 6 addım (şəkillərlə)
Video: RFID door lock access control system | How to make an RFID door lock system using Arduino 2024, Noyabr
Anonim
Image
Image
Arduino RFID Kilidi Dərsliyi
Arduino RFID Kilidi Dərsliyi
Arduino RFID Kilidi Dərsliyi
Arduino RFID Kilidi Dərsliyi

Əziz dostlar, başqa bir təlimata xoş gəldiniz. Bu Educ8s.tv -dən Nik və bu gün sadə bir kilid sistemi qurmaq üçün bu RFID Oxuyucusunu Arduino ilə necə istifadə edəcəyimizi öyrənəcəyik.

İlk dəfə olaraq Arduino ilə RFID etiketlərindən istifadə edəcəyik. Oxucunun yanında yerləşdirdiyimiz hər bir RFID etiketinin Unikal ID -ni (UID) oxuyan və bu OLED ekranda göstərən sadə bir layihə hazırladım. Etiketin UID -si Arduino yaddaşında saxlanılan əvvəlcədən təyin edilmiş bir dəyərə bərabərdirsə, ekranda "Kilidi açıldı" mesajını görəcəyik. Kartın unikal identifikatoru əvvəlcədən təyin edilmiş dəyərə bərabər deyilsə, Kilidi aç mesajı görünməyəcək. Sərin, deyilmi?

Çox şey var, buna görə başlayaq!

Addım 1: Bütün hissələri alın

Bütün hissələri alın
Bütün hissələri alın

Bu layihəni hazırlamaq üçün lazım olan hissələr bunlardır:

  • Bir Arduino Uno ▶
  • RFID oxuyucusu ▶
  • OLED ekran ▶
  • Kiçik bir çörək taxtası ▶
  • Bəzi tellər ▶

İsteğe bağlı hissələr:

Powerbank ▶

Layihənin ümumi dəyəri təxminən 15 dollardır.

Addım 2: RC522 RFID Oxuyucusu

RC522 RFID oxuyucusu
RC522 RFID oxuyucusu
RC522 RFID oxuyucusu
RC522 RFID oxuyucusu
RC522 RFID oxuyucusu
RC522 RFID oxuyucusu
RC522 RFID oxuyucusu
RC522 RFID oxuyucusu

Hər bir RFID etiketinin içərisində kiçik bir çip var. Bu RFID kartının altına bir fənər qoysam, onu əhatə edən kiçik çipi və bobini görə bilərsiniz. Güc əldə etmək üçün bu çipin batareyası yoxdur. Oxuyucudan, bu cihazdan bu böyük bobini simsiz istifadə edərək güc alır. Oxucu 20 mm -ə qədər məsafədən belə bir RFID kartı oxuya bilər!

Eyni çip, anahtarlık RFID etiketlərində də mövcuddur.

Hər bir RFID etiketinin özünəməxsus nömrəsi var. OLED ekranda göstərdiyimiz UID -dir. Bu UID istisna olmaqla, hər bir etiket məlumatları saxlaya bilər. Bu tip kartlarda 1K -a qədər məlumat saxlaya bilərik! Etkileyicidir, deyilmi? Bu funksiyanı bu gün istifadə etməyəcəyik, amma gələcəkdə Təlimatlandırıcıda istifadə edəcəyik. Bu gün bizi maraqlandıran tək şey UID ilə müəyyən bir kartı müəyyən etməkdir. RFID oxuyucusunun və bu iki RFID kartının qiyməti təxminən 4 dollardır.

Addım 3: OLED Ekran

Image
Image
Bütün hissələri birləşdirin
Bütün hissələri birləşdirin

Bu Arduino ilə istifadə etmək üçün çox gözəl bir ekrandır. OLED ekrandır və bu, aşağı enerji istehlakına malik olduğunu göstərir. Bu ekranın enerji istehlakı 10-20 mA civarındadır və neçə pikselin yandırıldığına bağlıdır.

Ekranın ölçüsü kiçikdir və 128 × 64 piksel qətnaməyə malikdir. Ekranın iki variantı var. Onlardan biri monoxrom, digəri isə istifadə etdiyim kimi iki rəng göstərə bilər: sarı və mavi. Ekranın yuxarı hissəsi yalnız sarı, alt hissəsi yalnız mavi rəngdə göstərilə bilər.

Bu OLED displey çox parlaqdır və böyük bir kitabxana dəstəyinə malikdir. Adafruit bu ekran üçün çox gözəl bir kitabxana hazırladı. Bundan əlavə, ekran I2C interfeysindən istifadə edir, buna görə Arduino ilə əlaqə inanılmaz dərəcədə asandır. Vcc və GND istisna olmaqla yalnız iki tel bağlamalısınız. Arduinoda yenisinizsə və layihənizdə istifadə etmək üçün ucuz və istifadəsi asan bir ekran istəyirsinizsə, ekrandan başlayın. Arduino layihənizə bir ekran əlavə etməyin ən asan yolu. Bu Təlimata əlavə etdiyim bu ekranın necə istifadə ediləcəyinə dair ətraflı bir dərs hazırladım.

Addım 4: Bütün hissələri birləşdirin

Bütün hissələri birləşdirin
Bütün hissələri birləşdirin
Bütün hissələri birləşdirin
Bütün hissələri birləşdirin
Bütün hissələri birləşdirin
Bütün hissələri birləşdirin

Arduino Uno lövhəsi ilə əlaqə çox sadədir. Əvvəlcə həm oxucunun, həm də ekranın gücünü birləşdirək.

Ehtiyatlı olun, RFID oxuyucusu Arduino Uno -nun 3.3V çıxışına qoşulmalıdır, yoxsa məhv olacaq. Ekran 3.3V -də də işləyə bildiyindən Vcc -ni hər iki moduldan çörək lövhələrinə pozitiv relsə bağlayırıq. Bu ray daha sonra Arduino Uno -nun 3.3V çıxışına qoşulur. Sonra, hər iki GND -ni çörək taxtası GND rayına bağlayırıq. Sonra çörək taxtasının GND rayını Arduino GND -yə bağlayırıq.

OLED Ekran - Arduino

Vcc ▶ 3.3V

GND ▶ GND

SCL ▶ Analog Pin 5

SDA ▶ Analog Pin 4

RFID oxuyucusu - Arduino

RST ▶ Rəqəmsal Pin 9

IRQ ▶ Əlaqəsiz

MISO ▶ Rəqəmsal Pin 12

MOSI ▶ Rəqəmsal Pin 11

SCK ▶ Rəqəmsal Pin 13

SDA ▶ Rəqəmsal Pin 10

RFID oxucu modulu Arduino ilə ünsiyyət qurmaq üçün SPI interfeysindən istifadə edir. Beləliklə, Arduino UNO -nun SPI aparatlarından istifadə edəcəyik. RST pin rəqəmsal pin 9 -a gedir. IRQ pin əlaqəsiz qalır. MISO pin rəqəmsal pin 12 -yə gedir. MOSI pin rəqəmsal pin 11 -ə keçir. SCK pin rəqəmsal pin 13 -ə gedir və son olaraq SDA pin rəqəmsal pin 10 -a keçir. RFID oxucu bağlıdır. İndi I2C interfeysindən istifadə edərək OLED ekranı Arduino ilə birləşdirməliyik. Beləliklə, ekranın SCL pimi Analog Pin 5 -ə və ekranın SDA pininə Analog Pin 4 -ə gedir. İndi layihəni gücləndirib oxuyucunun yanına RFID kartı yerləşdirsək, layihənin yaxşı işlədiyini görə bilərik! İndi layihənin koduna nəzər salmağın vaxtı gəldi.

Addım 5: Layihənin Məcəlləsi

Layihənin Məcəlləsi
Layihənin Məcəlləsi

Layihə kodunu tərtib etmək üçün bəzi kitabxanaları daxil etməliyik. İlk növbədə MFRC522 Rfid kitabxanasına ehtiyacımız var. Quraşdırmaq üçün Sketch -> Kitabxanaları Daxil et -> Kitabxanaları idarə edin. MFRC522 axtarın və quraşdırın. Ekran üçün Adafruit SSD1306 kitabxanasına və Adafruit GFX kitabxanasına da ehtiyacımız var. Eyni prosedurla hər iki kitabxananı quraşdırın. Adafruit SSD1306 kitabxanasının kiçik bir dəyişikliyə ehtiyacı var. Arduino -> Kitabxanalar qovluğuna gedin, Adafruit SSD1306 qovluğunu açın və Adafruit_SSD1306.h kitabxanasını redaktə edin. Şərh xətti 70 və şərh etmə xətti 69. Ekranınızın 128x64 qətnaməsi var, bunu burada təyin edirik. İndi kodu tez bir şəkildə nəzərdən keçirməyə hazırıq.

Əvvəlcə Arduinonun tanımasını istədiyimiz RFID etiketinin dəyərini elan edirik. Bu tam ədədlər toplusudur.

int kodu = {69, 141, 8, 136}; // Bu saxlanılan UID -dir

Sonra RFID oxuyucusunu və ekranı işə salırıq.

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

Bundan sonra, loop funksiyasında hər 100 ms -də oxucuda bir etiket yoxlayırıq.

Oxucuda bir etiket varsa, UID -ni oxuyuruq və onu ekranda çap edirik. Sonra, oxuduğumuz etiketin UID kodunu kod dəyişənində saxlanılan dəyərlə müqayisə edirik. Dəyərlər eynidirsə, UNLOCK mesajını göstəririk, əks halda bu mesajı göstərmirik.

if (match) {Serial.println ("\ nBu kartı bilirəm!"); printUnlockMessage (); } başqa {Serial.println ("\ nBilməyən Kart"); }

Əlbəttə ki, layihənin daha çox RFID etiketini tanıması üçün 1 -dən çox UID dəyərini saxlamaq üçün bu kodu dəyişə bilərsiniz.

Bu sadəcə bir nümunədir. Həmişə olduğu kimi bu Təlimata əlavə olunan layihənin kodunu tapa bilərsiniz.

Addım 6: Son Düşüncələr və Təkmilləşdirmələr

Son Fikirlər və Təkmilləşdirmələr
Son Fikirlər və Təkmilləşdirmələr

Gördüyünüz kimi çox aşağı qiymətlə layihələrimizə RFID oxucu əlavə edə bilərik. Belə bir oxucu ilə asanlıqla bir təhlükəsizlik sistemi qura bilərik və ya daha əyləncəli layihələr qura bilərik.

Əsas niyyətim, bu RFID oxuyucusundan və bir çox RFID etiketindən istifadə edərək uşaqlar üçün bəzi interaktiv oyunlar qurmaqdır. Gələcək bir videoda, RFID etiketindən məlumat yazmağa və oxumağa çalışacağıq. Bu nöqtədə, bu RFID kart oxuyucusu haqqında fikirlərinizi eşitmək istərdim. Hər hansı bir layihənizdə istifadə etməyi düşünürsünüzmü? Zəhmət olmasa aşağıdakı şərh bölməsində hər hansı bir fikir və ya fikir yazın, təşəkkürlər!

Tövsiyə: