ساخت قفل رمزی با کیپد و صفحه نمایش توسط آردوینو

ساخت قفل رمزی با قابلیت تغییر رمز ورود

در این پروژه آردوینو از مبحث آموزش آردوینو می خواهیم شما را با نحوه برنامه نویسی و ساخت یک قفل رمزی دیجیتالی با برد آردوینو Arduino آشنا کنیم. قفل رمزی ارائه شده در این پروژه، به گونه ای طراحی شده است که علاوه بر ساده بودن، بسیار حرفه ای و کاربردی نیز می باشد. به نحوی که می توانید از آن به صورت عملی در سایر پروژه های خود، همچون هوشمند سازی منازل و یا دیگر مواردی که احتیاج به یک قفل رمزی دیجتال حرفه ای و یا ساخت دربازکن برقی می باشد استفاده کنید.

بعد قبل
ساخت قفل رمزی با کیپد و صفحه نمایش توسط آردوینو
ساخت قفل رمزی با کیپد و صفحه نمایش توسط آردوینو
ساخت قفل رمزی با کیپد و صفحه نمایش توسط آردوینو
ساخت قفل رمزی با کیپد و صفحه نمایش توسط آردوینو
ساخت قفل رمزی با کیپد و صفحه نمایش توسط آردوینو
ساخت قفل رمزی با کیپد و صفحه نمایش توسط آردوینو
بعد قبل

شرح عملکرد پروژه

عملکرد این قفل رمزی به اینصورت است که کاربر جهت وارد شدن باید رمز عبور خود را که یک رمز 8 رقمه است توسط صفحه کلید (کیپد Keypad) وارد کند. در صورتیکه کاربر در هنگام وارد کردن رمز عبور خود اشتباه کند، می تواند با فشردن کلید ستاره رمز تایپ شده خود را پاک کند، و مجددا رمز صحیح خود را وارد نماید. در ادامه پس از وارد کردن زمر عبور جهت بررسی صحت رمز وارد شده و یا باز شدن درب می توان از کلید مربع بر روی صفحه کلید استفاده نمود، با فشردن این کلید در صورتیکه رمز وارد شده صحیح باشد رله تعبیه شده بر روی مدار طی مدت زمانی که در برنامه توسط شما تعریف می شود، فعال خواهد ماند.

در این پروژه تمامی پیغام ها و فعالیت مدار بر روی LCD کاراکتری تعبیه شده در مدار پروژه نمایش داده می شود. همچنین برای تغییر رمز عبور خود می توانید بعد از فشردن کلید # بر روی صفحه کلید، کلید * را فشار دهید. بعد از آن مدار از شما می خواهد رمز قدیمی (رمز کنونی قفل) را وارد نمایید و پس از آن کلید # را بر روی کیپد فشار دهید. در مرحله بعد شما باید رمز جدید خود را وارد کنید که این رمز باید 8 رقمی باشد و در نهایت برای تغییر رمز عبور کلید # را فشار دهید. در نهایت در صورتیکه رمز قدیمی شما صحیح باشد رمز ورود با موفقیت تغییر خواهد یافت.

نکته : رمز عبور در حافظه EPPROM میکروکنترلر آردوینو ذخیره می شود، در نتیجه با قطع تغذیه مدار، رمز عبور پاک نمی شود.

نکته: در تمامی مرحله کار با مدار در هنگام وارد کردن رمز عبور می توانید با فشردن کلید * رمز عبور خود را مجددا وارد کنید.

نقشه شماتیک پروژه ساخت قفل رمزی با آردوینو

نقشه شماتیک پروژه ساخت قفل رمزی با آردوینو

لیست قطعات مورد نیاز

برد آردوینو Arduino UNO R3 مدل DIP1 عدد
رگولاتور ولتاژ 5 ولت L78051 عدد
ترانزیستور 2N3904 نوع NPN1 عدد
دیود 1N40071 عدد
مقاومت 1 کیلو اهم با توان 0.25 وات و تلرانس 5 درصد2 عدد
خازن الکترولیتی 470uf میکروفاراد 16 ولت2 عدد
لامپ LED سبز سایز 5mm میلی متر مدل مات1 عدد
صفحه کلید فلت ماتریسی مدل 4×31 عدد
LCD کاراکتری مدل 16×2 با Backlighting آبی1 عدد
رله 12V ولت معمولی تک کنتاکت با جریان 10 آمپر1 عدد
آداپتور 12V ولت 2A آمپر مدل بین راهی ساخت ایران1 عدد
برد بورد (پروجکت برد) مدل GL1 عدد
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی)1 عدد

برنامه پروژه در نرم افزار آردوینو

نکته : در برنامه این پروژه برای راه اندازی صفحه کلید توسط آردوینو Arduino از کتابخانه Keypad.h استفاده کرده ایم. به این ترتیب برای استفاده از این برنامه در نرم افزار برنامه نویسی آردوینو باید ابتدا کتابخانه Keypad.h را نصب کنید. فایل این کتابخانه در ادامه همین مطلب پیوست فایل پروژه جهت دانلود قرار داده شده است. همچنین در صورتیکه به نحوه نصب کتابخانه در آردوینو آشنا نیستید می توانید ویدیو آموزشی این مطلب را که در زیر درج شده است را مشاهده نمائید.

ویدیو ضبط شده از نحوه راه اندازی و عملکرد پروژه

دانلود ویدئو با لینک مستقیم از سرورهای پرقدرت الکترونیک 98

 اطلاعات پروژه

 رمز فایل : www.electronics98.com

 حجم فایل : 1 مگابایت

 محیط برنامه نویسی : Arduino (IDE)

 برنامه نویسی شده به زبان : ترکیبی از برنامه نویسی به زبان سی (C) یا سی پلاس پلاس (++C)

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 31 می 2019

