مشروع قفل أو جرس باب سرى Secret doorbell ببرمجيات Flowcode
قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الاليقسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots
مشروع قفل أو جرس باب سرى Secret doorbell ببرمجيات Flowcode
الغرض : جعل حياتك أكثر هدوءا . تصميم جرس باب يعطى صوت فقط عندما يعرف الزائر كود من أربعة سرية (كلمة السر) ويمكن استخدامه لأى غرض آخر كقفل باب شقة أو عمارة أو جراج أو خزينة أو......
البرنامج : تمهيد : الأربعة أرقام فى هذا المثال هى 5578 "كلمة السر" .
بداية نحتاج لتحديد مصفوفة لاحتواء هذا الكود .
المصفوفة هى صف من الحروف التى لها اسم واحد وتختلف فى عنوانها أى مكانها فى المصفوفة . وهكذا يمكن تعريف كود المصفوفة وتخصيص قيم لها فى رمز الحساب بعناصرها كما يلى :
Code[0]=5
Code[1]=5
Code[2]=7
Code[3]=8
لاحظ أن أول عنوان (دليل أو فهرس) هو الصفر . يتم إنشاء المصفوفة بنفس الطريقة العادية المتبعة فى إنشاء متغير فيما عدا أنه يتم إضافة طول المصفوفة (أى عدد عناصرها) بين قوسين مربعين فعلى سبيل المثال فإن doorbell[4] ينشأ متغير على شكل مصفوفة ذات أربع حروف عنواينها (أماكنها ) من 0 إلى 3 كما فى الشكل .
الحروف (أو فى هذه الحالة الأرقام) الموجودة بالكود تحتاج لمقارنتها بالأرقام التى يتم إدخالها عن طريق لوحة المفاتيح والتى يتم تخزينها فى متغير آخر وبشكل مصفوفة أيضا مكونة من أربع عناصر باسم doorbell .
فى كل مرة يتم فيها إدخال رقم جديد عن طريق لوحة المفاتيح يتم إدراجه فى العنوان رقم 4 بالمصفوفة doorbell أى doorbell[3] . قبل ذلك يتم تحريك (إزاحة) جميع الخانات الموجودة حاليا بالمصفوفة جهة اليسار لموقع واحد .لذلك إن كان بالمصفوفة القيم 1,4,7,3 وأدخل المستخدم الرقم 8 بلوحة المفاتيح فإن المصفوفة سوف تحتوى على القيم 4,7,3,8 .
الخطوة التالية هى مقارنة المحتويات الجديدة للمصفوفة مع الكود الصحيح ويتم عد الخانات الصحيحة المتتالية وعندما يكون عدد الخانات الصحية أربعة فإن الباب سوف يفتح أو أن الجرس سوف يصدر صوتا ring لمدة زمنية محددة .
الشكل التالى يبين هذه المقارنة لشخص أدخل الأرقام 4,7,3,8 بلوحة المفاتيح .
لكى تستخدم لوحة المفاتيح يجب إضافتها كمكون إلى البرنامج وتحديد أطراف منفذ التوصيل
port C على سبيل المثال .
أضف رمز ماكرو مكون واستدعى الماكرو GetKeypadAscii للحصول على كود أسكى المناظر للمفتاح الذى يتم الضغط عليه مباشرة ولأننا نحتاج أيضا لعرض الأرقام على وحدة العرض LCD .
البرنامج أسرع من المستخدم لذلك فأنه بمجرد أن يضغط المستخدم على مفتاح فإن البرنامج سوف يسجله عشرات المرات .لذلك قبل قبول إدخال رقم جديد فإن البرنامج ينتظر إلى أن يزيل المستخدم الضغط من على المفتاح . إذا سبب ارتداد التلامسات مشكلة يمكن إضافة تأخير 100ms على سبيل المثال عند هذه النقطة .
الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 09:20 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)