كيفية عمل باسورد لفتح الأبواب بواسطة الأردوينو

0
بسم الله الرحمن الرحيم
يعد هذا المشروع من أحد أفضل المشاريع التى تتعامل مع الأردوينو 
بحيث سنقوم اليوم بعمل باسورد لأحد الأبواب مثل باب المنزل و عمل إنذار فى حالة إدخال الباسورد الخاطئ وسيعتمد هذا النظام بالكامل على الأردوينو

يعد الهدف من هذا المشروع هو إضافة نوع من الأمان على المنازل بإستخدام الأردوينو إستكمالا لسلسلة المنزل الذكى الذي تجد العديد من هذه المشارع على المدونة الخاصه بنا

أولا الأدوات : 
LCD 
key pad
Arduino
wires
Servo motor
pizo
lcd
تعد هذه الشاشات من أحد أفضل الشاشات التى تتعامل مع الأردوينو وتتميز بسهولة إستخدامها

key pad
تتكون هذه الشريحة من مجموعة من السويتشات من حيث عند الضغط على سويتش محدد يمكننا عرض حرف محدد ولا يشترط إستخدام هذه الشريحة ويمكننا تجميعها بواسطة مجموعة من السويتشات

arduino
تعد هذه المتحكم الدقيق الخاص بالمشروع بحيث هذه الشريحة هى المسئولة عن التحكم بالبيانات 

pizo
هذه السماعة من النوع التى يمكنها إصدار صوت عالى جدا 
والتى تعمل على 5 فولت 
servo
إستخدمت هذا الموتور للتعامل مع الأردوينو لغلق الباب او فتحه


ثانيًا التوصيلات : 


فى هذه التوصيلات :
تحتوى key pad على 8 منافذ 4 منافذ للصفوف و 4 منافذ للعواميد
حيث قمت بتوصيل هذه المنافذ الى 
اولا المنافذ الخاصة بالصفوف 6 و 7 و 8 و 9
ثانيا المنافذ الخاصة بالعواميد 2 و 3 و 4 و 5
تحتوى lcd على 6 منافذ لإرسال البيانات وتحتوى على أربعة منافذ للإمداد بالطاقة
vcc : 5v
gnd : gnd
vo : gnd
rw : gnd
rs : A0
E : A1
D4 : A2 
D5 : A3
D6 : A4
D7 : A5
LEDA : RESISTOR 330 OHM TO 5 V
LEDC : GND
يمكن إستخدام المنافذ التماثلية كمنافذ رقمية 
وتحتوى السماعة على منفذان الموجب والسالب
يذهب الموجب الى المنفذ الرقمى 10 ويذهب السالب الى السالب الخاصة بالأردوينو

ثالثًا الكود 

فى البداية قمنا بتعريف المكتبات الأساسية 
#include<LiquidCrystal.h>
حيث تتعامل هذه المكتبة مع شاشة lcd حيث تقوم بتسهيل العمل مع هذا النوع من الشاشات
#include<Keypad.h>
وتقوم أيضًا هذه المكتبة بتسهيل العمل على key pad  
#include<Servo.h>
حيث تقوم هذه المكتبة للتعامل مع المواتير السيرفو
ثم قمت بتعريف الأرقام والحروف التى سنتعامل معها
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
}; 
ثم قمت بتعريف المنافذ الخاصة بالصفوف والعواميد الخاصة ب keypad
عن طريق : 
byte rowPins[ROWS] = {6, 7, 8, 9};
byte colPins[COLS] = {2, 3, 4, 5};
 ثم قمت بتعريف key pad داخل المكتبة عن طريق
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

حيث يحتوى هذا التعريف على الحروف والأرقام و على منافذ الصفوف و العواميد وعلى عدد الصفوف والعواميد
النوع الذى سنستخدمه يتكون من 4 صفوف و 4 عواميد
بعد ذلك قمنا بتعريف الشاشة للتعامل معها 
Liquidcrystal lcd(rs,e,d4,d5,d6,d7);
بعد ذلك قمنا بإنشاء مصفوفة تحتوى على الباسورد
char StorePass[]="your password";
بعد ذلك قمت بإنشاء متغير لأخذ فيه عدد حروف الباسورد مما يجعل إمكانية إدخال باسورد بدون الإلتزام بعدد حروف أو أرقام محدد

بعد ذلك قمت بتعريف الأوامر اللازمة 
lcd.begin(16,2);
يقوم هذا الكود بتعريف حجم الشاشة حيث الشاشة التى نستعملها تكون 16 خانة وسطران
servo.attach(10);
يقوم هذا الكود بتحديد المنفذ الخاص بالموتور

بعد ذلك قمت بتعريف المخارج والمداخل 

بعد ذلك قمت بعمل متغير اسمه keys لإستلام البيانات من keypad
بعد ذلك قمت بعمل مقارنات هل قيمة المفتاح اكبر من صفر وهل قيمة المفتاح لا تساوى حرف D
قم بطباعى * بحيث عند الضغط على أى رمز معادا الحرف D يقوم الجهاز بعرض * على الشاشة 
بعد ذلك قمت بعمل مقارانات اخرى هل الباسورد يساوى قيمة الدخل من key pad
نعم : قم بتحريك الموتور السيرفو بزاوية 165 درجة وقم بطباعة على الشاشة 
correct password
إن كان الباسورد خاطئ قم بطباعة
wrong password
وإخراج صوت إنذار على السماعة 
ولكى يتم إدخال الباسورد الى الأردوينو فيجب الضغط على الحرف D
فهذا الحرف فى هذا التصميم مشابه تمام لحرف ENTER
وهذا هو شرح الكود كمختصر شديد

لا يجب التعامل مع الموتور السيرفو خصوصا
هناك نوع من القفول الأوتوماتيكيى التى تعمل على 12 فولت والتى يمكن إستخدامها مع الأردوينو بإستعمال ترانزيستور 


لتحميل الكود كاملًا اضغط هنا

تصميم وبرمجة :  بلال حسان سعدى 

لا يوجد تعليقات

أضف تعليق