57 دیدگاه

  1. آیا می شه این پروژه رو با پروژه قفل کارتی با یک آردینو و روی یک ماژول ترکیب کنیم

  2. آیا می شه این پروژه را با پروژه قفل کارتی با RFO1D ترکیب کرد؟

  3. سلام دوست عزیز
    بله این موضوع شدنی است، البته برای اینکار باید تسلط کافی به برنامه نویسی در محیط کامپایلر آردوینو داشته باشید.

  4. چرا در این پروژه از رله 5 ولت استفاده نکردیم که مستقیم به برد آردینو وصل بشه و نیازی به اعمال 12 ولت نباشه؟

  5. سلام دوست عزیز
    از آنجا که اکثر قفل های برقی 12 ولتی هستند به همین خاطر مدار بر اساس ولتاژ کاری 12 ولت طراحی شده است که به راحتی بتوانید همزمان توسط یک منبع تغذیه هم مدار را راه اندازی کنید و هم قفل برقی که به ترمینال های رله متصل می شود.

  6. با سلام و عرض ادب
    جناب مهندس من می خوام که پروژه رو کمی توسعه بدم و تقریبا به جا هایی رسیدم فقط یکم به راهنمایی شما نیاز دارم که امیدوارم کمی کمکم کنید.
    من می خوام که وقتی رمز رو به درستی وارد کردم،آردوینو یک پایه برای مثال پایه شماره12 رو،به مدت 10ثانیه بخونه و اگه تو این مدت زمان، پایه شماره(مثلا) 12، HIGH بشه؛ رله فعال بشه و اگر که پایه شماره 12، LOW بشه،هیچ اتفاقی نیوفته و آردوینو به ادامه کد ها بره.

    این قطعه کد رو نوشتم ولی نمی تونم کاری کنم که به مدت 10 ثانیه پایه شماره 12 رو بخونه و اینکه نمی دونم این کد ها رو دقیق کدوم قسمت اضافه کنم.

  7. سلام دوست عزیز
    لطفاً توجه داشته باشید به دلیل حجم بالای سوالات امکان پاسخگویی به سوالات مربوط به توسعه و شخصی سازی پروژه نیست و این موضوع به عهده خود کاربران است.

  8. با سلام و عرض ادب و احترام!
    جناب مهندس اکبری از پاسخگویی شما بسیار متسکرم و خیلی ممنون که هر بار از شما سوالی می پرسیم،بدون چون چرا جوابش رو به ما می گید،از این بابت ما رو شرمنده خودتون می کنید،انشا الله خداوند شما رو در تمام عرصه های زندگیتون موفق و پیروز کنه.
    یه سوال از خدمتتون دارم که مربوط به این پروژه نیست.چرا شما از پین های دیجیتال 0و1 آردوینو اصلا استفاده نمی کنید و استفاده از این پین ها مشکلی داره یا نه؟

  9. سلام دوست عزیز
    این موضوع نظر لطف و مهربانی شماست، انشالله همه ما با هم در تمام مراحل زندگی موفق و پیروز باشیم.
    از آنجاکه پین های 0 و 1 آردوینو مربوط به ارتباط سریال است. سعی می کنیم از آن در اولویت آخر به عنوان پایه دیجیتال استفاده کنیم. اما به صورت کلی اگر در پروژه ای قصد ندارید از ارتباط سریال میکروکنترلر استفاده کنید می توانید از این پایه های همانند دیگر پایه های دیجیتال آردوینو استفاده کنید. همچنین اگر بخواهیم برد آردوینو را بدون جدا کردن آن از مدار پروگرام کنیم بهتر است از پایه های 0 و 1 آردوینو به عنوان پایه های دیجیتال استفاده نکنیم.

  10. با سلام خدمت جناب مهندس و ممنون که وقتتون رو در اختیار ما می گذارید. من این پروژه رو بدون lcd با سریال مانیتور اجرا کردم ولی مجبور شدم
    if (EEP_Read_String(1).length() > 8)
    رو حذف کنم چون مدارم با این کد کار نمی کرد.
    پروژم بدون مشکل کار کرد ولی وقتی آردینو را ریست می کنم رمز پیش فرضم دوباره به 00000000 برمی گرده.

  11. سلام دوست عزیز
    مشکل ریست شدن پسورد به خاطر این موضوع است که شما کد دستوری ذکر شده را از برنامه حذف کردید.
    لطفا توجه داشته باشید مشکل از برنامه نیست، شما چون قبلا ار برد آردوینو خود در پروژه های دیگر استفاده کرده اید حافظه EEPROM آن توسط داده های دیگر پر شده است به همین خاطر باید قبل از آپلود کردن برنامه این پروژه بر روی آن، حافظه EEPROM آنرا پاک کنید. نحوه انجام اینکار در نظرات قدیمی تر در پاسخ سوال دیگر کاربران ذکر شده است.

  12. سلام خسته نباشید و خدا قوت .

    بنده سوالی داشتم در مورد این که وقتی رمز هشت رقمی 0 رو وارد میکنم در LCD مینویسه که پسورد اشتباه است و بعد از مدت تاخیر که دوباره پسورد رو میخواد بدون این که پسورد رو وارد کنم گزیته ENTER رو فشار میدم میکه که پسورد صحیح است . میخواستم بپرسم که مشکل از کجاست ممنون میشم راهنمایی کنید خیلی ممنون .

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.