Professional Documents
Culture Documents
محتوي المشروع (1) بالملاحظات
محتوي المشروع (1) بالملاحظات
المقدمة
1
1.1المقدمة
قب ل أك ثر من نص ف ع ام ض رب إعص ار كاترين ا الم ّدمر جن وب ش رق الوالي ات المتح دة
األمريكية خاصة والية لويزيانا والميسيسيبي و منطق ة االبام ا وق د قت ل اآلالف من األش خاص
اثر موجات الفيضان الهائلة التي غمرت المنطقة ألكثر من أسبوع . مثل هذه الكوارث الطبيعية
تحدث دوما بالعالم ولكن يختلف تعامل الدول بنتائجه ا ,ونظ را لك ون الوالي ات المتح دة مرك ز
العلم والقوة في العالم ,استغلت كل ما هو متوفر من تقني ات حديث ة لعملي ات اإلنق اذ .ومن اب رز
األمثلة على ذلك تهيئة فرق اإلنق اذ األمريكي ة على اس تخدام رق ائق إلكتروني ة ت زرع ب الجثث
لإلسراع بالتعرف عليها وجمع المعلومات ،وأن الهيئ ة المس ئولة عن اإلنق اذ س تتعامل م ع ه ذه
الرقائق وأجهزة قراءتها لتس اهم في أي عملي ات إنق اذ مس تقبلية .ه ذه الرق ائق تعتم د على تقني ة
بدأت باالنتشار حديثا تسمى .RFIDفما هي هذه التقنية وما هو مبدأ عملها واستخداماتها؟ ،هذا
ما سنحاول هنا مناقشته وتوضيحه
هذه الرقائق المبني ة على تقني ة “نظم التع رف على الموج ات الالس لكية )Radio Frequency
(Identificationبدأ تطويرها قبل عش ر س نوات وته دف الس تبدال نظم الترم يز ()Barcode
المستخدمة في ترقيم وتصنيف البضائع وهي ترميز مطبوع على البضاعة أو على بطاقة مس تقلة
وتتم قراءتها بواسطة جهاز خاص .تقنية RFIDتتم يز بأنه ا تس تطيع أن تخ زن معلوم ات أك ثر
بواسطة هذه الرقائق اإللكترونية المثبتة على البضائع إضافة إلى أن قراءتها تتم السلكيا.
2
2.1مراحل تنفيذ المشروع :
المرحلة األولي :التحليل ويتم ذلك بجمع المعلومات المتعلقة بالمشروع وذلك بواسطة-:
الكتب واألبحاث. -1
شبكة المعلومات العالمية. -2
دراسات ومشاريع سابقة. -3
المرحلة الثانية :التنفيذ العملي للمشروع.
المرحلة الثالثة :االختبار.
المرحلة الرابعة :التوثيق.
3.1أهداف المشروع
4.1تنظيم المشروع
3
الباب الثاني
تقنية ()RFID
4
1.2ماهية تقنية ()RFID
الشكل(RFID MODULE)1.2
بدأ استخدام تقنية التعرف الراديوي RFIDأثناء الحرب العالمية الثانية من قبل المملك ة المتح دة
وذلك لتمييز الطائرات اإلنجليزية العائدة عن الطائرات األخرى .تم بعد ذلك اس تخدام ه ذه التقني ة
في تطبيقات مدنية من قبل قطاعات البيع بالتجزئة والقطاعات الصناعية وقطاعات أخرى أدركت
فوائد عمليات المتابعة والتعرف اآللي.
5
2.2لمحة تاريخية عن تقنية ()RFID
يرجع تاريخ استخدام هذه التقنية إلى العالم ( ليون يترمن ) الذي قام باختراع أداة تجس س لص الح
االتحاد السوفيتي السابق عام ( ) 1946حيث يقوم بإرسال موجات الراديو المدمجة م ع األم واج
الصوتية الذي يقوم بالتقاط حجاب حاجز الموجات الضوئية ويتذبذب بفعله ا مم ا ي ؤدي إلى تغ ير
حالة قارئ الذبذبات والذي بدوره ينظم ذبذبة اإلرسال المنعكس ة ب الرغم من إن ه ذه األداة ك انت
جهاز تنصت سري سلبي وليس بطاقة تعري ف مم ا جعله ا بالمقدم ة الخ تراع بطاق ات التعري ف
بموجات الراديو ( ، )RFIDوهناك مصادر أخ رى تش ير ب أن ه ذه التقني ة موج ودة من ذ ع ام (
)1920لكن ال توضح أين كانت تستخدم وتشير بعض المصادر بأن بريطانيا كانت قد اس تخدمت
هذه التقنية في طائراتها عام ( )1939للتعرف على الصديق والع دو ،وفي ع ام ( ) 1973س جلت
أول براءة اختراع في الواليات المتحدة من قب ل الع الم (م اريو ك اردولو) لتقني ة ( ) RFIDوه و
جهاز استقبال وإرس ال إذاعي س لبي يحت وي على ذاك رة الجه از األول و يعم ل بواس طة إش ارة
استجواب يحتوى على جهاز إرسال واستقبال بذاكره سعتها ( 16بت) الهدف منه حساب الخسائر
وقد عرضه على سلطة ميناء نيويورك ،و أول من طبق هذه التقنية ه و ك ل من الع الم ( س تيفن،
روبر ت و الفري د ) في مخت بر ( ) alados losالعلمي ع ام 1973م وفي ع ام )) 1974غطت
استعماالت موجات الراديو باستخدام الصوت والض وء كوس ط ناق ل في وس ائل النق ل واإلعم ال
المصرفية واألمن والطب.
شريحة دقيقة () chip microتحتوي على المعلومات المادة التي توضع فيه .1
هوائي وهذا يقوم بنقل المعلومات إلى جهاز قارئ باستخدام موجات الراديو الترددية .2
-حافظة تحفظ كل من الشريحة والهوائي ويمكن لصق الرقائق على سطح المادة .3
6
RFID الشكل( )2.2التركيب الداخلي ل
تتك ون تكنولوجي ا " "RFIDمن ثالث ة أج زاء رئيس ية وهي :البطاق ة ال تي تحت وي على جه از
اإلرسال والمعلومات ،وجهاز القراءة و اإلرس ال ،وب رامج الحاس وب وقواع د البيان ات .تتمث ل
رقائق " "RFIDفي بطاقات يمكن تثبيتها على األشياء ،وتحتوي هذه الرقائق الصغيرة ج داً على
هوائي الستقبال الموجات وهو على شكل س لك رفي ع ملف وف داخ ل البطاق ة .يق وم ه ذا اله وائي
باستقبال الموجات المغناطيسية الصادرة عن جهاز القراءة ويش غل ال دارة اإللكتروني ة الموج ودة
داخل البطاقة والتي بدورها تبدأ عملية البث الالسلكي نحو الق ارئ وتص ل المعلوم ات عن د نقله ا
إلى جهاز الحاسوب أو الشبكة في النهاية .تكون ع ادة الرق ائق اإللكتروني ة الخاص ة به ذه التقني ه
على شكل بطاق ات يمكن لص قها أو تثبيته ا على األش ياء .وه ذه الرق ائق الص غيرة ج دا (وال تي
تقارب حجم حبة األرز) تحتوي على هوائي الستقبال الموجات والذي يكون على شكل سلك رفيع
ملفوف في داخل البطاقة ,يقوم الهوائي باستقبال الموجات المغناطيسية الصادرة من جهاز القراءة
ويشغل الدائرة اإللكترونية بالبطاقة التي بدورها تبدأ عملية البث الالسلكي للقارئ وتتم عملية نق ل
المعلومات بهذه الطريقة لتص ل الى جه از الحاس وب أو الش بكة ب أخر المط اف .البطاق ة بخالف
الرقم المرمز Bar Codeال تحتوي فقط على رقم يرسل للقارئ ولكنها تش مل ذاك رة ص غيرة
(عادة من ن وع )EEPROMتتس ع للمعلوم ات األك ثر تفص يال و تص ل ق درتها التخزيني ة إلى
256بايت .من المالحظ أن هذه البطاقات ال تحتوي على مصدر للطاقة خاص بها (كالبطاري ات)
وذلك ليكون من السهل وضعها على البضائع .ولكن كيف تعمل الدائرة اإللكترونية؟
تعمل هذه التقني ة على مب دأ دوائ ر ال رنين ( )resonance circuitوال تي تق وم باس تخدام طاق ة
الموجات الكهرومغناطيس ية الص ادرة من جه از الق راءة .تتك ون ال دائرة بش كل مبس ط من مل ف
ومكثّف ( )Coil & capacitorتصل لمرحلة الرنين عند تواف ق ت ردد الموج ات الص ادرة من
7
القارئ وتردد ال دائرة ,فتس تخدم ه ذه الطاق ة إلرس ال المعلوم ات للق ارئ .الق ارئ يق وم بتحوي ل
اإلش ارات الالس لكية الواص لة من البطاق ة إلى بيان ات رقمي ة قابل ة للتعام ل بالحاس وب حيث تتم
معالجتها بالبرامج .وكما تم ذكره س ابقا ً ف إن بطاق ات RFIDتحت وي على ذاك رة ع ادة من ن وع
))EEPROMبخالف ال ترقيم العم ودي " "Barcodeال ذي يحت وي فق ط على رقم يرس ل
للقارئ.كما أن هذه الرقاقة ال تحتوي على مصدر طاقة خاص بها (بطاري ة مثالً) وه و م ا يس هل
وضعها على البضائع .إذ تقوم باس تخدام طاق ة الموج ات الكهرومغناطيس ية الص ادرة عن جه از
القراءة .ثم يقوم القارئ بدوره بتحويل اإلشارات الالسلكية الواردة من البطاق ة إلى بيان ات رقمي ة
قابلة للتعامل بالحاسوب حيث تتم معالجتها بالبرامج.
وتصنف إلى ثالثة أنواع رئيسية اعتمادا علي مصدر الطاقة و هي :
8
مجال متابعة األمتعة بالمطارات.
المكتبات :لتحديد أماكن الكتب وتم بالفعل تطبيقها في الكثير من المكتبات.
بطاقات الهوية :لمعرفة مكان تواجد صاحب الهوية المعنية.
لوحات السيارات :لتحديد أماكن تواجدها وتحركاتها.
التسوق :عند الخروج من المتجر ،يتم على مس توى البواب ة اإللكتروني ة ق راءة البض ائع
واحتساب السعر ثم االستخالص من الحساب البنكي بصفة آلية.
التعرف على الحج اج :يمكن اعتب ار الرقاق ة بمثاب ة رخص ة حج ويمكن لق ارئ الرقاق ة
التأك د من الرخص ة بش كل آلي (تطبيق ات أمني ة ،تطبيق ات إحص ائية ،تطبيق ات طبي ة،
تطبيقات مالية.
السيارات :مثال قامت شركة تويوت ا بوض ع ه ذه الش رائح في الس يارات ،لتتع رف على
السائق وتعمل تلقائيا ً بمجرد أن يقترب من السيارة.
مراقب ة البض ائع وبيعه ا :يتم تث بيت البطاق ات ب المنتج في داخ ل المص نع خالل عملي ة
التص نيع أو التعبئ ة ،وعن د خ روج المنتج من المص نع تتم عملي ة الق راءة أثن اء مغ ادرة
الشاحنة وتقرأ مرة أخرى عندما تصل للب ائع وتس جل أنه ا خ رجت من المص نع ودخلت
للمتجر باإلضافة إلى زمن الشحن وعدد القطع .وحتى عندما يش تري الزب ون يتم تس جيل
خروج القطعة من المتجر وكل ذلك يتم بصفة آلية حيث يثبت القارئ عند أب واب المتج ر
والمصنع.
ج وازات الس فر :ب دأت مح اوالت ع دة في دول الع الم تغي ير فك رة ج وازات الس فر
وتأشيرات الدخول التقليدية لتزيد من الرقاب ة واألم ان والتحق ق من األش خاص ،إذ يمكن
اس تخدام تقني ة " "RFIDوتثبيته ا ب الجواز أو التأش يرة وتخ زين معلوم ات المس افر
وصورته وعند المراقبة تتم قراءة المعلومات وإظهار الصورة أمام المراقب.
7.2معايير ومقاييس ()RFID
9
. طريقة التواصل عبر األثير وتنظيم عملية الدفع بالبطاقات الذكيةISO 14443
لفحص البطاق ات والق ارئ والتحق ق من توافقه ا م عISO 18046 وISO 18047
.المعايير
. طريقة التواصل عبر األثير وتقسم لعدة معايير باالعتماد علىISO 18000
:مثل الترددات
10
الباب الثالث
لوحة االردينو
)RFID Module (RC522 RFID Module 13.56MHz
1.3مقدمة:
11
هي لوح ة الكتروني ة ومفتوح ة المص در Open Hard Wareلتط وير الكث ير من األفك ار
والمشاريع المتعلقة بالتحكم اآللي بصورة سهلة وبسيطة عن طريق استخدام لغ ة برمج ة مفتوح ة
المص در ويتم برمج ة المتحكم ة الموج ودة على اللوح ة باس تخدام برن امج خ اص يس مى ،،
,, Arduino C
معنى أن أردينو مفتوح المصدر يعني بأن ه يمكن ك االطالع والتع ديل على التص ميمات الهندس ية
والش فرات المص درية source Codesلك ل من اللوح ات أردين و المختلف ة Arduino LDE
Arduino Boardsبما يتناسب معك ويمكنك أيضا تطوير لغة برمجة C Arduinoبحري ة
تامة واالطالع على الشفرات المصدرية الخاصة بها كما ان ه ده المم يزات والبرمجي ات مجاني ة
تماما على غرار بعض البيئات التطويرية مثل micro Cوالتي تتطلب شراء رخصة مكلفة .
-يم يز لوح ات األردين و عن ب اقي اللوح ات التطويري ة للمتحكم ات الدقيق ة األخ رى ه و م دى
السهولة التعامل معها وبساطة اللغة البرمجية والتي عمل فريق من إيطاليا على تطويرها مند عام
2005حتى اآلن ،ولقد تم اشتقاق لغة أردينو البرمجية من لغة processingولغة Cوالتي تع د
أساس لغات البرمجة الحديثة .
-لقد تم تطويره ليناسب جميع المستويات ابتداء من الهواة وانته اء بالمش اريع المتط ورة وال دليل
أنه هناك مميزات جبارة تجعل أردينو على قمة المتحكمات الدقيقة وهي إمكانية دمجه في مشاريع
يتم برمجتها بلغات هندسية متطورة مثل MATLABولغة Javaحيث تجد مكتبات برمجية في
إحدى اللغتين MATLAB/Javaخاصة بالتعامل مع أردينو .
12
الشكل ( )2.3أنواع لوحات األردينو.
تخلف اللوحات عن بعضها البعض من ناحية عدد الخ ارج والم داخل وال تي تح دد ع دد األجه زة
ال تي يمكن التحكم به ا وع دد الحساس ات Sensorsال تي يمكن دمجه ا م ع اللوح ة وك ذلك ن وع
المتحكمة الدقيقة وسرعة المعالج الموجود بداخلها ومكانية تبدلها .
تعد األردينو من أك ثر اللوح ات اإللكتروني ة المخصص ة للتعليم انتش اراً وش يوعا ً نظ راً للس هولة
البالغة التي توفرها س واء من الناحي ة البرمجي ة أو من ناحي ة المع دات ،وح تى من ناحي ة ت وفر
الدوائر الكهربائية والبرامج والمكتبات المتعددة في شتى المواضيع ،ك ان ك ل ترك يزي في وقت
سابق منصب على ش رح األردين و ع بر دمجه ا بقط ع مختلف ة ،وك انت اغلب األمثل ة باس تخدام
األردينو اونو Unoأو اللوحات ال تي تس تخدم المتحكم األص غر At mega 328فه و األك ثر
انتشاراً واألخص سعراً .
لكن أطلقت األردين و في ع ام 2013لوح ة تطويري ة مخصص ة ألغ راض التعليم ك انت مختلف ة
تماما ً عن ما عاهدناه سابقا ً من إصدارات األردينو ،إذ كانت هذه أول م رة تطل ق األردين و لوح ة
تطويرية بمعالج ARM Cortexالذي ينقل المستخدمين لألردينو لمستوى جديد إمكانياته نظ راً
13
لإلمكانيات الكبيرة التي يتمتع بها المعالج الجديد . DUEسوف نخت ار دائ رة Arduino DUE
لتقوم بعمل المشروع .
دائرة االردينو اونو هي دائ رة الكتروني ة ص غيره تس تخدم فى برمج ه متحكم ة من ش ركه اتم ل
ATmega 328وتوفر هذه الدائرة منافذ لتوصيل المكونات االلكتروني ة الى المتحكم ة مباش رة
عن طريق ( 14مدخل /مخرج) من الن وع ال رقمي Digital in outمن ه ذه ال 14يوج د 6
يمكن استخدامها كمخارج PWMأو م ا يع رف بالتع ديل ال رقمي المعتم د على ع رض النبض ة
Pulse –Width) (modulationوسوف نتح دث عن ه ذه الخاص ية فى فص ل كام ل يس مى
ال دخل والخ رج التم اثلي .Analog Inputs / Outputsأيض ا تح وي ال دائرة على مه تز
كريستال crystalبتردد MHz16باإلضافة الى مدخل USBمن أجل التواصل م ع الحاس ب ،
وهناك مدخل التواصل مع الحاسب ،وهناك مدخل للطاقة منفصل ،باإلضافة إلى LCSPوالذي
يعتبر طريقه إضافة لبرمجة المتحكمة وهي ال تزال موصلة بالبورد (بخالف ال )USBويمكن ك
آن تعتبر بورده اردوينو هذه بورده تط وير وبرمج ه مص غره ومتهيئ ة لالس تخدام المباش ر فهي
تقريبا تحوي كل ما تحتاج لكي تعمل عليها سواء عن طريق منفذ ال USBأو عن طريق مصدر
خارجي للطاقة مثل البطارية .
المتحكم ات الدقيق ة أش بهه بوح دة حاس ب ألي ص غيره الحجم وتح وي المتحكم ة الدقيق ة 328
ATmegaعلى معالج بسرعة 16ميجا هرتز و ذاكرة كليه تساوى . kilobyte 32
14
: Boot loaderالسوفت وير المسئول عن كيفيه فهم الدائرة للغة .Arduino C
: Flash Diskمساحه تخزينه تستخدم فى تخزين البرنامج الذي سنكتبه لتشغيل المتحكمة ،فى
الوهلة األولى قد يبدو هذا الرقم صغير جدا لكنه في الحقيقة ك افي لكتاب ه الكث ير من األوام ر كم ا
سنرى في األمثلة القادمة .
: EEPROMال ذاكرة المس ئولة عن تس جيل بعض المتغ يرات بص وره دائم ة داخ ل المتحكم ة
وتظل محتفظة بقيمتها حتى بعد فصل الكهرب اء ويمكنن ا ان نعتبره ا مث ل الس واقة Hard Disk
في الكمبيوتر الشخصي .
يمكنك إم داد ال دائرة بالطاق ة إم ا من خالل منف ذ الــ USBفق ط أو عن طري ق اس تخدام مص در
خارجي للكهرباء كمحول DC/ACليمد الدائرة بالجهد الالزم للعمل أو حتى عن طري ق بطاري ة
9فولت او 4بطاريات 1.5فولت حتى يتم توصيل طرفي البطارية إلي المدخل األرضي GND
والـ Vinفي الدائرة .
تستطيع الدائرة العمل على جه د ي تراوح بين 20- 6ف ولت لكن يجب االنتب اه حيث ان ه إذا قمن ا
بتأمين جهد اقل من 7فولت فان المخرج المتحكم Pin 5vق د ال يس تطيع ت أمين جه د يبل غ الـ 5
فولت المطلوب وقد يؤدي إلي عدم استقرار الدائرة ،إم ا إذا قمن ا بتزوي د ال دائرة بجه د اعلي من
12فولت انه قد يؤثر على عنصر تنظيم الجهد voltage regulatorويؤدي إلي ارتف اع درج ة
15
حرارته مما يؤدي إلي تلف البودرة ،لذا فان مجال الجه د ال ذي يفض ل اس تخدامه ه و من 7إلي
12فولت .
: Vinجه د ال داخل عن دما نس تخدم مص در جه د خ ارجي ،يمكنن ا ت أملن الجه د من خالل ه ذا
المدخل ،إذا كنا نقوم بتأمين الطاقة للدائرة من خالل المح ول يمكنن ا الوص ول ل ه من خالل ه ذا
المدخل أيضا .
: V5جهد منظم يستخدم لتأمين الطاقة للعناصر المستخدمة على الدائرة وسوف نستخدمه لتوف ير
الطاقة للقطاع االلكتروني التي سنضيفها ،وق د ي أتي ه ذا الجه د من خالل Vinع بر منظم جه د
داخلي أو تأمينه من خالل منفذ الـ USBأو إلي مصدر جهد منظم بقيمة 5فولت .
:V3.3مصدر للجهد بقيمة 3.3فولت مؤمن من قبل منظم الجه د ال داخلي ل دائرة وأقص ي قيم ة
لسحب التيار من خالل هذا الخط هو 50ميلي أمبير .
الشكل ( )6.3مخارج ومداخل الطاقة الكهربائية للمتحكمة .Power Inputs /Outputs :
16
تعتبر لوحة األرقام من أهم وسائل اإلدخMMال المسMMتخدمة بكMMثرة في مشMMاريع المتحكمMMات الدقيقMMة
والتي ستجدها حولك في العديد من األجهزة االلكترونية مثل الهMMاتف المMMنزلي و لوحMMة المفMMاتيح
ولوحة التحكم في المصاعد .وتختلف أشكال لوحة األرقام تبعا لحجمها وعدد األرقام المتاحMMة ,
في اللوحات ستجد رمMMوز أضMMافية مثMMل عالمMMة النجمMMة (*) وعالمMMة الشMMباك ( )#أو حMMتى بعض
األحرف االنجليزية مثل A,D,Cوتعتبر لوحة األرقام بحجم ( )3x4أو ( )4x4هي أشهر لوحات
كتابة .كما تتوفر بعض اللوحات المرنة و القابلة للطي بسهولة والتي تصنع من نMMوع خMMاص من
بالستك المرن وتتميز بالنحافة.
17
الشكل ( )8.3رقاقة RFID
18
الباب الرابع
) دراسة حالة (
2.4متطلبات المشروع
19
متحكم اردوينو )يفضل نوع ميجا ( .
20
سيرفو موتور(يمثل بوابة).
21
مقاومات.
(.)LEDs
استخدمنا في هذا المشروع قارئ من نوع RFID – RC522ويعتمد هذا الموديول علي
بروتوكول SPIلتواصل مع لوحة االردينو.
لذلك نصل هذا الموديول مع المداخل الخاصة بال SPIفي االردينو كالتالي:
22
الشكل ()1-4
الشكل( )6.4يوضح طريقة توصيل محرك سيرفو مع لوحة االردين و وباس تخدام الك ود الخ اص
بالسيرفو و تحميل ه في لوح ة االردين و يب دءا المح رك ب دوران .في ه ذا المش روع تم تخص يص
المنفذ رقم ( )1الموجود في لوح ة االردين و وعن طري ق الك ود المحم ل في االردين و يتم دوران
السيرفو كما ينبغي.
الشكل ()2-4
-3توصيل لوحة األرقام
نقم بتوصيل مخارج االردين و كم ا في الش كل ( )3-4ب دئا من المخ رج 2ح تى المخ رج 8
بلوحة األرقام مع مالحظة أن يكون الرمز ( )#هو الرمز المتواجد أمام الرقم 2في لوح ة
االردينو
23
الشكل ()3-4
تعتبر بيئة التطوير Arduino IDEاألداة المستخدمة في كتابه االكواد البرمجية بلغه
Arduino Cوتحويلها بعد ذلك إلى صيغه تنفيذيه يمكن وضعها على المتحكمة الدقيقة الموجودة
على البورد .
تتم يز بيئ ة تط وير اردين و بالبس اطة والس هولة في التعام ل فهي تك اد تخل و من اى تعقي دات في
المظه ر الع ام وتحت وى فق ط على م ا يحتاج ه الم برمج ليب دأ تط وير ب رامج بلغ ه اردوين و س ى
Arduino Cكما أنها تستخدم فى نفس الوقت لرفع البرنامج مباشره إلى المتحكمة الدقيقة وبذلك
لن تحتاج الى برنامج أخر مخصص لرفع الصيغة التنفيذي ة للب ورده )(Setup:.وظيف ة تش غيل
مرة واحدة في بداية البرنامج ال ذي يمكن تهيئ ة اإلع دادات )(Loop: .وظيفته ا تس مى التك رار
حتى يتم إيقاف تشغيل المتحكم.
24
الشكل( )8.4اختيار لوحة أردينو من IDE
ثم نده ب الى ش ريط تمت كتابة كود المشروع في المساحة المتوفرة في صفحة األردينو IDE
المهام السريع ونضغط على أيقونة اختب ار الك ود ,بع د التأك د من ص حة الك ود نق وم ب النقر ع ل
أيقونة التحميل
5.4 المشروع النهائي
الشكل ( )12.4يبين تجميع عناصر المشروع بالكامل ,بعد اختبار كل قطعة على حده .
25
26
27
الباب الخامس
الخالصة
28
الخالصة
يهدف هذا المشروع إلى استخدام تقنية RFIDوربطها بلوحة اردوينو أونو (.)R3
لقد قمنا بتنفيذ هذا المشروع بنجاح وقد تم الحصول على النتائج حسب المطلوب. .
استخدام االردوينو في المشروع يوفر المرونة وفقا للمتطلبات.
يمكن استخدام فكرة المشروع في عدة أنظم ة ق د ت رغب في اس تخدامها مث ل في س يارة،
دراجة أو أي شيء آخر.
29
الملحق
30
الكود المحمل بلوحة االردينو
{'1','2','3',},
{'4','5','6',},
{'7','8','9',},
{'*','0','#',}
};
31
byte rowPins[ROWS] = {5, 4, 3, 2}; // Connect to the row pinouts of the keypad
byte colPins[COLS] = {8, 7, 6}; // Connect to the column pinouts of the keypad
int Code1Correct; // Variable for the first correct digit (Code) input on the
keypad
int Code2Correct; // Variable for the second correct digit (Code) input on
the keypad
int Code3Correct; // Variable for the third correct digit (Code) input on the
keypad
int Code4Correct; // Variable for the fourth correct digit (Code) input on
the keypad
int Code5Correct; // Variable for the fifth correct digit (Code) input on the
keypad
int Code6Correct; // Variable for the sixth correct digit (Code) input on the
keypad
const int Code1MifareCard1 = '6'; // Determine here the first digit of your 6
digit PIN
32
const int Code2MifareCard1 = '6'; // Determine here the second digit of your
6 digit PIN
const int Code3MifareCard1 = '6'; // Determine here the third digit of your 6
digit PIN
const int Code4MifareCard1 = '2'; // Determine here the fourth digit of your 6
digit PIN
const int Code5MifareCard1 = '2'; // Determine here the fifth digit of your 6
digit PIN
const int Code6MifareCard1 = '2'; // Determine here the sixth digit of your 6
digit PIN
const int Code1MifareCard2 = '1'; // Determine here the first digit of your 6
digit PIN
const int Code2MifareCard2 = '1'; // Determine here the second digit of your
6 digit PIN
const int Code3MifareCard2 = '1'; // Determine here the third digit of your 6
digit PIN
const int Code4MifareCard2 = '3'; // Determine here the fourth digit of your 6
digit PIN
const int Code5MifareCard2 = '3'; // Determine here the fifth digit of your 6
digit PIN
const int Code6MifareCard2 = '3'; // Determine here the sixth digit of your 6
digit PIN
void setup()
33
{
void loop() {
RightCard = 0;
MifareCard1 = 0;
MifareCard2 = 0;
RightPinCode = 0;
WrongPinCode = 0;
Code1Correct = 0;
Code2Correct = 0;
Code3Correct = 0;
34
Code4Correct = 0;
Code5Correct = 0;
Code6Correct = 0;
PinCodeCounter = 0;
delay (50);
Reset = 0;
if (millis()- Timer > 7000 && RightCard == 1) // If the Timer will be larger as
7 seconds and a valid Mifare Card is offered, reset value will be high.
Reset = 1;
Serial.println("CardAccesOff");
35
if (mfrc522.PICC_IsNewCardPresent() &&
mfrc522.PICC_ReadCardSerial())
if
delay (150); //
36
Timer = millis(); // Reset the Timer. The 7 seconds limit is
running now for a valid PinCode
if
MifareCard2 = 1;
delay (150); //
37
Timer = millis(); // Reset the Timer. The 7 seconds limit is
running now for a valid PinCode
delay (150); //
delay (150); //
delay (50); //
delay (150); //
38
delay (500); //
39
if ((WrongPinCode == 1) || (millis()- Timer > 7000 && RightCard == 1)) // If you
offered a valid Mifare Card and you entered a wrong PinCode or the timer (7
seconds) expires
delay(1500); //
((KeyDigit == '1') ||
(KeyDigit == '2') ||
40
(KeyDigit == '3') ||
(KeyDigit == '4') ||
(KeyDigit == '5') ||
(KeyDigit == '6') ||
(KeyDigit == '7') ||
(KeyDigit == '8') ||
(KeyDigit == '9') ||
(KeyDigit == '0') ||
(KeyDigit == '*') ||
(KeyDigit == '#')))
delay (50); //
Code1Correct = 1; //
Variable Code1Correct is set to 1
41
return; // Return to
begin loop
Code2Correct = 1; //
Variable Code2Correct is set to 1
return; // Return to
begin loop
Code3Correct = 1; //
Variable Code3Correct is set to 1
return; // Return to
begin loop
Code4Correct = 1; //
Variable Code4Correct is set to 1
42
return; // Return to
begin loop
Code5Correct = 1; //
Variable Code5Correct is set to 1
return; // Return to
begin loop
Code6Correct = 1; //
Variable Code6Correct is set to 1
return; // Return to
begin loop
Code1Correct = 1; //
Variable Code1Correct is set to 1
43
return; // Return to
begin loop
Code2Correct = 1; //
Variable Code2Correct is set to 1
return; // Return to
begin loop
Code3Correct = 1; //
Variable Code3Correct is set to 1
return; // Return to
begin loop
Code4Correct = 1; //
Variable Code4Correct is set to 1
44
return; // Return to
begin loop
Code5Correct = 1; //
Variable Code5Correct is set to 1
return; // Return to
begin loop
Code6Correct = 1; //
Variable Code6Correct is set to 1
return; // Return to
begin loop
المراجع
45
1] http://en.wikipedia.org/wiki/Arduino.
[2] http://arduino.cc/en/Main/arduinoBoardUno.
/http://www.arduino.cc ]3[
/http://www.arduinoproducts .cc ] 4[
/http://www.atmel.com/atmega328 ]5[
[6] http://en.wikipedia.org/wiki/File:16MHZ_Crystal.jpg
46