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

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

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

برد آردوینو نانو
ماژول بلوتوث HC-05
قفل برقی سلونوئید
بازر پیزوالکتریک
LED قرمز 5 میلی متر
LED سبز 5 میلی متر
ماسفت IRF540N N-Channel
ترانزیستور BC547 NPN
مقاومت ها : 550Ω ، 2k0Ω ، 220Ω
تنظیم کننده ولتاژ 1 × 7805
1 ، DC Jack

قفل برقی

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

Solenoid Lock

دیاگرام مدار برای کنترل قفل برقی

برای کنترل قفل برقی سلونوئید ، باید از یک مدار کنترل استفاده کنیم که شامل ترانزیستور NPN و MOSFET است. ما ترانزیستور NPN را با اتصال پایه D9 نانو به پایه Base ترانزیستور از طریق مقاومت 550 اهم کنترل خواهیم کرد .تا جریان ورودی به ترانزیستور کنترل شود. وقتی پایه D9 فعال شود ، ترانزیستور روشن شده و پایه Gate ماسفت LOW می شود و MOSFET را خاموش می کند که در نتیجه قفل برقی را خاموش می کند و وقتی پایه D9 غیرفعال است ، ترانزیستور NPN خاموش است به این معنی است که Gate ماسفت از طریق مقاومت پول آپ 2k اهم به 12 ولت متصل می شود تا MOSFET روشن شود و قفل برقی را تغذیه کند.

به این ترتیب می توانید قفل برقی را با استفاده از آردوینو نانو خود کنترل کنید. شما نمی توانید مستقیماً IRF540N MOSFET را با پین های 5 ولت از نانو کنترل کنید زیرا یک MOSFET در سطح منطقی نیست بنابراین با 5 ولت از نانو کاملاً روشن یا خاموش نمی شود ، از این رو ما از ترانزیستور BC547 NPN برای کنترل استفاده خواهیم کرد. نمودار کامل مدار که نحوه اتصال و کنترل قفل سلونوئید با آردوینو از طریق MOSFET را نشان می دهد ،به صورت زیر است.

Circuit Diagram for Bluetooth Controlled Solenoid Lock

همانطور که در نمودار مدار نشان داده شده است ، اتصالات بسیار ساده هستند ،ما باید ماژول بلوتوث HC-05 را به منبع تغذیه 5 ولت نانو و پین TX را به پین RX میکروکنترلر و پین RX را به پین TX میکروکنترلر متصل کنیم. یک LED قرمز برای نمایش وضعیت و یک LED سبز برای نشان دادن قفل بودن درب .همچنین از یک بازر استفاده می کنیم .

Circuit Diagram for Bluetooth Controlled Solenoid Lock

مدار کامل را روی یک تخته perf لحیم کرده ایم که فشرده شود.

Solenoid-Lock-Control-Circuit-Board

کد آردوینو برای کنترل قفل برقی

ابتدا متغیرهایی را برای کنترل لوازم جانبی مانند BUZZER و LED و قفل برقی سلونویئد ایجاد می کنیم.

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

درتابع Loop ابتدا داده ای را که به صورت سری از بلوتوث آمده است را می خوانیم .اگر اثر انگشت به درستی شناخته شود ماژول بلوتوث عدد1 را ارسال می کند و قفل سلونوئید در باز می شود و بازر به مدت 1 ثانیه به صدا در می آید . قفل سلونوئید به مدت 7 ثانیه باز می ماند و پس از آن درب بسته می شود.اگر گر مقدار خوانده شده “0” باشد ، به این معنی که اثر انگشت تشخیص داده نمی شود. بنابراین زنگ هشدار سه بار در هر ثانیه به زنگ در می آید.

برنامه Android برای خواندن داده های اثر انگشت و ارسال به آردوینو از طریق بلوتوث

برای ایجاد یک برنامه با Kodular ، به Kodular.io می رویم و ابتدا حساب کاربری ایجاد می کنیم و سپس روی گزینه ی “create app“کلیک می کنیم.

 

Kodular

پس از آن ، به صفحه پروژه ها منتقل می شویم. برای ایجاد یک پروژه روی دکمه “create project” کلیک می کنیم.

Kodular-Creator

برنامه را نامگذاری کرده و روی “Finish” کلیک می کنیم . پروژه ایجاد می شود و شما به صفحه Designer پروژه منتقل می شویم. اکنون در صفحه Designer، این چهار مورد را از Components Palette اضافه می کنیم تا یک طرح برای برنامه ایجاد کنید: Bluetooth Client ، Fingerprint ، List Picker و Image Button. List Picker و Image Button را می توان در “User Interface” یافت ، Fingerprint و Bluetooth Client را می توان از قسمت “Sensors” و “Connectivity” انتخاب کرد.

 

Kodular-Settings

با تغییر properties هر بلوک می توان خصوصیات صفحه را تغییر داد.

Kodular-SETUP

پس از آن ، به صفحه “Blocks” می رویم تا برنامه را با استفاده از بلوک ها بسازیم.

Kodular-Blocks

روی “List_Picker1” کلیک می کنیم و اولین بلوک کد را همانطور که در تصویر نشان داده شده می کشیم و رها می کنیم:

Kodular

در مرحله بعد ، روی بلوک “Control” کلیک می کنیم و سپس اولین بلوک کد را در صفحه Viewer می کشیم و رها می کنیم.

KODULAR

پس از آن ، به بلوک “Bluetooth_client1” می رویم و بلوک کد “Bluetooth_client.connect” را انتخاب می کنیم.

Kodular

پس از آن ، به بلوک “Bluetooth_client1” می رویم و بلوک کد “Bluetooth_client.connect” را انتخاب می کنیم.

سپس به بلوک “List_Picker” می رویم و “selection” را همانطور که در تصویر زیر نشان داده شده است ، انتخاب می کنیم.

اکنون در مرحله بعدی ، دوباره به بلوک “List_Picker” می رویم و “text” را انتخاب می کنیم بلوک کد در تصویر زیر نشان داده شده است.

پس از آن ، به بلوک “Text” می رویم و اولین بلوک کد را انتخاب می کنیم.

با این کار ، اولین بلوک کد به پایان رسید. ما باید سه بلوک کد دیگر ایجاد کنیم تا با حسگر اثر انگشت تلفن Android ارتباط برقرار کنیم و اثر انگشت را تأیید کنیم. بلوک کامل کد در تصویر زیر است:

وقتی همه بلوک ها متصل شدند، فایل apk را در لپ تاپ خود export کنید یا می توانید با استفاده از QR Code مستقیماً apk را در تلفن خود دریافت کنید.

تست برنامه ی کنترل قفل برقی

برای کنترل قفل برقی سلونوئید ابتدا باید فایل apk را در گوشی خود دانلود و نصب کنیم.سپس کد را روی آردوینو آپلود می کنیم سپس بلوتوث تلفن همراه خود را روشن کرده و با دستگاه بلوتوث مورد استفاده جفت و برنامه را باز می کنیم . اکنون روی نماد بلوتوث در برنامه ضربه می زنیم و به دستگاه بلوتوث متصل می شویم و نماد بلوتوث در برنامه به نماد قفل تبدیل می شود. اکنون باید روی نماد اثر انگشت ضربه بزنیم تا اثر انگشت را با استفاده از اسکنر گوشی بررسی کند و مقدار آن به Arduino Nano ارسال می کند.

Fingerprint-Controlled-lock