-->
404
نعتذر , لا نستطيع ايجاد الصفحة المطلوبة
  • العودة الى الصفحة الرئيسية
  • فتح الباب عن طريق كلمة مرور( كلمة السر ) باستخدام الاردوينو

    فتح الباب عن طريق كلمة مرور( كلمة السر ) باستخدام الاردوينو

    فتح الباب عن طريق كلمة مرور( كلمة السر ) باستخدام الاردوينو

    فتح الباب عن طريق كلمة مرور( كلمة السر ) باستخدام الاردوينو 

    أولا المخطط التوضيحي 


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

    فيديو شرح عملي على قناتي اصنع بيدك على يوتيوب لا تنسى زيارة القناة والاشتراك وتفعيل جرس الاشعارات



     

    أولا ما هي القطع المستخدمة لإنجاز المشروع

    1- قطعة الاردوينو

    2- لوحة مفاتيح 4*4

    3- موديول ريلية

    4- محرك على مجموعة تروس


    ثانيا روابط شراء القطع المستخدمة

    1- قطعة الاردوينو



    اضغط هنا


    2- لوحة مفاتيح 4*4



    اضغط هنا


    3- موديول ريلية



    اضغط هنا

    والان اترككم مع شرح تفصيلي لطريقة تجميع وتوصيل القطع 


    اولا

    في البداية يتم توصيل لوحة المفاتيح من خلال ربط 8 اطراف في لوحة الاردوينو على البنات 

    A0 , A1 , A2 , A3 , A4 , A5 ,  و مدخل 2 و3

    ثم نقوم بتوصيل الريلية على البن 11

    وبعد ذلك يتم ربط اليد الأخضر فى المدخل 12 

    واليد الأحمر في المدخل 13

    وأخيرا يتم توصيل الباذر في المدخل 10

    واما الريلية يتم توصيلة مع المدخل 11

    ولا ننسى ان كلا من GND لليد الأخضر والاحمر والباذر يتم توصيلهم بالأرضي الخاص بالاردوينو

     وأيضا الريلية يتم توصيل السالب والموجب له من الاردوينو

     وبعد اكتمال عملية توصيل الاسلاك يتم رفع الكود البرمجي على الاردوينو كما هو موضح في مقطع الفيديو 

     

    ثالثا الكود البرمجي المستخدم في المشروع


    #include <Keypad.h>

    #include<LiquidCrystal.h>

    #include<EEPROM.h>

    LiquidCrystal lcd(9,8,7,6,5,4);

    char password[8];

    char pass[8],pass1[8];

    int i=0;

    char customKey=0;

    const byte ROWS = 4; //four rows

    const byte COLS = 4; //four columns

    char hexaKeys[ROWS][COLS] = {

    {'1','2','3','A'},

    {'4','5','6','B'},

    {'7','8','9','C'},

    {'*','0','#','D'}

    };

    byte rowPins[ROWS] = {A0,A1,A2,A3}; //connect to the row pinouts of the keypad

    byte colPins[COLS] = {A4,A5,3,2};   //connect to the column pinouts of the keypad

    //initialize an instance of class NewKeypad

    Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

    int led=12;

    int led1=13;

    int buzzer=10;

    int m11;

    int m12;

    void setup()

    {

      Serial.begin(9600);

      pinMode(11, OUTPUT);


      lcd.begin(16,2);

      pinMode(led, OUTPUT);

       pinMode(led1, OUTPUT);

      pinMode(buzzer, OUTPUT);

      pinMode(m11, OUTPUT);

      pinMode(m12, OUTPUT);

      lcd.print(" Electronic ");

     Serial.println("مرحبا بكم....");

      lcd.setCursor(0,1);

     // lcd.print(" Keypad Lock ");

     // Serial.print(" Keypad Lock ");

      delay(2000);

      lcd.clear();

      lcd.print("Enter Ur Passkey:");

      Serial.println("ادخل كلمة المرور:");

      lcd.setCursor(0,1);

      for(int j=0;j<8;j++)

        EEPROM.write(j, j+49);

      for(int j=0;j<8;j++)

        pass[j]=EEPROM.read(j);

    }


    void loop()

    {

      digitalWrite(11, HIGH);

      customKey = customKeypad.getKey();

      if(customKey=='#')

        change();

      if (customKey)

      {

        password[i++]=customKey;

        lcd.print(customKey);

        Serial.print(customKey);

        beep();

      }

      if(i==8)

      {

        delay(200);

        for(int j=0;j<8;j++)

          pass[j]=EEPROM.read(j);

        if(!(strncmp(password, pass,8)))

        {

          digitalWrite(led, HIGH);

          beep();

          lcd.clear();

          lcd.print("Passkey Accepted");

          Serial.println("كلمة مرور صحيحة");

          digitalWrite(11, LOW);

          delay(2000);

          lcd.setCursor(0,1);

          lcd.print("#.Change Passkey");

          Serial.println("#.تغير كلمة المرور");

          delay(2000);

          lcd.clear();

          lcd.print("Enter Passkey:");

          Serial.println("ادخل كلمة المرور:");

          lcd.setCursor(0,1);

          i=0;

          digitalWrite(led, LOW);

        }

        else

        { 

          digitalWrite(led1, HIGH);

          digitalWrite(11, HIGH);

          digitalWrite(buzzer, HIGH);

          lcd.clear();

          lcd.print("Access Denied...");

          Serial.println("كلمة مرور غير صحيحة...");

          lcd.setCursor(0,1);

          lcd.print("#.Change Passkey");

          Serial.println("#.تغير كلمة المرور");

          delay(2000);

          digitalWrite(led1, LOW);

          lcd.clear();

          lcd.print("Enter Passkey:");

          Serial.println("ادخل كلمة المرور:");

          lcd.setCursor(0,1);

          i=0;

          digitalWrite(buzzer, LOW);

        }

      }

    }

    void change()

    {

      int j=0;

      lcd.clear();

      lcd.print("UR Current Passk");

      Serial.println("ادخل كلمة المرور الحاليه");

      lcd.setCursor(0,1);

      while(j<8)

      {

        char key=customKeypad.getKey();

        if(key)

        {

          pass1[j++]=key;

          lcd.print(key);

          Serial.print(key);

          beep();

        }

        key=0;

      }

      delay(500);


      if((strncmp(pass1, pass, 8)))

      {

        lcd.clear();

        lcd.print("Wrong Passkey...");

        Serial.println("  كلمة مرور خطأ  ");

        lcd.setCursor(0,1);

        lcd.print("Better Luck Again");

        Serial.println(" # للمحاوله مرة اخرى اضغط رمز");

        delay(1000);

      }

        else

      {

        j=0;

        lcd.clear();

        lcd.print("Enter New Passk:");

        Serial.println(" ادخل كلمة المرور الجديدة ");

        lcd.setCursor(0,1);

        while(j<8)

        {

          char key=customKeypad.getKey();

          if(key)

          {

            pass[j]=key;

            lcd.print(key);

            Serial.print(key);

            EEPROM.write(j,key);

            j++;

            beep();

          }

        }

        lcd.print(" Done......");

        Serial.println(" تم تغير كلمة المرور بنجاح......");

        delay(1000);

      }

      lcd.clear();

      lcd.print("Enter Ur Passk:");

      Serial.println("ادخل كلمة المرور:");

      lcd.setCursor(0,1);

      customKey=0;

    }

    void beep()

    {

      digitalWrite(buzzer, HIGH);

      delay(20);

      digitalWrite(buzzer, LOW);

    }


    ليست هناك تعليقات:

    إرسال تعليق

    جميع الحقوق محفوظة ل مدونة اصنع بيدك
    تصميم : eltyb3