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

آموزش باز کردن قفل درب با گوشی اندروید و آردوینو

سلام. آموزش باز کردن قفل درب با گوشی اندروید و آردوینو (پروژه امنیتی Arduino) را آماده کردیم.

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

انواع مختلفی از سیستم های امنیتی وجود دارد که در سراسر جهان مورد استفاده قرار می گیرد و قفل در دیجیتالی یکی از پر استفاده ترین های آنهاست. ما قبلاً بسیاری از قفل های دیجیتالی را ایجاد کرده ایم میتوانید در قسمت پروژه های امنیتی بقیه مطالب امنیتی ما را ببینید. در اینجا می خواهیم قفل دیجیتالی را بسازیم که از طریق تلفن همراه اندروید کنترل میشود و با استفاده از آردوینو مگا کنترل میشود. این قفل میتواند از طریق بلوتوث و با استفاده از گوشی Android شما کنترل شود. شما باید رمز از پیش تنظیم شده خود را با گوشی خود وارد کنید تا آردوینو دستور باز شدن درب را بدهد. اگر رمز درست وارد شود پیام “CORRECT PASSWORD” نشان داده میوشد و اگر رمز عبور اشتباه باشد  LCD پیام “WRONG PASSWORD” را نشان می دهد. همچنین در صورت تمایل میتوانید از ال سی دی استفاده نکنید.

فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.

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

شماتیک پروژه بازکردن درب با اندروید و آردوینو

مدار این قفل دیجیتال کنترل شوند با تلفن هوشمند بسیار ساده است. همانطور که در تصویر زیر میبینید، ما فقط باید بازر را به پین 22 متصل کنیم. پین های TXD و RXD را به ترتیب به پین های 19 و بازر وصل میشوند. همچنین در صورت تمایل برای اتصال شیلد ال سی دی TFT، فقط باید آن را روی برد آردوینو سوار کنید و دیگر کاری لازم نیست !

پروژه قفل امنیتی در با موبایل Android و Arduino

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

  1. برد آردوینو مگا MEGA
  2. ماژول بلوتوث HC-05
  3. بازر
  4. شیلد ال سی دی 2.4 اینچی TFT (اختیاری)
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

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

برای استفاده از این قفل دیجیتالی ، ابتدا باید یک برنامه اندرویدی به نام ترمینال بلوتوث را نصب کنیم. برنامه ترمینال بلوتوث با آردوینو سازگار است. این برنامه را می توان از فروشگاه Google Play بارگیری کرد و با انجام مراحل زیر آن را پیکربندی کرد.

  1. ابتدا برنامه بلوتوث ترمینال را از لینک روبرو دانلود کنید : دانلود بلوتوث ترمینال
  2. مدار قفل دیجیتال را روشن کنید.
  3. برنامه را باز کنید و به گزینه “connect securely” بروید.
  4. دستگاه HC05 را برای جفت شدن پیدا خواهید کرد.
  5. در صورت درخواست رمز، 1234 را وارد کنید.

نحوه کار پروژه قفل امنیتی

در این پروژه مهم ترین بخش ها آردوینو مگا و ماژول بلوتوث Hc05 هستند. شیلد LCD TFT نیز به عنوان آپشن اختیاری اهمیت دارد. در اینجا رمز عبور چهار رقمی از طریق تلفن هوشمند Android با استفاده از برنامه ترمینال بلوتوث توسط کاربر وارد میشود و از طریق بلوتوث به Arduino ارسال می شود. آردوینو داده های ارسال شده توسط گوشی اندروید را با استفاده از ماژول بلوتوث HC05 دریافت می کند و آن را در LCD TFF SPFD5408 نمایش می دهد. ما در کد آردوینو، رمز عبور را به طور پیشفرض 1234 قرار داده ایم که شما میتوانید آن را تغییر دهید.

در صورتی که کاربر رمز را صحیح وارد نکند در ال سی دی پیام “WRONG PASSWORD” نمایش داده میشود و در صورت وارد کردن رمز به صورت صحیح پیام “Correct PASSWORD” نمایش داده میشود. همچنین وقتی گذرواژه اشتباه وارد شود بازر فعال میشود.

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

کد کامل پروژه در انتهای صفحه در فایل دانلودی قرار داده شده است. در اینجا بعضی از قسمت های کد Arduino را توضیح میدهیم. در صورت استفاده از ال سی دی TFT ما باید کتابخانه های آن را نصب کنیم. میتوانید کتابخانه مورد نظر را از لینک روبرو دانلود کنید : دانلود کتابخانه ال سی دی لمسی SPFD5408 برای آردوینو (Library LCD TFT) این کتابخانه برای عملکرد صحیح LCD TFT مورد نیاز است.

#include <SPFD5408_Adafruit_GFX.h>   
#include <SPFD5408_Adafruit_TFTLCD.h> 
#include <SPFD5408_TouchScreen.h>

پیکربندی اولیه ال سی دی و پین های ماژول بلوتوث در تابع void setup() انجام میشود. ما در این پروژه همانطور که در بالاتر گفته شد، بازر را به پین 22 متصل میکنیم پس نوع پین 22 را خروجی تعریف میکنیم. ماژول بلوتوث از طریق ارتباط سریال UART با درگاه Serial 1 آردوینو مگا در ارتباط است و با 5 ولت آردوینو مگا تغذیه می شود. عملکرد fillScreen () نیز برای پاک کردن LCD استفاده می شود.

