جدول المحتويات:

قفل باب اردوينو RFID: 5 خطوات (بالصور)
قفل باب اردوينو RFID: 5 خطوات (بالصور)

فيديو: قفل باب اردوينو RFID: 5 خطوات (بالصور)

فيديو: قفل باب اردوينو RFID: 5 خطوات (بالصور)
فيديو: مشروع قفل باب بكلمة مرور - أردوينو + لوحة المفاتيح 2024, شهر نوفمبر
Anonim
اردوينو قفل الباب RFID
اردوينو قفل الباب RFID
اردوينو قفل الباب RFID
اردوينو قفل الباب RFID
اردوينو قفل الباب RFID
اردوينو قفل الباب RFID
اردوينو قفل الباب RFID
اردوينو قفل الباب RFID

*** تم التحديث في 8/9/2010 *** أردت أن أجعل طريقة سهلة وآمنة لدخول المرآب الخاص بي. كان RFID هو أفضل طريقة لفتح بابي ، حتى لو كانت يدي ممتلئتين ، يمكنني فتح الباب وفتحه! لقد قمت ببناء دائرة بسيطة باستخدام شريحة اردوينو ATMega 168 الأساسية وقارئ ID-20 RFID للتحكم في قفل الباب الإلكتروني. تتكون الدائرة من 3 أجزاء منفصلة ، قارئ لقراءة علامات RFID ، وحدة تحكم لقبول البيانات من القارئ والتحكم في إخراج RGB LED وقفل الباب الكهربائي. يتم تثبيت قفل الباب أولاً في الباب واختباره ببطارية 9 فولت لضمان التثبيت الصحيح. في معظم الحالات ، تريد دائرة مفتوحة بشكل طبيعي على قفل الباب ، أو تأمين الفشل. هذا يعني أن الباب يظل مغلقًا عند عدم مرور أي تيار من خلاله. عندما يتم تمرير 12 فولت تيار مستمر عبر المغناطيس الكهربائي في قفل الباب ، فإن لوحة في القفل تفسح المجال وتسمح للباب بالفتح بحرية. يتم وضع القارئ على الجزء الخارجي من الباب ويكون منفصلاً عن وحدة التحكم في الداخل بحيث لا يمكن لأحد التحايل على الأمان عن طريق كسر فتح القارئ ومحاولة ماس كهربائى القارئ. تستقبل وحدة التحكم البيانات التسلسلية من القارئ وتتحكم في RGB led وقفل الباب. في هذه الحالة ، أضع كلاهما على ألواح خبز منفصلة للاختبار. إليك نظرة عامة بالفيديو على النظام قيد التشغيل. تابع القراءة لترى كيفية إنشاء واحد لنفسك! ** تحديث ** تم اختبار جميع تصميمات الشفرات والخطط وتصميمات ثنائي الفينيل متعدد الكلور وصقلها. تم نشرها جميعًا هنا اعتبارًا من 8/9/2010 فيديو محدث للنظام النهائي المثبت ويعمل.

الخطوة 1: الأجزاء المطلوبة

الأجزاء المطلوبة
الأجزاء المطلوبة

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

اردوينو الاشياء

ATmega168 مع Arduino Bootloader 4.95 دولار

كريستال 16 ميجا هرتز 1.50 دولار

مكثف سيراميك 22pF 0.25 دولار (x2)

مقاوم 10 كيلو أوم 1/6 واط PTH $ 0.25

مفتاح الضغط المصغر 0.35 دولار

Triple Output LED RGB - منتشر 1.95 دولار

الاشياء RFID

أي من هذين ، 20 لديه نطاق أفضل ، و 12 أصغر ، RFID Reader ID-12 29.95 دولارًا ، RFID Reader ID-20 34.95 دولارًا

اندلاع قارئ RFID 0.95 دولار

Break Away Headers - 2.50 دولارًا أمريكيًا على التوالي

علامة RFID - 125 كيلو هرتز 1.95 دولار

آخر

ترانزستور TIP31A (راديو شاك / متجر إلكترونيات محلي 1.50 دولار)

قفل الباب من موقع ئي باي. فشل الباب التحكم في الوصول الآمن Electric Strike v5 NO $ 17.50 (kawamall ، bay)

الخطوة 2: بناء وحدة تحكم Arduino

بناء وحدة تحكم Arduino
بناء وحدة تحكم Arduino
بناء وحدة تحكم Arduino
بناء وحدة تحكم Arduino
بناء وحدة تحكم Arduino
بناء وحدة تحكم Arduino

تتمثل الخطوة الأولى لبناء قفل باب RFID باستخدام Arduino أساسي في إخراج لوحة اردوينو أساسية للعمل. تأتي معظم شرائح Arduino ATMega 168 مسبقة التفليش مع برنامج وميض افتراضي مثبت مسبقًا. قم بتوصيل LED بالمخرج الرقمي 13 وتحقق من أن كل شيء يعمل.

سيكون جزء الأجهزة في قارئ RFID هذا بسيطًا جدًا إذا استخدمنا اردوينو عاديًا مع مبرمج USB مدمج. نظرًا لأنني أخطط لوضع هذا في الحائط وعدم لمسه مرة أخرى ، فأنا لا أرغب في استخدام لوحة اردوينو ضخمة ضخمة بقيمة 30 دولارًا عندما يمكنني شراء ATMega 168 بقيمة 5 دولارات وصنع ثنائي الفينيل متعدد الكلور مخصص أصغر بكثير.

لأنني اخترت إنشاء دائرة أردوينو أساسية بنفسي ، فأنا بحاجة إلى مبرمج USB-> Serial FDIT. لقد قمت بتضمين مخططات Eagle لوحدة التحكم مع مصدر طاقة مبني من منظم جهد 7805. في الاختبار ، استخدمت مصدر طاقة لوح الخبز.

للحصول على اردوينو وتشغيله ، كل ما تحتاجه حقًا هو ATMega168 مع وميض برنامج اردوينو عليه ، ومكثفات 2x 22pF ، وكريستال 16 ميجا هرتز ، ومقاوم 10 كيلو أوم ، وزر ضغط ولوحة توصيل. إن التوصيل لهذا معروف جيدًا ولكني قمت بتضمين المخطط بأكمله للدائرة.

سيقوم arduino بتشغيل 4 مخرجات ، 1 لكل من Red / Green / Blue LEDs ، و 1 لتشغيل TIP31A لإرسال 12vDC إلى قفل الباب. يتلقى Arduino البيانات التسلسلية الموجودة على خط Rx الخاص به من قارئ ID-20 RFID.

الخطوة 3: بناء قارئ RFID

بناء قارئ RFID
بناء قارئ RFID
بناء قارئ RFID
بناء قارئ RFID
بناء قارئ RFID
بناء قارئ RFID

الآن بعد أن أصبح لديك خبز اردوينو الخاص بك ويعمل ، يمكنك تجميع جزء قارئ RFID من الدائرة التي ستحتوي على ID-10 أو ID-20 و RGB LED للإشارة إلى حالة الدائرة. تذكر أن القارئ سيكون بالخارج ومنفصلًا عن وحدة التحكم بالداخل حتى لا يتمكن أي شخص من الاقتحام بسهولة.

لبناء هذا ، سنرسل 5 فولت / أرضي من لوحة الخبز الأساسية إلى لوحة الخبز الثانوية التي نبني القارئ عليها. أرسل أيضًا أكثر من 3 أسلاك من 3 من دبابيس إخراج اردوينو للتحكم في RGB LED ، واحد لكل لون. سيكون هناك سلك آخر ، بني في الصور ، عبارة عن اتصال تسلسلي لـ ID-20 للتحدث إلى الإدخال التسلسلي لـ Arduino's Rx. هذه دائرة بسيطة للغاية للاتصال. تحصل LED على مقاومات وبعض النقاط على ID-20 مرتبطة بالأرض / 5 فولت لتعيين الحالة الصحيحة.

لتسهيل عملية اللوح ، تبيع ID-10 / ID-20 Sparkfun لوحة Breakout التي تسمح لك بإرفاق رؤوس دبوس أطول متباعدة لتناسب لوح الخبز. هذا الجزء ورؤوس الدبوس والمدرجة في قائمة الأجزاء.

يجب أن يكون التخطيطي مضيقًا للأمام ويسهل متابعته.

الخطوة 4: البرنامج

حان الوقت لبرمجة اردوينو الخاص بك. قد يكون هذا صعبًا بعض الشيء باستخدام اردوينو أساسي ، وقد تضطر إلى الضغط على زر إعادة الضبط عدة مرات قبل وأثناء الجزء الأول من التحميل. من المهم جدًا تذكره ، ستحصل على خطأ في التحميل إذا لم تقم بفصل الخط التسلسلي ID-20 مؤقتًا بخط Rx الخاص بـ arduino. يحتوي ATMega168 على مدخل Rx واحد فقط ويستخدمه لتحميل الكود للتحدث إلى المبرمج. افصل ID-20 أثناء البرمجة ثم أعد توصيله عند الانتهاء. لقد استخدمت مبرمج FTDI والذي يسمح لك ببرمجة Arduino عبر USB باستخدام 4 أسلاك فقط. يُظهر مخطط وحدة التحكم اتصال رأس الدبوس للسماح لك بتوصيله مباشرة. تبيع Sparkfun أيضًا هذا الجزء ولكن قد يكون لدى الكثيرين بالفعل.

