RFID (تحديد الترددات الراديوية) هي تقنية غير مكلفة ويمكن الوصول إليها. يمكن استخدامه في العديد من التطبيقات مثل التحكم في الوصول ، والأمن ، وتتبع الأصول ، وتتبع الأشخاص ، وما إلى ذلك. لقد رأيت نظام قفل الباب RFID في الفنادق والمكاتب والعديد من الأماكن الأخرى حيث يتعين عليك فقط وضع البطاقة بالقرب من قارئ RFID لثانية والباب سيفتح. استخدمنا قارئ RFID وعلامة في العديد من المشاريع القائمة على RFID.
في منشوراتنا السابقة ، قمنا ببناء قفل باب بسيط RFID ، هذه المرة نستخدم قفل باب Solenoid حقيقي ونتحكم فيه باستخدام RFID و Arduino. هنا يتم استخدام مستشعر Hall Effect ومغناطيس لاكتشاف حركة الباب. سيتم وضع مستشعر Hall Effect على إطار الباب والمغناطيس على الباب نفسه. عندما يكون مستشعر Hall Effect والمغناطيس قريبين من بعضهما البعض ، سيكون مستشعر Hall Effect في حالة منخفضة وسيظل الباب مغلقًا ، وعندما لا يكون المستشعر والمغناطيس مغلقين ، فهذا يعني أن الباب مفتوح ومستشعر القاعة في الأعلى حالة. سوف نستخدم آلية Hall Effect لقفل وفتح الباب تلقائيًا. لمعرفة المزيد حول Hall Sensor وعمله ، اتبع الرابط.
المكونات مطلوبة
- اردوينو اونو
- وحدة RFID-RC522
- 12 فولت قفل الملف اللولبي
- وحدة الترحيل
- مستشعر تأثير القاعة
- 10kΩ المقاوم
- صفارة
قفل الملف اللولبي
يعمل قفل الملف اللولبي على آلية القفل الإلكتروني والميكانيكي. يحتوي هذا النوع من القفل على سبيكة ذات قطع مائل وقوس تثبيت جيد. عندما يتم تطبيق الطاقة ، يقوم التيار المستمر بإنشاء مجال مغناطيسي يحرك سبيكة الداخل ويحافظ على الباب في وضع الفتح. ستحتفظ البزاقة بموقعها حتى تتم إزالة الطاقة. عندما يتم فصل الطاقة ، يتحرك البزاق للخارج ويغلق الباب. لا يستخدم أي قوة في حالة القفل. لقيادة قفل الملف اللولبي ، ستحتاج إلى مصدر طاقة يمكنه توفير 12V @ 500mA.
مخطط الرسم البياني
يرد أدناه مخطط الدائرة لقفل الباب اللولبي باستخدام Arduino.
ترد الاتصالات بين Arduino و RFID في الجدول أدناه. يتم توصيل الدبوس الموجب للجرس بالدبوس الرقمي 4 من Arduino ، ودبوس GND متصل بالدبوس الأرضي في Arduino. يتم استخدام المقاوم 10K بين دبوس VCC و OUT لمستشعر Hall Effect. يتم توصيل قفل الملف اللولبي بـ Arduino من خلال وحدة الترحيل.
RFID دبوس | اردوينو أونو بين |
SDA | رقمي 10 |
SCK | رقمي 13 |
MOSI | رقمي 11 |
ميسو | رقمي 12 |
IRQ | غير متصل |
GND | GND |
RST | رقمي 9 |
3.3 فولت | 3.3 فولت |
دبوس مستشعر تأثير القاعة | اردوينو أونو بين |
5 فولت | 5 فولت |
GND | GND |
خارج | 3 |
بعد لحام جميع المكونات الموجودة على لوحة الأداء وفقًا لمخطط الدائرة ، تبدو الصورة أدناه:
شرح الكود
يتم تقديم الكود الكامل لقفل الملف اللولبي من Arduino في نهاية المستند. نحن هنا نوضح هذا الرمز خطوة بخطوة لفهم أفضل.
ابدأ الكود بتضمين جميع المكتبات المطلوبة. هنا يتطلب فقط مكتبتين ، واحدة لاتصالات SPI بين Arduino و RFID ، والثانية لوحدة RFID. يمكن تنزيل كلتا المكتبتين من الروابط الواردة أدناه:
- SPI.h
- MFRC522.h
حدد الآن المسامير الخاصة بـ Buzzer و Solenoid Lock و RFID Module
عدد الجرس = 4 ؛ const int LockPin = 2 ؛ #define SS_PIN 10 # تعريف RST_PIN 9
ثم حدد دبوس القفل ودبوس الطنان كمخرج ، ودبوس مستشعر Hall Effect كمدخل وابدأ اتصال SPI.
pinMode (LockPin ، الإخراج) ؛ pinMode (الجرس ، الإخراج) ؛ pinMode (hall_sensor ، INPUT) ؛ SPI.begin () ، // Initiate SPI bus mfrc522.PCD_Init () ؛ // بدء MFRC522
داخل الحلقة الفارغة ، اقرأ قيم مستشعر القاعة ، وعندما تصبح منخفضة ، أغلق الباب.
الدولة = digitalRead (hall_sensor) ؛ Serial.print (حالة) ؛ تأخير (3000) ؛ if (state == LOW) {digitalWrite (LockPin، LOW) ؛ Serial.print ("الباب مغلق") ؛ digitalWrite (الجرس ، عالية) ؛ تأخير (2000) ؛ digitalWrite (الجرس ، منخفض) ؛}
داخل وظيفة الحلقة الفارغة ، ستتحقق من وجود بطاقة RFID جديدة ، وإذا كانت هناك بطاقة جديدة ، فسوف تتحقق من معرف البطاقة. للحصول على بطاقة صالحة ، سيتم فتح القفل ؛ وإلا ، فسيتم طباعة " أنت غير مصرح لك. يظهر العمل الكامل في الفيديو المقدم في النهاية.
إذا (! mfrc522.PICC_IsNewCardPresent ()) {return؛ } // حدد إحدى البطاقات إذا (! mfrc522.PICC_ReadCardSerial ()) {return؛ } // إظهار المعرف الفريد على جهاز العرض التسلسلي String content = ""؛ حرف البايت لـ (بايت i = 0؛ i <mfrc522.uid.size؛ i ++) {content.concat (سلسلة (mfrc522.uid.uidByte <0x10؟ "0": "")) ؛ content.concat (سلسلة (mfrc522.uid.uidByte ، HEX)) ؛ } Serial.println () ، Serial.print ("الرسالة:") ؛ content.toUpperCase () ، if (content.substring (1) == "60 4E 07 1E") // غيّر هنا المعرف الفريد للبطاقة / البطاقات التي تريد منحها حق الوصول {digitalWrite (LockPin، HIGH) ؛ Serial.print ("الباب مفتوح") ؛ digitalWrite (الجرس ، عالية) ؛ تأخير (2000) ؛ الكتابة الرقمية (الجرس ، منخفضة) ؛ } else {Serial.println ("أنت غير مفوض")؛ digitalWrite (الجرس ، عالية) ؛ تأخير (2000) ؛ الكتابة الرقمية (الجرس ،منخفض)؛ }}
اختبار قفل الملف اللولبي RFID
بمجرد أن تكون جاهزًا باستخدام الكود والأجهزة ، يمكنك البدء في اختبار مشروع قفل الباب اللولبي. لقد قمنا هنا بلحام جميع المكونات الموجودة على لوحة الأداء بحيث يمكن تثبيتها على الباب بسهولة.
لاختبارها ، قم بتركيب لوحة الأداء على إطار الباب والمغناطيس على الباب حتى تتمكن من اكتشاف حركة الباب. توضح الصورة أدناه كيفية تثبيت مستشعرات المغناطيس والقاعة على الباب.
الآن امسح بطاقة RFID المصرح بها لفتح قفل الباب. سيبقى قفل باب الملف اللولبي مفتوحًا حتى يصبح خرج مستشعر Hall Effect مرتفعًا. الآن عندما يصل الباب مرة أخرى بالقرب من مستشعر القاعة أثناء الإغلاق ، ستتغير حالة مستشعر Hall Effect إلى Low بسبب المجال المغناطيسي (الناتج عن المغناطيس المتصل بالباب) ، وسيتم إغلاق القفل مرة أخرى.
بدلاً من استخدام مستشعر Hall Effect ، يمكنك إدخال تأخير لإبقاء الباب مفتوحًا لفترة محددة.
يتم إعطاء رمز كامل وفيديو العمل أدناه. تحقق أيضًا من أنواع قفل الباب الأخرى باستخدام تقنيات مختلفة.