void setup() {
  Serial.begin(9600); // تنظیم سرعت ارتباط سریالی
  Serial1.begin(9600);
  tft.reset();
  tft.begin(0x9341);
  tft.setRotation(0);
  tft.fillScreen(WHITE);
  tft.setCursor (40, 50);
  tft.setTextSize (2); 
  tft.setTextColor(BLACK); //
  tft.println("E  N  T  E  R*  P  A  S  S  W  O  R  D ");
  delay(5000);
  tft.fillScreen(WHITE);
  pinMode(22,OUTPUT);
}

در تابع void loop () ،با استفاده از دستور (setTextSize(4 اندازه متن را تعیین میکنیم. سپس با دستور tft.setTextColor(CYAN) رنگ متن را تعیین میکنیم.

void loop() {
  tft.setTextSize (4);
   tft.setTextColor(CYAN);
  if (Serial1.available() > 0)
  {
    flag = 1;
    char c = Serial1.read();
    if (flag == 1)
    {
      input[i] = c;
      .... .....
      ..... ......

ما می توانیم آرایه [] [arr]] را تغییر داده و به جای 1234 ، رمز عبور مورد نظر خود را وارد کنیم. همچنین میتوانیم طور رمز عبور را تغییر دهیم.

char arr[4] = {'1', '2', '3', '4'};
char input[4];

ما به راحتی میتوانیم یک قفل را به این پروژه متصل کنیم. مانند چیزی که قبلا در پروژه قفل آردوینو با قفل برقی سلونوئید و RFID دیده بودیم. فقط باید تغییر جزئی در کد بوجود بیاوریم.

موارد موجود در فایل : سورس کامل ، شماتیک

4.6 (14 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

23 نظر

  1. استاد سلام عرض شد بر روی برد آردوینو MEGA 2560 بنده vcc درج نشده و 2تا GND کنار هم دیگه هستن خواستم ببینم چیکار کنم برای اتصال ماژول بلوتوث به VCC در ضمن را ارتباطی هست که بتونم با شما در ارتباط باشم ؟ سپاس

    1. سلام عزیز
      به جای VCC پایه 5V را در نظر بگیرید. همچنین ارتباط بلوتوثی با موبایل اندروید به صورت کامل در دوره آردوینو آموزش داده شده

  2. سلام عرض شد در فروشگاه شما برد برد مدل Arduino MEGA 2560 موجود هست ؟ گشتم ولی پیدا نکردم

  3. سلام عرض شد استاد ماژول بلوتوث مدل SPP-C برای این پروژه میشه استفاده کرد

    1. سلام عزیز
      ممکن هست نیاز به تغییر کد باشه بهتر هست از همین مدل استفاده کنید در فروشگاه موجود داریم

  4. عرض سلام و ادب جناب بنده قراره روی ماشین سواری نصب کنم که درب خودرو باز بشه با بلوتوث و اپ آیا ولتاژ 12 ولت خودرو برد آردوینو رو خراب نمیکنه ؟؟ و اگه خراب میکنه راه کاری هست روی خودرو قرار بگیره و برد آردوینو کار کنه ؟؟؟؟؟

    1. سلام عزیز
      12 ولت برای تغذیه برد آسیب نمیرسونه اما اگر این ولتاژ را به پایه های GPIO دهید برد شما آسیب خواهد دید

  5. عرض سلام و ادب جناب این پروژه رو برای فروش دارید منظورم کامل شده هستش ؟؟

    1. سلام وقت بخیر
      خیر پروژه نمیفروشیم میتونید قطعات را از ما تهیه کنید و با کدی که قرار داده شده پروژه را اجرا کنید.

  6. من این پروژه رو درست کردم ماژول به گوشی متصل هم میشه ولی انگار ترمینالش تو گوشی کار نمیکنه چون وقتی عدد میفرستم هیچ اتفاقی نمیافته و هیچی نمایش نمیده ولی با ترمینال ای دی ای خود اردینو در رو باز میکنه و مشکلی ؛ ممنون میشم راهنمایی بفرمایید مشکل ماژول و ترمینال بلوتوث چیه و چجوری رفع کنم

    1. سلام عزیز، ارتباط ماژول بلوتوث و آردوینو رو چک کنید. همچنین ارتباط بلوتوثی اندروید و آردوینو در دوره آموزش آردوینو به طور کامل توضیح داده شده

    1. سلام عزیز، بازر 5 ولت مناسب هست

    1. سلام عزیز، بله فقط شاید نیاز کمی به تغییر کد باشه

    1. سلام عزیز، فکر نمیکنم بشه در پروتئوس شبیه سازی کرد.

  7. سلام ببخشید در این پروژه میشه از آردوئینو uno r3 استفاده کرد؟؟

  8. ببخشید از آردویینو نانو مبشه استفاده کرد؟
    ولی ال سی دی نمی خوام بزارم

    1. سلام جناب. بله مشکلی نیست میتونید استفاده کنید. ممکنه تغییر خیلی جزئی در کد نیاز باشه.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *