ساخت دزدگیر منزل !!!
شاید در نگاه اول عنوان این پروژه آردوینو از مبحث آموزش آردوینو یعنی ساخت یک دزدگیر منزل به کمک آردوینو برای برخی از افراد تعجب آور و دور از دسترس باشد و یا تا به حال ساخت دزدگیر اماکن را برای خود کاری دشوار و سخت تصور می کردند. اما ما با طرح این پروژه می خواهیم به شما بیاموزیم که چگونه خودتان می توانید یک دزدگیر کاربردی در خانه توسط برد آردوینو برنامه نویسی و بسازید.
با فراگیری این آموزش و ساخت پروژه، می توانید یک دستگاه دزدگیر کاملا مشابه با نمونه های موجود در بازار با قابلیت اتصال 4 سنسور تشخیص حرکت HC-SR501 و یا چشمی های آماده موجود در بازار داشته باشید. علاوه بر داشتن ویژگی دزدگیر در مدار پروژه با استفاده از آن می توانید دو وسیله برقی را نیز توسط ریموت کنترل خاموش و یا روشن کنید.
برای کار آفرینی آماده اید !!!
با کمی تحقیق در بازار می توانید بیابید که 99 درصد دستگاه های دزدگیر موجود در بازار که با قیمت های بسیار بالایی به فروش می رسند، از خارج از کشور وارد می شوند و تولید کنندهای بسیار اندکی هستند که در داخل کشور عزیزمان ایران، دست به تولید دزدگیرهای اماکن زده اند و البته افرادی که محصول تولیدی آن ها دارای کیفیت برتر بوده در این مسیر به موفقیت نیز رسیده اند.
یکی از اهداف بزرگ تیم فنی الکترونیک98 ارائه آموزش ها و پروژه های کاربردی است که شخص بتواند با فراگیری و توسعه آن ها وارد بازار کار شود و بتواند به عنوان یک کار آفرین کسب و کار خود را آغاز کند. در همین راستا در این پست قصد داریم تا نحوه ساخت یک دزدگیر اماکن ساده را آموزش دهیم. شما عزیزان می توانید با فراگیری این آموزش با نحوه عملکرد دزدگیرهای اماکن آشنا شوید و در صورت تمایل با توسعه آن قدم به عرصه تولید دزدگیرهای امکان بگذارید.
دانلود ویدئو با لینک مستقیم از سرورهای پرقدرت الکترونیک 98
معرفی ماژول سنسور تشخیص حرکت HC-SR501
اصلی ترین بخش یک دزدگیر منزل سنسورهای تشخیص حرکت آن یا PIR (Passive Infra Red) است که البته در بازار ایران به نام چشمی های دزدگیر نیز معروف هستند. وظیفه این سنسور، همانطورکه از نام آن مشخص است، تشخیص حرکت انسان است. سنسورهای تشخیص حرکت می توانند تا فاصله معینی حرکت یک جسم را تشخیص دهند و در نهایت با صفر و یا یک کردن یک پایه در خروجی خود آنرا به مدار دزدگیر اطلاع دهند.
یکی از سنسورهای معروف در زمینه آشکار سازی حرکات انسان، ماژول تشخیص حرکت HC-SR501 می باشد. ماژول تشخیص حرکت HC-SR501 می تواند در زاویه 120 درجه، حرکات موجود در یک محیط 3 الی حداکثر 7 متری را آشکار کند. عملیات آشکار سازی حرکت با استفاده از صفر و یک کردن پایه OUT در خروجی ماژول اعلام می شود. یعنی زمانیکه شخصی از مقابل سنسور عبور پیدا کند، پایه ای به نام OUT در خروجی ماژول ولتاژ مثبت 3/3 ولت می گیرد. همچنین لازم به ذکر است ولتاژ تغذیه این ماژول بین 5 الی حداکثر 20 ولت DC است.
قطعات مورد نیاز برای ساخت دزدگیر منزل با برد آردوینو
لیست قطعات مورد نیاز
برد آردوینو NANO با میکروکنترلر Atmega328 | 1 عدد |
ماژول تشخیص حرکت اجسام مدل HC-SR501 با لنز متوسط | 4 عدد |
رگولاتور ولتاژ 5 ولت L7805 | 1 عدد |
آی سی ULN2804A مدل DIP اورجینال | 1 عدد |
آی سی دیکودر PT2272-M4 مدل DIP | 1 عدد |
ماژول گیرنده 315MHz مناسب ریموت کنترل های کدفیکس | 1 عدد |
ریموت کنترل کدفیکس 4 کانال 315MHz مگاهرتز | 1 عدد |
سوکت آی سی 18 پایه مدل معمولی | 2 عدد |
دیود 1N4007 | 5 عدد |
مقاومت 1 کیلو اهم با توان 0.25 وات و تلرانس 5 درصد | 6 عدد |
مقاومت 4.7 کیلو اهم با توان 0.25 وات و تلرانس 1 درصد | 4 عدد |
مقاومت 330 اهم با توان 0.25 وات و تلرانس 1 درصد | 4 عدد |
مقاومت 1 مگا اهم با توان 0.25 وات و تلرانس 1 درصد | 1 عدد |
لامپ LED سبز سایز 5mm میلی متر مدل مات | 7 عدد |
خازن الکترولیتی 1000uf میکروفاراد 16 ولت | 2 عدد |
خازن عدسی 100nF نانوفاراد | 1 عدد |
رله 12V ولت معمولی تک کنتاکت با جریان 10 آمپر | 3 عدد |
دیپ سوئیچ 8 کاناله معمولی | 1 عدد |
ترمینال پیچی 2 پین مدل KF300 رنگ آبی | 2 عدد |
ترمینال پیچی 3 پین مدل KF300 رنگ آبی | 2 عدد |
پین هدر نری صاف 1x40 با ارتفاع 11 میلیمتر - مشکی | 1 عدد |
پین هدر مادگی صاف 1x40 با فاصله پایه 2.54 میلیمتر - مشکی | 1 عدد |
آداپتور 12V ولت 2A آمپر مدل بین راهی ساخت ایران | 1 عدد |
بازر 12 ولتی با اسیلاتور داخلی | 1 عدد |
نقشه شماتیک پروژه
نقشه مدار چاپی (PCB) ساخت دزدگیر منزل با ماژول تشخیص حرکت PIR و برد آردوینو
برنامه برد آردوینو در نرم افزار آردوینو
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
//***************************************** //Programmer = Farhad Akbari //Email = ofogh.ideh@yahoo.com //Website = www.electronics98.com //Application = www.electronics98.com/app //*****************************************Config Output PIN const int pin_rly_alarm = 2; const int pin_rly1 = 3; const int pin_rly2 = 4; const int pin_led_zone1 = A1; const int pin_led_zone2 = A2; const int pin_led_zone3 = A3; const int pin_led_zone4 = A4; //*****************************************Config Input PIN const int pin_remote_rly2 = 5; const int pin_remote_unLock = 6; const int pin_remote_rly1 = 7; const int pin_remote_Lock = 8; const int pin_zone1 = 12; const int pin_zone2 = 11; const int pin_zone3 = 10; const int pin_zone4 = 9; //*****************************************Basic Settings Alarm long time_sensor = 60000;//Milli second long time_alarm = 300000;//Milli second //*****************************************Config variable boolean key = 0; boolean error = 0; boolean alarm = 0; boolean status_rly1 = 0; boolean status_rly2 = 0; boolean start_alarm = 0; unsigned long start_time = 0; unsigned long currentMillis = 0; //*****************************************void setup() void setup() { pinMode(pin_rly_alarm, OUTPUT); pinMode(pin_rly1, OUTPUT); pinMode(pin_rly2, OUTPUT); pinMode(pin_led_zone1, OUTPUT); pinMode(pin_led_zone2, OUTPUT); pinMode(pin_led_zone3, OUTPUT); pinMode(pin_led_zone4, OUTPUT); pinMode(pin_remote_rly2, INPUT); pinMode(pin_remote_unLock, INPUT); pinMode(pin_remote_rly1, INPUT); pinMode(pin_remote_Lock, INPUT); pinMode(pin_zone1, INPUT); pinMode(pin_zone2, INPUT); pinMode(pin_zone3, INPUT); pinMode(pin_zone4, INPUT); delay (2000); } //*****************************************void loop() void loop() { Relay_control(); Zone_control(); Alarm_control(); Error_control(); } //*****************************************void Relay_control() void Relay_control() { if (digitalRead(pin_remote_rly1) == 1 && key == 0) { key = 1; if (status_rly1 == 0) { status_rly1 = 1; digitalWrite(pin_rly1, HIGH); } else { status_rly1 = 0; digitalWrite(pin_rly1, LOW); } } if (digitalRead(pin_remote_rly2) == 1 && key == 0) { key = 1; if (status_rly2 == 0) { status_rly2 = 1; digitalWrite(pin_rly2, HIGH); } else { status_rly2 = 0; digitalWrite(pin_rly2, LOW); } } if (digitalRead(pin_remote_rly1) == 0 && digitalRead(pin_remote_rly2) == 0 && digitalRead(pin_remote_unLock) == 0 && digitalRead(pin_remote_Lock) == 0 && key == 1) { key = 0; } } //*****************************************Zone_control() void Zone_control() { Led_control(pin_zone1 , pin_led_zone1); Led_control(pin_zone2 , pin_led_zone2); Led_control(pin_zone3 , pin_led_zone3); Led_control(pin_zone4 , pin_led_zone4); } //*****************************************void Led_control() void Led_control(int pin_name_zone , int pin_name_led) { if (digitalRead(pin_name_zone) == 1) { digitalWrite(pin_name_led, LOW); if (alarm == 1 && error == 0) { start_time = millis() + time_alarm; error = 1; } } else if (alarm == 0) { digitalWrite(pin_name_led, HIGH); } } //*****************************************void Alarm_control() void Alarm_control() { if (digitalRead(pin_remote_Lock) == 1 && key == 0) { key = 1; if (error == 1) { digitalWrite(pin_rly_alarm, LOW); delay(200); } start_alarm = 1; alarm = 0; error = 0; start_time = millis() + time_sensor; digitalWrite(pin_rly_alarm, HIGH); delay(200); digitalWrite(pin_rly_alarm, LOW); } if (digitalRead(pin_remote_unLock) == 1 && key == 0) { key = 1; if (error == 1) { digitalWrite(pin_rly_alarm, LOW); delay(200); } start_alarm = 0; start_time = 0; alarm = 0; error = 0; digitalWrite(pin_rly_alarm, HIGH); delay(100); digitalWrite(pin_rly_alarm, LOW); delay(50); digitalWrite(pin_rly_alarm, HIGH); delay(100); digitalWrite(pin_rly_alarm, LOW); } if (start_alarm == 1 && alarm == 0) { currentMillis = millis(); if (currentMillis > start_time) { alarm = 1; } } } //*****************************************void Error_control() void Error_control() { if (error == 1) { digitalWrite(pin_rly_alarm, HIGH); currentMillis = millis(); if (currentMillis > start_time) { error = 0; digitalWrite(pin_rly_alarm, LOW); } } } |
سلام دوست عزیز
در رابطه با رله آژیر که فرموده بودید در برنامه پایه D2 برد آردوینو تعریف شده است و در نقشه شماتیک پایه D4 برد آردوینو متصل شده است، هیچ اشتباهی رخ نداده است، اگر با دقت به نقشه شماتیک دقت کنید در قسمت تراشه ULN2804 می توانید مشاهده کنید که پایه ها به درستی متصل شده اند و همان پایه D2 برد آردوینو به عنوان آژیر در نظر گرفته شده است.
در تعریف این پروژه وضعیت دزدگیر در حافظه برد آردوینو ذخیره نمی شود و برای این منظور باید برنامه آنرا توسعه دهید، در حال حاضر به دلیل هم کاری بالا انجام این موضوع و توسعه پروژه برایمان مقدور نیست. اما می توانید باتری پشتیبان را به صورت موازی با منبع تغذیه دستگاه قرار دهید تا در صورت قطع برق مدار ریست نشود و برای اینکه باتری در طولانی مدت خراب نشود به جای منبع تغذیه معمولی از یک شارژر اتوماتیک برای شارژ باتری استفاده کنید.
سلام
علیرغم جستوجوی زیاد برای ریموت کنترل نتونستم مورد مشابهی پیدا کنم
ایا فروشگاهی میشناسید که داشته باشه ؟
یا میشه از نوع دیگه ای استفاده کرد ؟
سلام مهندس ممنون از اطلاعاتی که در اختیار ما قرار دادین
من برد دزدگیر درست کردم الان مشکلم فقط عمل نکردن سنسور حرکتی است
زون ها بصورت دستی تحریک میکنم ال ای دی مربوطه روشن میشه ولی
خرابی از چی میتونه باشه
سلام دوست عزیز
پیشنهاد می کنیم سنسور حرکتی را از مدار جدا کنید و به صورت مجزا با قرار دادن یک لامپ LED در خروجی آن آزمایش کنید تا از صحت عملکرد آن مطمئن شوید.
سلام مدار رو ساختم ولی وقتی به منبع تغذیه متصل میشه رله ها شروع میکنند با سرعت زیاد قطع و وصل شدن علت چی میتونه باشه ؟
ممکنه ic pt2272 خراب باشه ؟
سلام دوست عزیز
1- بهتر است تمامی اتصالات خود را با یک مولتی متر بررسی کنید.
2- ولتاژ تغذیه برد آردوینو را با یک مولتی متر اندازه گیری کنید باید این ولتاژ کمتر از 5 ولت باشد.
3- مطمئن شوید تراشه ULN2804 را به درستی به مدار متصل کرده اید.
4- مطمئن شوید برد آردوینو را به درستی پروگرام کرده اید.
با تشکر از شما مهندس اکبری عزیز
با راهنمایی تون پروژه با موفقیت انجام شد .
و یک تغیر در مدار دادم
ic pt2272 و دیپ سوییچ و گیرنده رو حذف کردم و تنها از ماژول گیرنده کد لرن استفاده کردم که هم امنیت بالاتری داره و هم ریموتش راحت و به وفور پیدا میشه و هم با فرکانس 433 و هم با 315 کار می کنه و همچنین جای کمتری در بورد میگیره
این هم یک ایده برای دوستان
سلام آقای اکبری
میخواستم این دزدگیر رو بسازم
یه عکس نزدیک از برد ساخته شده میفرستین
میتونم شماره تماس داشته باشم تا در واتساپ در ارتباط باشیم
سلام دوست عزیز
تصاویر مدار در توضیحات سایت به همراه نقشه های مورد نیاز درج شده است.
در حال حاضر تنها پل ارتباطی جهت پاسخگویی همین بخش می باشد.
سلام آقای اکبری
میتونین تو ساخت پروژه بهم کمک کنین تو واتساپ درارتباط باشیم
سلام دوست عزیز
به دلیل حجم بالای سوالات روزانه زمان زیادی صرف پاسخگویی به سوالات مطرح شده در بخش نظرات پروژه ها، ایمیل ها و شبکه های اجتماعی می گردد، از همین جهت امکان پاسخگویی از طریق سایر راه های ارتباطی از لحاظ زمانی برایم مقدور نیست.
سلام چرا نمی شود فایل pdf را دانلود کرد؟
سلام دوست عزیز
لینک دانلود بررسی شد و مشکلی یافت نشد، در صورتیکه از ابزار تغییر آی پی استفاده می کنید آنرا غیرفعال کنید و دوباره اقدام به دانلود کنید.
سلام لطفا میتونید راهنمایی کنید که چگونه میتونم به این بورد و مدار تماس تلفنی برای اعلام آلارم رو برنامه نویسی و اتصال بدم؟
سلام خواستم بدونم میشه از ریموت 2260 استفاده کرد؟