في مشروع نظام الحضور المستند إلى RFID ، سنشرح لك كيف يمكننا حساب الحضور تلقائيًا باستخدام بطاقات RFID. تُستخدم تقنية RFID (تحديد الترددات اللاسلكية والكشف عنها) بشكل شائع في المدارس والكليات والمكاتب والمحطات لأغراض مختلفة لتتبع الأشخاص تلقائيًا. سنقوم هنا بحساب حضور شخص مخول باستخدام RFID.
يمكننا تقسيم نظام الحضور الكامل إلى أقسام مختلفة: قسم القارئ وقسم التحكم وقسم السائق وقسم العرض. يظهر دور كل قسم في الرسم البياني أدناه:
قسم القارئ
يحتوي هذا القسم على RFID ، وهو جهاز إلكتروني يتكون من جزأين - أحدهما قارئ RFID والآخر هو علامة أو بطاقة RFID. عندما نضع علامة RFID بالقرب من قارئ RFID ، فإنها تقرأ بيانات العلامة بشكل متسلسل. تحتوي علامة RFID على رمز حرف مكون من 12 رقمًا في ملف. يعمل RFID هذا بمعدل باود يبلغ 9600 بت في الثانية. يستخدم RFID مغناطيسًا كهربائيًا لنقل البيانات من قارئ إلى علامة أو علامة إلى قارئ.
قسم الرقابة:
8051 متحكم يستخدم للتحكم في العملية الكاملة لهذا المشروع. هنا باستخدام 8051 ، نتلقى بيانات RFID ونرسل الحالة أو الرسائل إلى LCD.
قسم العرض:
يتم استخدام شاشة LCD مقاس 16 × 2 في هذا المشروع لعرض الرسائل عليها.
قسم السائق:
يحتوي هذا القسم على محرك L293D لفتح البوابة وجرس مع ترانزستور BC547 NPN للإشارات.
العمل
عندما يضع شخص ما علامة RFID الخاصة به على قارئ RFID ، يقرأ RFID بيانات العلامة ويرسلها إلى متحكم 8051 ثم يقارن الميكروكونترولر هذه البيانات ببيانات أو معلومات محددة. إذا تم مطابقة البيانات مع البيانات المحددة ، فإن وحدة التحكم الدقيقة تزيد الحضور من قبل أحد الأشخاص في العلامة وإذا لم يتم التطابق ، فإن المتحكم الدقيق يعرض بطاقة غير صالحة على شاشة LCD ويصدر الجرس صوت تنبيه مستمر لبعض الوقت.
يظهر مخطط الدائرة لمشروع نظام الحضور باستخدام RFID أعلاه. في الدائرة ، يتم توصيل شاشة LCD في وضع أربع بتات باستخدام متحكم 8051. تتصل دبابيس RS و RW و EN بشاشات الكريستال السائل مباشرة برقم PORT 1 pin P1.0 و P1.1 و P1.2. تتصل المسامير D4 و D5 و D6 و D7 بشاشات الكريستال السائل مباشرةً في الطرف P1.4 و P1.5 و P1.6 و P1.7 من المنفذ 1. ويتم توصيل محرك المحرك برقم PORT pin P2.4 و P2.5. والجرس متصل في P2.6 في PORT2.
شرح البرنامج
لبرمجة نظام الحضور المستند إلى RFID ، نحتاج أولاً إلى تضمين ملفات الرأس وتحديد دبوس ومتغيرات الإدخال والإخراج.
#تضمن
بعد ذلك نحتاج إلى إنشاء دالة للتأخير.
تأخير باطل (int itime) {int i، j؛ لـ (أنا = 0 ؛ أنا
ثم نصنع بعض الوظائف لشاشات الكريستال السائل ونقوم بتهيئة وظيفة تشغيل شاشات الكريستال السائل ،
lcd_init باطل (باطل) {lcdcmd (0x02) ؛ lcdcmd (0x28) ؛ lcdcmd (0x0e) ؛ lcdcmd (0x01) ؛ }
هنا لدينا بعض الوظائف التي استخدمناها في برنامجنا. في هذا قمنا بتكوين معدل الباود 9600 بت في الثانية بتردد كريستالي 11.0592 ميجا هرتز. نحن نراقب سجل SBUF لتلقي البيانات.
uart_init () باطل {TMOD = 0x20 ؛ SCON = 0x50 ؛ TH1 = 0xfd ؛ TR1 = 1 ؛ } char rxdata () {while (! RI)؛ ch = SBUF ؛ RI = 0 ؛ عودة الفصل }
بعد هذا في البرنامج الرئيسي ، قمنا بتهيئة lcd و UART ثم نقرأ إخراج RFID عند وجود أي علامة واحدة عليه. نقوم بتخزين هذه السلسلة في مصفوفة ثم مطابقتها مع بيانات مصفوفة محددة مسبقًا.
lcdcmd (1) ؛ lcdstring ("ضع بطاقتك:") ؛ lcdcmd (0xc0) ؛ أنا = 0 ؛ لـ (i = 0 ؛ i <12 ؛ i ++) rfid = rxdata () ؛ rfid = '0' ؛ lcdcmd (1) ؛
في حالة حدوث المباراة ، تزيد وحدة التحكم من الحضور بمقدار واحد. يعمل صفير الصفير الآخر باستمرار وتعرض شاشة LCD بطاقة غير صالحة.
if (strncmp (rfid، "160066A5EC39"، 12) == 0) {count1 ++؛ lcdcmd (1) ؛ lcdstring ("الحضور") ؛ lcdcmd (0xc0) ؛ lcdstring ("مسجل") ؛ تأخير (200) ؛ lcdcmd (1) ؛ lcdstring ("Student1") ؛ lcdcmd (0xc0) ؛ lcdstring ("رقم Attnd.:") ؛ sprintf (نتيجة ، "٪ d" ، عدد 1) ؛ lcdstring (نتيجة) ؛
تخطيط ثنائي الفينيل متعدد الكلور
هنا هو تخطيط ثنائي الفينيل متعدد الكلور لنظام الحضور القائم على RFID: