تحكم في بوابة الامان باستخدام الكارت الممغنط🔐

هل استخدمت بطاقة مرور من قبل للدخول إلى مبنى أو موقف السيارات من خلال بوابة حيث تقرب بطاقتك من القارئ لتسمح لك بالمرور من خلالها؟

 تسمى هذه التكنولوجيا RFID.


في هذا الدرس سوف نتعلم كيف يمكنك استخدام قارئ RFID مع الاردوينو.


مقدمة


قارئ RFID هو وحدة تقرأ رقمًا فريدًا من tag أو بطاقة عندما تقترب منها. يمكنك بعد ذلك استخدام هذا الرقم لتحديد حامل البطاقة ومن ثم التعرف عليه والسماح له بالمرور.


في هذا الدرس، سنستخدم قارئ RFID لقراءة البيانات من البطاقة ثم عرض رسالة على جهاز الكمبيوتر الخاص بك. يمكننا استخدام هذا المشروع لفتح بوابة بحيث لا يتمكن من الدخول إلا من لديه البيانات الصحيحة على بطاقته.


الحصول على القطع


ستحتاج إلى المكونات التالية لهذا المشروع، يمكنك شراؤها من متجر ڤولتات.

Sale Off
Voltaat Arduino Uno R3 (Voltaat Version)
45 QAR
Sale Off
Voltaat RFID Kit
0 QAR 35 QAR
Sale Off
Voltaat Jumper Wires - Male to Female (40 Pack)
10 QAR

التوصيل


توضح الصورة التالية كيفية توصيل الأسلاك بين قارئ RFID والاردوينو. بمجرد توصيل قارئ RFID والاردوينو ببعضهما البعض، قم بتوصيل الاردوينو بجهاز الكمبيوتر الخاص بك باستخدام وصلة USB.



من المهم ملاحظة أن وحدة قارئ RFID تعمل على 3.3 فولت، وليس 5 فولت، لذلك قمنا بتوصيلها بالمخرج 3.3 فولت في لوحة الاردوينو.


التوصيلات من قارئ RFID إلى الاردوينو:

• Arduino (3.3V) pin ←RFID 3.3V pin

• Arduino pin 9 ← RFID RST pin

• Arduino GND pin ←RFID GND pin

• unconnected ← RFID IRQ pin

• • Arduino pin 12  ← RFID MISO pin

• Arduino pin 11 ← RFID MOSI pin

• Arduino pin 13 ← RFID SCK pin

• Arduino pin 10 ←RFID SDA pin

برمجة الاردوينو


الغرض من نص البرمجة هذا هو قراءة بيانات البطاقة باستخدام قارئ RFID ومقارنته بالرقم الذي قمنا بتحديده في نص البرمجة. إذا كان المعرف مطابقا، فسيتم عرض رسالة على جهاز الكمبيوتر الخاص بك تشير إلى أن لديك الحق في المرور بنجاح؛ وإلا فإنه سيعرض رسالة رفض المرور.


لكي يعمل نص البرمجة بدون أخطاء، تحتاج إلى تنزيل مكتبة قارئ RFID. المكتبات عبارة عن ملفات يمكنك تنزيلها ونسخها إلى ملفات برنامج Arduino IDE حتى يتمكن الاردوينو من التعرف على أجهزة استشعار مختلفة. يمكنك تنزيل ملفات المكتبة من قسم المصادر ثم تثبيتها باتباع هذا الدرس.


RFID library


بعد إضافة مكتبة MFRC522 إلى Arduino IDE، ستحتاج إلى معرفة بيانات البطاقة حتى تتمكن من استخدامه في التعليمات البرمجية الخاصة بك.


يوجد نص برمجي جاهز موجود في Arduino IDE سيسمح لك بتحقيق ذلك، ما عليك سوى اتباع الخطوات التالية!


 قم بفتح قائمة DumpInfo ← MFRC522 ← file 



ثم قم بتحميل نص البرمجة على لوحة الاردوينو الخاصة بك!


بعد ذلك، قم بفتح شاشة التواصل وعرض البيانات من Arduino IDE، ستظهر رسالة تطلب منك تقريب البطاقة من قارئ RFID، وستقوم الآن بقراءة معرف البطاقة وعرضها مباشرة على جهاز الكمبيوتر الخاص بك كما في الصورة التالية.


ملاحظة: تأكد من اختيار معدل baud الصحيح (9600).




قم بنسخ رقم UID. سنحتاج إلى إدراجه في نص البرمجة التالي.

/*
Voltaat learn (https://www.voltaat.com/pages/voltaat-learn)
Link for full tutorial: https://bit.ly/3UN2P70
RFID reader library: https://bit.ly/3S9q9KN
SPI library:It is included in the Arduino IDE by defulalt
Tutorial: RFID reader for safe pass gate
It is important to note that the RFID reader module operates on 3.3V not 5V,
so we connected it with the 3.3V pin.
Connections from the RFID reader to the Arduino:
• RFID 3.3V pin → Arduino VCC (3.3V) pin
• RFID RST pin → Arduino pin 9
• RFID GND pin → Arduino GND pin
• RFID IRQ pin → unconnected
• RFID MISO pin → Arduino pin 12
• RFID MOSI pin → Arduino pin 11
• RFID SCK pin → Arduino pin 13
• RFID SDA pin → Arduino pin 10
*/

//This library allows you to communicate with SPI devices
#include < SPI.h >
//This library allows you to use RFID reader
#include < MFRC522.h >

//Define RFID reader pins
#defineSS_PIN10
#defineRST_PIN9

//Create MFRC522 instance
MFRC522 mfrc522(SS_PIN, RST_PIN);



//Commands inside void setup run once
void setup()
{
  //Start the serial monitor at 9600 baud rate (9600 bits per second)
  Serial.begin(9600);
  //Initialize spi connection
  SPI.begin();
  //Initiate MFRC522
  mfrc522.PCD_Init();
  //Print to serial monitor
  Serial.println("Approximate your card to the reader...");
  Serial.println();

}

//Commands inside void loop run forever
void loop()
{
  //Look for new cards
  if( ! mfrc522.PICC_IsNewCardPresent())
  {
    return;
  }

  //Select one of the cards
  if( ! mfrc522.PICC_ReadCardSerial())
  {
    return;
  }

  //Print to serial monitor
  Serial.print("UID tag :");
  String content = "";
  byte letter;
  for(byte i = 0; i < mfrc522.uid.size; i++)
  {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
    content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
    content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  //Make sure you change this with your own UID number
  if(content.substring(1) == "8A 21 EC 81")
  {
    //Print to serial monitor
    Serial.println("Authorised access, The gate will open");
    Serial.println();
    //Delay for 3 sec
    delay(3000);
  }

  else   {
    //Print to serial monitor
    Serial.println("Access denied, Please try again");
    //Delay for 3 sec
    delay(3000);
  }
}

قم باختباره




بعد ان قمت بتوصيل قارئ RFID بشكل صحيح مع الاردوينو كما أوضحنا في قسم التوصيل، بالإضافة إلى تحميل نص البرمجة على لوحة الاردوينو الخاصة بك.


يمكنك الآن الوصول إلى شاشة التواصل وعرض البيانات في Arduino IDE عن طريق النقر فوق رمز العدسة المكبرة في الزاوية اليمنى العليا.



نافذة التواصل وعرض البيانات هي أداه رائعة في Arduino IDE تمكنك من إجراء اتصال بين جهاز الكمبيوتر الخاص بك والاردوينو. تسمح بإرسال أوامر واستقبال البينات المختلفة وتكون مفيدة في عرض البيانات مثل القراءات من الحساسات المختلفة.


كما نرى في الصورة التالية، تعرض شاشة التواصل رسالة تطلب منك تقريب البطاقة من RFID.




عند مسح البطاقة الصحيحة باستخدام قارئ RFID، سيتم عرض رسالة بالسماح بالوصول.




إذا كنت تستخدم بطاقة أخرى مختلفة لم يتم تحديدها في نص البرمجة، فسيتم طباعة رسالة رفض الوصول.

المصادر


Arduino Code

RFID library

Fritzing Wiring file

دروس أخري


In this tutorial, we will use the PIR sensor to send a message to your computer when someone enters your house.


In your daily life, you deal with many devices that have an LCD display. These LCDs help the user to interact with these devices and use them more easily.


Most of us are familiar with the switches used in household devices. A relay is a type of switch that can be connected to an Arduino or any other microcontroller.