آردوینو Arduino Uno آموزش آردوینو پروژه های آردوینو

در بازکن رمزی با کیپد ماتریسی و برد آردوینو Arduino Keyless Door Lock

Arduino-Door-lock-solenoid-digispark-
نوشته شده توسط پریسا پوربلورچیان

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

 


کیپد فلت Keypad


کیپد Keypad دارای دو نوع فلت و معمولی هستند. کیپد های فلت دارای چند نوع مختلف ۱*۴، ۳*۴ و ۴*۴ می‌باشد که به ترتیب دارای ۵، ۷ و ۸ پایه است. در این آموزش از کیپد ۴*۴ با ۱۶ کلید استفاده شده است. برای راه اندازی کیپد Keypad نیاز به کتابخانه Keypad و دستورات ماکرو برای عملکرد کیپد خواهیم داشت. در آموزش بخش اول و دوم کار با کیپد به توضیحات کامل کتابخانه و استفاده از دستورات ماکرویی پرداخته شده است. برای اطلاعات بیشتر به دو آموزش زیر مراجعه کرده و ایتدا با کتابخانه و نحوه ی فراخوانی دستورات آشنا شوید.

آموزش کار با keypad آردوینو بخش اول 

آموزش راه‌اندازی کیپد keypad آردوینو با کتابخانه کیپد – بخش دوم 

 


کتابخانه آردوینو Library


برای ساخت پروژه در بازکن با کیپد نیاز به دو کتابخانه خواهیم داشت:

کتابخانه Keypad

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

کتابخانه EEPROM

کتابخانه EEPROM برای ذخیره داده ها در آردوینو استفاده می‌شود. این کتابخانه به صورت پیش فرض در لیست قرار گرفته شده است. آن را فراخوانی کنید.

پروژه دربازکن آردوینو با کیپد ماتریسی و برد آردوینو Mega2560 - دیجی اسپارک

 


چگونگی عملکرد پروژه


در این آموزش توسط برد آردوینو و کیپد فلت ماتریسی یک سیستم در باز کن با اعمال رمز عبور طراحی می‌کنیم. برای اجرای سخت افزاری پروژه نیاز به یک رله و قفل خواهیم داشت. با انتخاب رمز پیش فرض رله فعال شده و قفل باز خواهد شد. سپس با تاخیر ۵ ثانیه مجددا قفل بسته خواهد شد. در این پروژه امکان انتخاب رمز جدید وجود دارد که در ادامه کامل توضیح داده خواهد شد.

اتصال کیپد به آردوینو

  • ۶ پایه اول کیپد را به ترتیب به پایه A5 تا A0 آردوینو اتصال دهید.
  • ۲ پایه دیگر به ترتیب به پایه ۲ و ۳ آردوینو اتصال دهید.

 

اتصال رله به آردوینو

پایه IN سیگنال رله را به یکی از پایه های دیجیتال آردوینو اتصال دهید. در این آموزش از پایه ۹ استفاده شده است.

 


کد آردوینو Arduino


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

 

 

مهمان گرامی، جهت دسترسی به کدهای این پروژه، اسپارکر پلاس شوید.

 

 

تحلیل کد آردوینو Arduino

در خط اول و دوم کتابخانه های گفته شده فراخوانی و ضمیمه شده است. از کتابخانه EEPROM برای ذخیره پسورد در برد آردوینو استفاده شده است:

 

دستورات کیپد Keypad

در این مرحله با فراخوانی دستورات کتابخانه Keypad مانند انتخاب نوع داده، انتخاب تعداد اعداد برای رمز ورود و تعریف سطر و ستون کیپد مورد استفاده انجام می‌گردد:

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

 

توابع سریال مانیتور Serial Monitor

جهت مدیریت پروژه و اطلاع از صحیح اجرا شدن از سریال مانیتور استفاده خواهیم کرد. باد ریت در این پروژه به صورت پیش فرض بر روی ۹۶۰۰ تنظیم شده است. برای اطلاع از وضعیت هر لحظه و نمایش محتوا مورد نظر خودمان از دستور Serial.println استفاده خواهیم کرد. پیام اولیه برای ورود به سیستم، نمایش پسورد و تغییر پسورد در سریال مانیتور همزمان نمایش داده می‌شود. به دلخواه می‌توانید از LCD جهت نمایش محتوا استفاده نمایید.

 

تابع get.key و نمایش محتوا

در این مرحله با فشرد کلید کاراکتر مربوطه در Key-pressed ذخیره شده و آن را برمیگرداند. تمامی تغییرات مانند پسورد پیش فرض و یا پسورد جدید با فشرده شدن کلیدها در این تابع ذخیره خواهد شد و پیام تایید و عدم تایید پس از اعمال تغییرات در سریال مانتیور اعلام خواهد شد:

 

مهمان گرامی، جهت دسترسی به کدهای این پروژه، اسپارکر پلاس شوید.

 

تغییر پسورد Password

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

 

مهمان گرامی، جهت دسترسی به کدهای این پروژه، اسپارکر پلاس شوید.

 

رمز پیش فرض ۶ رقمی ۱۲۳۴۵۶ است. با وارد کردن رمز رله فعال شده و قفل باز می‌شود. سپس با فشردن کلید # امکان تغییر رمز وجود دارد. کلید # را انتخاب کنید. سپس رمز جدید خود را وارد کنید. همزمان با وارد کردن رمز سریال مانیتور را باز کرده و تغییرات اعمال شده را مشاهده کنید. با وارد کردن رمز جدید رله فعال شده و ققل به مدت ۵ ثانیه باز خواهد شد.

 

وسایل مورد نیاز

برد آردوینو Arduino

شیلد پروتایپ آردوینو Arduino

کیپد ماتریسی ۴ * ۴

قفل برقی زبانه دار یا گرد ۱۲ ولت 

کابل فلت 

باتری ۹ یا ۱۲ ولت 

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۷ دیدگاه