نظام أمان قفل الباب بكلمة مرور باستخدام Arduino و Keypad- في هذا البرنامج التعليمي ، ستتعلم كيفية إنشاء نظام أمان قفل الباب المحمي بكلمة مرور الأكثر فعالية باستخدام Arduino ولوحة المفاتيح. عند إدخال كلمة المرور الصحيحة المكونة من 4 أرقام ، يُفتح الباب لمدة 5 ثوانٍ. حاليًا ، كلمة المرور هي 1234 ، والتي يمكنك تغييرها في البرمجة ؛ يمكنك حتى تحديد كلمة مرور تتكون من أكثر من 8 أرقام. لقد راجعت نظام أمان قفل الباب بكلمة مرور عدة مرات وعمل بشكل مثالي. إذا تم إدخال كلمة مرور خاطئة 3 مرات ، فسيتم قفل الشخص لمدة 5 ثوانٍ وتشغيل مصباح LED ، والذي يمكن استبداله بجرس. يمكن زيادة أو تقليل عدد المحاولات الخاطئة حسب المتطلبات.
++ مخطط الرسم البياني :
++ الكود البرمجي هنا :
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Keypad.h> #define Password_Length 8 int signalPin = 12; char Data[Password_Length]; char Master[Password_Length] = "123A456"; byte data_count = 0, master_count = 0; bool Pass_is_good; char customKey; const byte ROWS = 4; const byte COLS = 4; char hexaKeys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; byte colPins[COLS] = {5, 4, 3, 2}; Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); LiquidCrystal_I2C lcd(0x27, 16, 2); void setup(){ lcd.init(); lcd.backlight(); pinMode(signalPin, OUTPUT); } void loop(){ lcd.setCursor(0,0); lcd.print("Enter Password:"); customKey = customKeypad.getKey(); if (customKey){ Data[data_count] = customKey; lcd.setCursor(data_count,1); lcd.print(Data[data_count]); data_count++; } if(data_count == Password_Length-1){ lcd.clear(); if(!strcmp(Data, Master)){ lcd.print("Correct"); digitalWrite(signalPin, HIGH); delay(5000); digitalWrite(signalPin, LOW); } else{ lcd.print("Incorrect"); delay(1000); } lcd.clear(); clearData(); } } void clearData(){ while(data_count !=0){ Data[data_count--] = 0; } return; }
#electronicengineering #robots #led #o #arduinolove #stem #automation #digitalelectronics #engineer #electronicsprojects #projects #electronicsengineering #innovation #electronicslovers #robotic #raspberry #dprinting #sensors #artificialintelligence #science #embeddedsystems #tecnologia #pcbdesign #proteus #circuit #code #m #soldering #embedded #electronica
No comments:
Post a Comment