يمكنك بسهولة تحميل الكود الخاص بي على اردوينو الخاص بك ولا تنظر إلى الوراء أبدًا ولكن ما هي المتعة في ذلك؟ اسمحوا لي أن أشرح الفكرة الأساسية لكيفية عملها.

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

يقوم البرنامج بتشغيل Blue LED للإشارة إلى أنه جاهز لقراءة بطاقة جديدة. عند قراءة البطاقة ، تقرر ما إذا كانت بطاقة صالحة أم لا من خلال مقارنة ما تقرأه بقائمة البطاقات الصالحة. إذا كان المستخدم صالحًا ، يقوم arduino بإيقاف تشغيل مؤشر LED الأزرق وتشغيل المصباح الأخضر لمدة 5 ثوانٍ. كما أنه يقوم بتشغيل إخراج مرتفع آخر لمدة 5 ثوانٍ. هذا الإخراج متصل بترانزستور TIP31A ويسمح لاردوينو الصغير بالتحكم في قفل باب أكبر بكثير بجهد 12 فولت 300 مللي أمبير دون أن يتعرض للتلف. بعد 5 ثوانٍ ، يتم إعادة قفل قفل الباب ويعود مؤشر LED إلى اللون الأزرق لانتظار قراءة بطاقة أخرى. إذا كانت البطاقة غير صالحة ، يتغير مؤشر LED إلى الأحمر لبضع ثوان والعودة إلى اللون الأزرق لانتظار بطاقة أخرى.

من المهم أن يظل قفل الباب يعمل حتى إذا فقدت اردوينو الطاقة بين عشية وضحاها أو تمت إعادة ضبطها. لذلك يتم تخزين جميع معرفات البطاقة الصالحة في ذاكرة EEPROM. يحتوي ATMega168 على 512 بايت من ذاكرة EEPROM. تحتوي كل بطاقة RFID على رقم تسلسلي 5 Hex Byte ومجموع 1 Hex Byte Check يمكننا استخدامه للتحقق من عدم وجود أخطاء في الإرسال بين ID-20 و arduino.

يتم تخزين البطاقات الصالحة في EEPROM باستخدام البايت الأول كعداد. على سبيل المثال ، إذا كان هناك 3 بطاقات صالحة مخزنة ، فإن البايت الأول في EEPROM سيكون 3. EEPROM.read (0)؛ = 3. بمعرفة هذا ، وحقيقة أن طول كل معرّف يبلغ 5 بايت ، نعلم أن 1-5 عبارة عن بطاقة واحدة ، و6-10 عبارة عن بطاقة 2 و11-15 عبارة عن بطاقة 3. يمكننا إنشاء حلقة تفحص ذاكرة EEPROM 5 بايت في المرة الواحدة ويحاول العثور على البطاقة التي قرأها القارئ.

ولكن كيف نضيف كروت جديدة للـ EEPROM بعد تركيب الدائرة ؟؟ لقد قرأت في إحدى بطاقات RFID التي أملكها وقمت بترميزها لتكون بطاقة Master RFID. لذلك حتى إذا تم مسح ذاكرة EEPROM بالكامل ، فستظل البطاقة الرئيسية تعمل. عندما تتم قراءة بطاقة ، فإنها تتحقق أولاً لمعرفة ما إذا كانت بطاقة Master Card ، وإذا لم تكن كذلك ، فإنها تستمر في معرفة ما إذا كانت بطاقة صالحة أم لا. إذا كانت البطاقة هي البطاقة الرئيسية ، فلدينا اردوينو نذهب إلى "وضع البرمجة" حيث يومض RGB وينتظر قراءة علامة صالحة أخرى. تتم إضافة العلامة التالية التي تمت قراءتها إلى المكان المجاني التالي في EEPROM ويتم زيادة العداد 1 إذا لم تكن البطاقة موجودة بالفعل في ذاكرة EEPROM. ثم يعود القارئ إلى الوضع العادي وينتظر قراءة بطاقة جديدة.

لم أقم حاليًا ببرمجة طريقة لحذف بطاقة لأن أسباب حذف البطاقة من المرجح أنها ضاعت أو سُرقت. نظرًا لأنه من المرجح أن يتم استخدام هذا مع 1-10 أشخاص ، فإن أسهل شيء يمكن القيام به هو برمجة بطاقة Master Erase التي من شأنها مسح جميع البطاقات من EEPROM ثم إعادة إضافتها جميعًا ، الأمر الذي يستغرق بضع ثوانٍ فقط. لقد أضفت رمزًا لمسح EEPROM ولكني لم أقم بتطبيق هذه الميزة حتى الآن..

الرمز مرفق في ملف نصي مع نسخة من قائمة الأجزاء.

الخطوة 5: التوسيع

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

المتأهل للتصفيات النهائية في مسابقة Arduino

موصى به: