کنترل آلارم با نمایشگر آردوینو زنگ خانه یا استفاده از سنسور حرکت و مانیتور LCD با آردوینو. ماژول آردوینو چیست؟

امروز در مورد نحوه استفاده صحبت خواهیم کرد آردوینوبرای جمع آوری سیستم امنیتی... "گارد" ما از یک مدار محافظت می کند و یک آژیر را کنترل می کند.

برای آردوینو، این مشکلی نیست و همانطور که از کد برنامه و نمودار دستگاه خواهید دید، به راحتی می توانید تعداد نقاط دسترسی محافظت شده و تعداد دستگاه های هشدار یا نشانگر را افزایش دهید.
سیستم امنیتیمی توان هم برای محافظت از اشیاء بزرگ (ساختمان ها و سازه ها) و هم از اقلام کوچک (جعبه، گاوصندوق) و حتی کیف ها و چمدان های قابل حمل استفاده کرد. اگرچه باید در مورد دومی بیشتر مراقب باشید، اما اگر مثلاً روی چمدانی که تصمیم دارید با آن به سفر بروید، یک سیستم امنیتی نصب کنید، و سیستم هشدار در برخی از فرودگاه ها خاموش شود، فکر می کنم شما باید داشته باشید. گفتگوی جدی با سرویس امنیتی محلی :-)

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

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

دستگاه سیستم امنیتی بسیار ساده (شکل 2). در قلب هزینه آردوینو... سوئیچ های محدود مانند یک دکمه معمولی از طریق مقاومت های pull-up متصل می شوند. من به طور جداگانه در مورد سوئیچ های محدود صحبت خواهم کرد. آنها معمولاً بسته هستند و معمولاً باز هستند. شما می توانید یک دکمه معمولی را به عنوان یک سوئیچ محدود روشن کنید، فقط حرکت دکمه معمولی بسیار زیاد است، بازی درب معمولا بیشتر است. بنابراین لازم است که نوعی فشار دهنده برای دکمه در نظر گرفته شود و آن را فنر کنید تا دکمه با در شکسته نشود. خوب، اگر تنبلی نباشد، می توانید به فروشگاه بروید و یک کلید مغناطیسی (کلید نی) بخرید (شکل 3)، از گرد و غبار و کثیفی نمی ترسد.

یک کلید محدود برای دزدگیر خودرو نیز مناسب است (شکل 4). لازم به ذکر است که برنامه برای سوئیچ نی نوشته شده است. هنگامی که در بسته است، تماس آن بسته می شود. اگر از سوئیچ دزدگیر ماشین استفاده می کنید، پس از بسته شدن درب، به احتمال زیاد باز خواهد بود و در مکان های مناسب در کد باید 0 را به 1 تغییر دهید و بالعکس.

به عنوان یک آژیر، من پیشنهاد می کنم از یک اعلام کننده صدا PKI-1 IVOLGA تولید بلاروس استفاده کنید (شکل 5). ولتاژ تغذیه 9 - 15 ولت، جریان عملیاتی 20 - 30 میلی آمپر. این اجازه می دهد تا از آن با باتری استفاده شود. در همان زمان، 95 - 105 دسی بل "بیرون می دهد".

با چنین ویژگی هایی از باتری کرونا، چندین ده دقیقه صدا می دهد. من آن را در اینترنت برای 110 روبل پیدا کردم. در آنجا، یک سوئیچ نی با آهنربا حدود 30 روبل هزینه دارد. سوئیچ زنگ خودرو در قطعات خودرو به قیمت 28 روبل خریداری شد. ترانزیستور KT315 را می توان با هر حرفی گرفت یا با هر ترانزیستور سیلیکونی کم مصرف مدرن با رسانایی مناسب جایگزین کرد. اگر صدای یک آژیر کافی نیست (چه کسی می‌داند، شاید بخواهید تا کیلومترها شنیده شود)، می‌توانید چندین آژیر را به صورت موازی وصل کنید یا یک آژیر قوی‌تر بگیرید، فقط در این صورت باید ترانزیستور را با یک آژیر تعویض کنید. قدرتمندتر (به عنوان مثال، مجموعه ترانزیستور آشنا ULN2003). به عنوان اتصال دهنده برای اتصال سوئیچ نی و آژیر، من از ساده ترین اتصالات برای دستگاه های صوتی / تصویری استفاده کردم - قیمت در بازار رادیو 5 روبل است. برای یک زوج

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

برای ساده کردن کد برنامه، هیچ عنصر صرفه جویی در انرژی استفاده نشده است و باتری ها برای مدت طولانی کافی نیستند. شما می توانید کد را بهینه کنید، یا حتی بهتر، با اعمال مدیریت رویداد وقفه و خواب زمستانی MK، آن را به طور اساسی تغییر دهید. در این حالت، منبع تغذیه از دو باتری مربعی متصل به صورت سری (9 ولت) باید چندین ماه دوام بیاورد.

حالا کد

// ثابت ها
دکمه const int = 12; // پین برای دکمه
const int gerkon = 3; // پین برای سوئیچ نی
const int sirena = 2; // پین کنترل آژیر
const int led = 13; // پین نشانگر
// متغیرها
int buttonState = 0; // وضعیت دکمه
int gerkonState = 0; // وضعیت سوئیچ نی
int N = 0; // شمارنده دکمه خلع سلاح
تنظیم خالی () (
// کنترل آژیر و نشانگر - خروج
pinMode (sirena، OUTPUT)؛
pinMode (LED، OUTPUT)؛ // دکمه فشاری و سوئیچ نی ورودی هستند
pinMode (gerkon، INPUT)؛
pinMode (دکمه، INPUT)؛
}
حلقه خالی () (
digitalWrite (LED، HIGH)؛
در حالی که (buttonState = = 0) (// حلقه صبر کنید تا دکمه را فشار دهیم
buttonState = digitalRead (دکمه); // برای رفتن به حالت امنیتی
}
digitalWrite (LED، LOW)؛
وضعیت دکمه = 0; // مقدار دکمه را بازنشانی کنید
در حالی که (gerkonState = = 0) (// حلقه بزنید تا در را ببندیم

}
تاخیر (500); // :-)
digitalWrite (sirena، HIGH)؛ // کد
تاخیر (100)؛ // نشانه ها
DigitalWrite (sirena، LOW)؛ // عبارتند از
تاخیر (70); // حالت
digitalWrite (sirena، HIGH)؛ // نگهبان
تاخیر (100)؛ // هشدار
digitalWrite (sirena، LOW)؛ // صدا
در حالی که (gerkonState = = 1) (// صبر کنید تا در باز شود
gerkonState = digitalRead (gerkon);
}
برای (int i = 0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonState = digitalRead (دکمه); // دکمه مخفی
if (buttonState = = HIGH) (// ردیابی خودمان - غریبه
N = N + 1;
}
تاخیر (1500); // ویژگی مخفی :-)))
}
اگر (N> 0) (// مهمترین
DigitalWrite (sirena، LOW)؛ // آژیر را روشن نکنید
}
دیگر (
digitalWrite (sirena، HIGH)؛ // یا آژیر را روشن کنید
}
digitalWrite (LED، HIGH)؛ // نشانگر N = 0 را روشن کنید.
وضعیت دکمه = 0;
تاخیر (15000); // یادآوری به "دومکی ها" که دوست دارند
digitalWrite (LED، LOW)؛ // دکمه ها را بدون تأخیر وقفه فشار دهید (1000)؛

روز خوب! باز هم، یک بررسی چندگانه از اجزای الکترونیکی چینی، طبق معمول در مورد کمی از همه چیز، سعی می کنم کوتاهتر باشد، اما آیا کار می کند؟ پس خوش آمدید زنگ جی اس امهزینه تا 700 روبل. جالب هست؟ من "برش" را می خواهم!

بیایید شروع کنیم! قبل از شروع، من توصیه می کنم به این یکی، اجزای کمتر و استقلال بیشتر نگاه کنید. بنابراین، "شرایط مرجع"، الزامات اساسی برای سیگنالینگ:

1) هنگام فعال شدن سنسورها اطلاع دهید.
2) در صورت قطع برق، باید مقداری خودمختاری فراهم شود.
3) مدیریت هشدار از طریق پیامک و تماس.

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

لیست چیزهایی که نیاز دارید:

لیست تغییرات

GSM_03_12_2016-14-38.hex- کارکرد ثابت دستگاه با مودم M590.
GSM_05_12_2016-13-45.hex- اضافه شدن دستور کنسول memtest، بهینه سازی استفاده از رم.
GSM_2016_12_06-15-43.hex- اضافه شدن خروجی نتایج فرمان به کنسول، بهینه سازی حافظه. اشغال: 49% SRAM.
GSM_2016_12_07-10-59.hex- اکنون شماره تلفن ها به درستی اضافه و حذف شده اند. اشغال شده: 49% SRAM، 74% حافظه فلش.
GSM_2016_12_07-15-38.hex- قابلیت اتصال سنسور حرکت، متصل به پین ​​A0 را اضافه کرد (در این حالت از پایه A0 به عنوان دیجیتال استفاده می شود). SMS - دستورات اضافه شده است PIROn, PIROff... اشغال شده: 48٪ SRAM، 76٪ حافظه فلش.
GSM_2016_12_08-13-53.hex- اکنون پس از اجرای موفقیت آمیز دستور که در پاسخ پیامک ارسال نمی شود، دستگاه یک بار با LED آبی چشمک می زند. حال پس از اجرای نادرست دستور که در پاسخ پیامک ارسال نمی شود، دستگاه با یک LED آبی دو بار چشمک می زند. اکنون، پس از مقداردهی اولیه پارامترهای دستگاه، در صورت فعال بودن حالت "بی صدا" (SendSms = 0)، دستگاه به مدت 2 ثانیه LED آبی رنگ را به سرعت چشمک می زند. رفع اشکالی که به دلیل آن شماره همیشه با دستور DeletePhone از حافظه حذف نمی شد. اشغال شده: 48% SRAM، 78% حافظه فلش.
GSM_2016_12_11-09-12.hex- اضافه شدن دستورات کنسول AddPhone و DeletePhone، نحو مشابه دستورات SMS است. بهینه سازی حافظه اشغال شده: 43% SRAM، 79% حافظه فلش.
GSM_2017_01_03-22-51.hex- پشتیبانی از توسعه دهنده های پورت I/O مشابه روی تراشه PCF8574، برای اتصال 8 سنسور اضافی، از جمله سوئیچ های نی. جستجوی خودکار آدرس و پیکربندی خودکار ماژول. نام استاندارد سنسورها و سطح منطقی راه اندازی آنها با استفاده از دستور EditSensor تغییر می کند. تغییر محتویات پیامک هشدار برای سنسور اصلی (پین D0) "زنگ! سنسور اصلی!" و سنسور حرکت (پین A0) «زنگ! سنسور PIR!" دستورات EditSensor و I2CScan اضافه شد. اشغال شده: 66% SRAM، 92% حافظه فلش.
GSM_2017_01_15-23-26.hex- پشتیبانی از مودم A6_Mini. کنترل منبع تغذیه خارجی (پین D7). دستورات SMS اضافه شده WatchPowerOn، WatchPowerOff. اضافه شدن دستورات کنسول ListConfig، ListSensor. اکنون دستور sms EditSensor به درستی کار می کند. خروجی اشکال زدایی به مانیتور پورت کمی "برش" شده است. اشغال شده: 66% SRAM، 95% حافظه فلش.
GSM_2017_01_16-23-54.hex- اکنون در پیام پاسخ به فرمان پیامکی "اطلاعات" وضعیت سنسور حرکت نیز گزارش می شود. رفع اشکالی که به دلیل آن گاهی اوقات پیام های پاسخ SMS خالی ارسال می شد. اکنون دستگاه نه تنها در مورد قطع، بلکه از سرگیری منبع تغذیه خارجی نیز اطلاع می دهد. همه مودم ها شروع به "چت کمتر" کردند، اکنون مانیتور پورت کمی تمیزتر شده است. اشغال شده: 66% SRAM، 95% حافظه فلش.
GSM_2017_02_04-20-23.hex- رفع اشکال "Watch the power on". اکنون پس از خلع سلاح، «پین هشدار» خاموش می شود. حال پس از حذف شماره، اطلاعات صحیح در کنسول نمایش داده می شود. احتمالاً اشکالی که به دلیل آن گاهی اوقات پیام‌های پاسخ پیام کوتاه خالی ارسال می‌شد، رفع شده است. اشغال شده: 66% SRAM، 90% حافظه فلش.
GSM_2017_02_14-00-03.hex- اکنون پیامک ها به صورت پیش فرض ارسال می شوند، پارامتر SendSms دوباره برابر با 1 است. اکنون با بسته شدن کنتاکت های سوئیچ اصلی نی (در بسته) دستگاه به مدت 2 ثانیه یک LED آبی چشمک می زند که سیگنال می دهد. کار معمولیسنسور اشغال شده: 66% SRAM، 90% حافظه فلش.
GSM_2017_03_01-23-37.hex- دستور WatchPowerOn حذف شد. اضافه شدن فرمان کنسول WatchPowerOff، مشابه فرمان SMS. دستورات WatchPowerOn1، WatchPowerOn2 اضافه شد. WatchPowerOn1 - نظارت بر برق خارجی در صورت مسلح بودن زنگ فعال است، WatchPowerOn2 - نظارت بر برق خارجی همیشه فعال است. عملکرد مسلح کردن و خلع سلاح توسط دستگاه های خارجی اجرا شده است؛ برای این کار از پین های A1 (D15) و A2 (D16) استفاده می شود. بازوی زنگ هشدار / خلع سلاح هنگامی که در پین A1 (D15) ظاهر می شود سطح بالا+ 5 ولت یا روی پایه A2 (D16) سطح پایین GND. پایه A1 (D15) به GND کشیده می شود، پایه A2 (D16) از طریق مقاومت های 20 (10) کیلو اهم به + 5 ولت کشیده می شود. دستورات GuardButtonOn و GuardButtonOff اضافه شد. حالا بعد از مسلح شدن، LED قرمز چشمک می زند تا یکپارچگی مدار سنسور نی اصلی بررسی شود. اگر مدار سالم باشد، LED قرمز روشن می شود. اشغال شده: 66% SRAM، 95% حافظه فلش.
GSM_2017_03_12-20-04.hex- اکنون کنسول حتی تمیزتر شده است، اما اگر حالت تست "TestOn" فعال باشد، اطلاعات اضافی در کنسول نمایش داده می شود. رفع اشکال "ارسال شد!"، اکنون پیام ارسال پیام به درستی در کنسول نمایش داده می شود. اشکال "تماس نادرست مکرر" برطرف شده است. درخواست تعادل اکنون باید در همه مودم ها به درستی کار کند. اشغال شده: 67% SRAM، 95% حافظه فلش.
GSM_2017_04_16-12-00.hex- درست شد. اکنون تیم Info و Money همیشه یک پیامک پاسخ ارسال می کنند. دستور GuardButtonOn با دستورات GuardButtonOn1 و GuardButtonOn2 جایگزین شده است. اشغال شده: 67٪ SRAM، 99٪ حافظه فلش.
GSM_2017_04_21-09-43.hex - برای استفاده توصیه نمی شود، فقط برای آزمایش، با تشکر از خطاهای شناسایی شده :) - اکنون پارامتر sendsms بر ارسال پیام های SMS برای نظارت بر شبکه برق تأثیر نمی گذارد. دستور اس ام اس DelayBeforeGuard اضافه شد که مسئول تأخیر هنگام مسلح کردن است، مقدار نمی تواند از 255 ثانیه تجاوز کند. اضافه شدن دستور SMS DelayBeforeAlarm، که مسئول تاخیر در ارسال اعلان‌ها و فعال کردن "پین هشدار" در هنگام فعال شدن سنسورها است، مقدار نمی‌تواند از 255 ثانیه تجاوز کند. دستورات ClearSMS حذف شدند، اکنون پیام ها به صورت خودکار پس از دریافت حذف می شوند. اشغال شده: 68% SRAM، 100% حافظه فلش.
GSM_2017_04_22-20-42.hex- رفع چندین باگ دستورات ClearSMS دوباره در میان افزار موجود است. بهینه سازی حافظه اشغال شده: 68٪ SRAM، 98٪ حافظه فلش.
GSM_2017_04_23-17-50.hex- حالا درخواست تعادل باید روی همه مودم ها به درستی کار کند. مسلح کردن و خلع سلاح توسط دستگاه های خارجی اکنون به درستی کار می کند. دستور Info پیام های پاسخ SMS نباید خالی باشند. بهینه سازی حافظه اشغال شده: 68٪ SRAM، 98٪ حافظه فلش.
GSM_2017_04_24-13-22.hex- اکنون انتقال دستورات کنسول به ماژول GSMتنها در صورتی تولید می شود که حالت تست فعال باشد. در حال حاضر هیچ تقسیم بندی به دستورات SMS و دستورات کنسول وجود ندارد، تمام دستورات موجود را می توان هم از طریق پیام کوتاه و هم از طریق کنسول ارسال کرد. احتمالا باگ دستور Info رفع شده است. بهینه سازی حافظه اشغال شده: 68٪ SRAM، 94٪ حافظه فلش.
GSM_2017_04_25-20-54.hex- رفع اشکالی که در آن دستور ListConfig مقدار آخرین رویداد را تغییر داد. اکنون هنگام وارد کردن دستورات از طریق kosol پیامک های غیر ضروری ارسال نمی شود. احتمالا باگ دستور Info رفع شده است. بهینه سازی حافظه اشغال شده: 66% SRAM، 94% حافظه فلش.
GSM_2017_04_30-12-57.hex- به طور موقت خروجی اطلاعات اضافی به کنسول هنگام ارسال پیامک و تشکیل پاسخ به دستور Info را فعال کرد. احتمالا باگ دستور Info رفع شده است. بهینه سازی حافظه اشغال شده: 66% SRAM، 92% حافظه فلش.
GSM_2017_05_06-11-52.hex- با عملکرد DelayBeforeAlarm رفع شد. اشغال شده: 66٪ SRAM، 93٪ حافظه فلش.
GSM_2017_05_23-21-27.hex- کمی خروجی اطلاعات را به کنسول تغییر داد. پشتیبانی از ماژول های توسعه پورت در PCF8574A با آدرس هایی از 0x38 تا 0x3f را شامل می شود. رفع اشکال ج. اکنون پس از دستورات FullReset، ResetConfig، ResetPhone و در صورت اجرای موفقیت آمیز دستور MemTest، دستگاه به طور خودکار راه اندازی مجدد می شود. دستور WatchPowerTime اضافه شد. اکنون امکان تعیین زمان ارسال پیامک قطع ارتباط وجود دارد منبع خارجیتغذیه. اشغال شده: 67٪ SRAM، 94٪ حافظه فلش.
GSM_2017_05_26-20-22.hex- تنظیم اولیه حافظه سنسورهای برد توسعه ثابت. سینتکس دستور AddPhone تغییر کرده است. دستور EditMainPhone اضافه شد. اصل عملکرد سیستم اعلان تغییر کرده است، با فعال شدن سنسور ابتدا پیامک ارسال می شود و پس از آن تماس های صوتی برقرار می شود. پیام های اس ام اس هشداردهنده با علامت "S" (SMS) به شماره های تلفن ارسال می شود. تماس های صوتی با شماره هایی با علامت "R" (زنگ) برقرار می شود. پیام های خاموش / روشن کردن منبع تغذیه خارجی با علامت "P" (پاور) به شماره های تلفن ارسال می شود. دستور RingTime اضافه شد. اکنون می توان مدت زمان تماس صوتی زنگ را تنظیم کرد، پارامتر می تواند از 10 تا 255 ثانیه مقدار داشته باشد. اکنون فرمان RingOn/RingOff به صورت جهانی اعلان تماس صوتی را فعال/غیرفعال می کند. دستور ResetSensor اضافه شد. اشغال شده: 68٪ SRAM، 99٪ حافظه فلش.
GSM_2017_06_02-17-43.hex- اضافه شدن پارامتر "I" (اطلاعات) به دستورات AddPhone و EditMainPhone که مسئول اعلان اس ام اس در مورد مسلح کردن یا خلع سلاح دستگاه است. اکنون پس از افزودن شماره اصلی، دستگاه به طور خودکار راه اندازی مجدد می شود. اکنون می توانید همان اعداد را به حافظه دستگاه اضافه کنید. هنگام اضافه کردن شماره های تکراری دوم و بعدی، ویژگی های "M"، "S"، "P" و "I" به طور خودکار از آنها حذف می شود. این اعداد برای تماس های صوتی مکرر زمانی که حسگرها فعال می شوند استفاده می شوند. رفع اشکال با خروجی منحنی به کنسول پس از اجرای دستور AddPhone، اکنون پس از افزودن عدد، اطلاعات به صورت خودکار نمایش داده نمی شود. دستور Reboot اضافه شد. اشغال شده: 69% SRAM، 99% حافظه فلش.
GSM_2017_06_11-00-07.hex- اکنون مجدداً با بسته شدن کنتاکت های سوئیچ نی اصلی (در بسته) دستگاه با یک LED آبی رنگ به مدت 2 ثانیه چشمک می زند که نشان دهنده عملکرد طبیعی سنسور است در حالی که دستگاه مسلح یا خلع سلاح نشده است. دستورات RingOn/RingOff حذف شدند. اکنون دستگاه را می توان در حین یک تماس زنگ دار خلع سلاح کرد، اکنون آنها در پس زمینه انجام می شوند. اشغال شده: 69% SRAM، 99% حافظه فلش.
GSM_2017_07_04-21-52.hex- اکنون دستور Pause پیامک پاسخی ارسال نمی کند. دستورات TestOn و TestOff حذف شدند. پرچم مدیریت از همه شماره ها حذف شده است. اشغال شده: 68٪ SRAM، 96٪ حافظه فلش.
GSM_2017_07_24-12-02.hex- دستورات ReedSwitchOn / ReedSwitchOff را برای نظارت بر حسگر نی اصلی اضافه کرد، اکنون می توان آن را به همان روشی که سنسور حرکتی فعال / غیرفعال کرد. رفع اشکال دستور Info. دستورات TestOn و TestOff دوباره در سیستم عامل وجود دارند. اشغال شده: 68٪ SRAM، 96٪ حافظه فلش.
GSM_2017_07_26-10-03.hex- اضافه شدن دستور ModemID. تشخیص خودکار مودم تنها در صورتی انجام می شود که مقدار این پارامتر 0 باشد. پس از تنظیم مقدار پارامتر روی 0، دستگاه به طور خودکار راه اندازی مجدد می شود. اشغال شده: 68٪ SRAM، 98٪ حافظه فلش.
GSM_2017_08_03-22-03.hex- اکنون زنگ می تواند دستگاه های خارجی را کنترل کند. خروجی آنالوگ A3 برای کنترل استفاده می شود (D17 - به عنوان دیجیتال استفاده می شود). سطح منطقی خروجی (+ 5 ولت یا GND) قابل تغییر است، پس از تغییر سطح از طریق دستور setting، دستگاه به طور خودکار راه اندازی مجدد می شود. مدت زمان سیگنال کنترل دستگاه خارجی را می توان تغییر داد. دستورات ExtDeviceLevelLow، ExtDeviceLevelHigh، ExtDeviceTime، Open اضافه شده است. برخی تغییرات در منطق دستورات کنترلی. بهینه سازی حافظه اشغال شده: 68٪ SRAM، 99٪ حافظه فلش.
GSM_2017_08_10-12-17.hex- حذف دستورات SmsOn / SmsOff، ReedSwitchOn / ReedSwitchOff، PIROn / PIROff و همه چیز مربوط به آنها. دستور DelayBeforeAlarm با دستورات توسعه یافته جایگزین شد. خروجی فرمان اطلاعات تغییر کرد. خروجی دستور ListConfig را به کنسول بهینه کرد. اکنون هر سنسور دیجیتال با سطح پاسخ دهی بالا یا پایین، از جمله سوئیچ های نی، می تواند به پایه های D6 و A0 متصل شود. پایه های D6 و A0 باید از طریق یک مقاومت 10 (20) کیلو اهم به زمین (GND) متصل شوند. اگر سنسور برای سطح ماشه پایین پیکربندی شده باشد (در حالت سوئیچ نی فعال است)، تداوم مدار بررسی می شود. سطح منطقی راه اندازی در ورودی های D6 و A0 (+ 5 ولت یا GND) قابل تغییر است، پس از تغییر سطح منطقی دستگاه به طور خودکار راه اندازی مجدد می شود. برای هر یک از سنسورها (کارت های توسعه اصلی، دوم، PCF)، هنگام فعال شدن، می توان زمان خود را تنظیم کرد، پس از آن یک اعلان (پیامک و / یا تماس صوتی) ایجاد می شود. "سنسور PIR" به "سنسور دوم" تغییر نام داد. عملکرد برد انبساط برطرف شده است، خطایی که به دلیل آن دستگاه همیشه بدون در نظر گرفتن مسلح بودن یا نبودن دستگاه، از فعال شدن سنسورها مطلع می شود. اکنون می توانید حالت عملکردی را انتخاب کنید که در آن دستگاه می تواند سنسورهای برد انبساط را هم در حالت مسلح (GuardOn) و هم در حالت غیرفعال (GuardOff) نظارت کند. دستورات اضافه شده PCFForceOn / PCFForceOff، MainSensorLevelHigh / MainSensorLevelLow / MainSensorLevelOff، SecondSensorLevelHigh / SecondSensorLevelLow / SecondSensorLevelOff، MainDelayBeforeAlarm، SecondDelayBeFAforeA اشغال شده: 68٪ SRAM، 99٪ حافظه فلش.

* نسخه های سفت افزار بعدی شامل تغییراتی نسبت به نسخه های قبلی است.


پورت های مورد استفاده آردوینو نانو نسخه 3

D4- خروجی پین "آلارم"، هنگامی که سنسور فعال می شود، یک سیگنال سطح بالا روی این پایه تنظیم می شود
D5- خروجی معکوس پین "زنگ"، هنگامی که سنسور فعال می شود، یک سیگنال سطح پایین روی این پایه تنظیم می شود.

D6- سوئیچ نی با شروع از نسخه GSM_2017_08_10-12-17.hex، هر سنسور دیجیتال با سطح پاسخ دهی بالا یا پایین، از جمله سوئیچ های نی، می تواند به پایه D6 متصل شود. پایه D6 باید از طریق یک مقاومت 10 (20) کیلو اهم به زمین (GND) کشیده شود.
D7- به یک تقسیم کننده ولتاژ از منبع تغذیه خارجی + 5 ولت متصل است. بازو بالایی 2.2 کیلو اهم و بازوی پایینی 3.3 کیلو اهم است.

تقسیم کننده ولتاژ


D8- مودم TX
D9- مودم RX

D10- LED قرمز
D11- LED آبی
D12- LED سبز

اتصال جانبی:
A0- حسگر حرکتی . با شروع از نسخه GSM_2017_08_10-12-17.hex، هر سنسور دیجیتال با سطح ماشه بالا یا پایین، از جمله سوئیچ های نی، می تواند به پین ​​A0 متصل شود. پایه A0 باید از طریق یک مقاومت 10 (20) کیلو اهم به زمین (GND) کشیده شود.

A1- ورودی برای کنترل خارجی. هنگامی که سطح بالای + 5 ولت در ورودی ظاهر شود، زنگ سیستم را مسلح / غیرفعال می کند.
A2- ورودی معکوس برای کنترل خارجی. هنگامی که یک GND سطح پایین در ورودی ظاهر شود، زنگ هشدار مسلح / غیرفعال می شود.

A3- خروجی قابل تنظیم (+ 5 ولت یا GND) برای کنترل دستگاه های خارجی. هنگامی که یک فرمان کنترلی دریافت می شود، مقدار در این خروجی بسته به اینکه کدام یک برای یک دوره زمانی تعیین شده تنظیم شده است، تغییر می کند.

A4- SDA I2C
A5- SLC I2C
، برای اتصال 8 سنسور اضافی.


دستورات کنترل برای سیستم عامل هگز

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

پیامک - دستورات کنترل به حروف بزرگ و کوچک حساس نیستند:
افزودن تلفن- یک شماره تلفن اضافه کنید در مجموع نمی توان بیش از 9 شماره + 1 شماره اصلی اضافه کرد که در اولین تماس با دستگاه پس از بازنشانی به تنظیمات کارخانه با دستورات به طور خودکار در حافظه ذخیره می شود. تنظیم مجدد تلفنیا بازنشانی کامل... آن ها هر کسی که پس از بازنشانی به تنظیمات کارخانه برای اولین بار با دستگاه تماس گرفته است "اصلی" است، این شماره در اولین سلول حافظه وارد می شود و نمی توان آن را از طریق پیامک تغییر یا حذف کرد. امکان اضافه کردن دو عدد یکسان وجود ندارد.
دستور مثال:



دستور دستور:

افزودن تلفن- فرمان
: - حائل، جداکننده
5- در محل حافظه پنجم بنویسید
+71234567890 - شماره تلفن
قبل از نسخه GSM_2017_05_26-20-22.hex:
الف - پارامتر "زنگ" - پیامک به شماره هایی با این پارامتر ارسال می شود - پیام هایی در مورد فعال سازی زنگ و پیام هایی در مورد مسلح کردن یا خلع سلاح.
از نسخه GSM_2017_05_26-20-22.hex:
m - پارامتر "مدیریت" - مدیریت زنگ فعال است
s - پارامتر "SMS" - با فعال شدن سنسورها یک پیام اس ام اس ارسال می شود
r - پارامتر "زنگ" - هنگامی که سنسورها فعال می شوند تماس صوتی برقرار می شود
p - پارامتر "Power" - هنگامی که برق خارجی روشن / خاموش شود یک پیام اس ام اس ارسال می شود
i - پارامتر "اطلاعات" - پیام sms هنگام مسلح کردن یا خلع سلاح ارسال می شود
در صورت عدم وجود پارامترهای "m"، "s"، "r"، "p"، "i" گوشی در حافظه ذخیره می شود، اما به هیچ وجه استفاده نمی شود.


حذف گوشی- حذف شماره تلفن
دستور مثال:

دستور دستور:

DeletePhone - دستور
: - حائل، جداکننده
+71234567891 - شماره تلفن


EditMainPhone- پارامترهای "s"، "r"، "p"، "i" تلفن اصلی را تغییر دهید، این عدد در اولین سلول حافظه وارد می شود.
دستور مثال:

دستور دستور:

EditMainPhone - دستور
: - حائل، جداکننده
srpi - پارامترها


تعداد موجودی- تغییر شماره درخواست موجودی و پردازش طول پاسخ درخواست. مقدار پیش‌فرض Beeline: # 100 # L22.
دستور مثال:

دستور دستور:

BalanceNum - دستور
: - حائل، جداکننده
# 103 # - شماره درخواست موجودی
L24 - طول (لن) پاسخ ارسال شده 24 کاراکتر است، ما هرزنامه را از درخواست موجودی قطع می کنیم.


ویرایش سنسور- نام سنسور و سطح منطقی عملکرد را تغییر دهید. در کل بیش از 8 سنسور اضافی وجود ندارد. پس از تغییر پارامترها، راه اندازی مجدد دستگاه مورد نیاز است.
دستور مثال:
ویرایش سنسور: 1 + Datchik dvizheniya v koridore # h

دستور دستور:

EditSensor - دستور
: - حائل، جداکننده
1 - در اولین مکان حافظه بنویسید
+ - جداکننده
Datchik dvizheniya v koridore - نام سنسور، با احتساب فاصله، نمی تواند از 36 کاراکتر تجاوز کند.
#h - علامت یک سطح منطقی بالا از سنسور که پس از دریافت آن زنگ هشدار ایجاد می شود. اگر "#h" وجود نداشته باشد، هنگامی که سطح منطقی پایینی از سنسور دریافت شود، زنگ هشدار فعال می شود.


وقت خواب- زمان "به خواب رفتن" زنگ هشدار هنگام دریافت SMS - دستور "مکث" بر حسب دقیقه نشان داده می شود. مقدار پیش فرض: 15، نمی تواند کمتر از 1 و بیشتر از 60 باشد.
دستور مثال:

دستور دستور:

SleepTime - دستور
: - حائل، جداکننده
20-20 دقیقه "خواب".


AlarmPinTime- مدت زمانی که پین ​​زنگ / معکوس روشن / خاموش می شود، بر حسب ثانیه نشان داده می شود. مقدار پیش فرض: 60، نمی تواند کمتر از 1 ثانیه و بیشتر از 43200 ثانیه (12 ساعت) باشد.
دستور مثال:

دستور دستور:

فرمان AlarmPinTime
: - حائل، جداکننده
پین زنگ روشن/خاموش 30 تا 30 ثانیه.


DelayBeforeGuard- زمان قبل از مسلح کردن دستگاه پس از دریافت فرمان مناسب.
دستور مثال:

دستور دستور:

DelayBeforeGuard - تیم
: - حائل، جداکننده
25 تا 25 ثانیه قبل از مسلح کردن


تاخیر قبل از زنگ هشدار- مدت زمانی که بعد از آن در صورتی که آلارم در این مدت خلع سلاح نشده باشد، اعلان پیامکی هشدار دهنده ارسال می شود. با دستورات توسعه یافته جایگزین شده از نسخه GSM_2017_08_10-12-17.hex
دستور مثال:

دستور دستور:

DelayBeforeAlarm - دستور
: - حائل، جداکننده
40 تا 40 ثانیه قبل از ارسال اعلان "زنگ"


WatchPowerTime- زمان بر حسب دقیقه که پس از آن پیامکی مبنی بر قطع شدن منبع تغذیه خارجی ارسال می شود. اگر منبع تغذیه خارجی قبل از پایان زمان تعیین شده بازیابی شود، پیام ارسال نخواهد شد.
دستور مثال:

دستور دستور:

WatchPowerTime - تیم
: - حائل، جداکننده
5-5 دقیقه قبل از ارسال پیامک


زمان زنگ- مدت زمان تماس صوتی زنگ، پارامتر می تواند مقداری از 10 تا 255 ثانیه داشته باشد.
دستور مثال:

دستور دستور:

RingTime - دستور
: - حائل، جداکننده
مدت تماس 40 - 40 40 ثانیه خواهد بود و پس از آن با مشترک بعدی تماس گرفته می شود.


شناسه مودم- نصب اجباری مدل مودم استفاده شده. مقادیر ممکن: 0 - تشخیص خودکار مودم، 1 - M590، 2 - SIM800l، 3 - A6_Mini.
دستور مثال:

دستور دستور:

ModemID - دستور
: - حائل، جداکننده
2 - شناسه مودم.


ExtDeviceTime- تعداد ثانیه هایی که سطح سیگنال در خروجی کنترل دستگاه خارجی تغییر می کند.
دستور مثال:

دستور دستور:

دستور ExtDeviceTime
: - حائل، جداکننده
5-5 ثانیه


ExtDeviceLevelLow- دستگاه خارجی متصل به خروجی A3 توسط سطح سیگنال پایین (GND) هدایت می شود. به طور پیش فرض، خروجی در سطح بالای + 5 ولت وجود دارد تا زمانی که فرمان کنترل یک دستگاه خارجی دریافت شود.
ExtDeviceLevelHigh- یک دستگاه خارجی متصل به خروجی A3 توسط یک سطح سیگنال بالا (+ 5V) کنترل می شود. تا زمانی که فرمانی برای کنترل یک دستگاه خارجی دریافت نشود، خروجی به طور پیش‌فرض روی سطح GND پایین خواهد بود.

بازنشانی سنسور- تنظیم مجدد پارامترهای سنسورهای گسترش دهنده پورت

ResetConfig- تنظیم مجدد کارخانه

تنظیم مجدد تلفن- حذف از حافظه همه شماره تلفن ها

بازنشانی کامل- تنظیم مجدد تنظیمات، حذف تمام شماره تلفن ها از حافظه، بازگرداندن مقدار پیش فرض دستور BalanceNum.

زنگ- فعال کردن اعلان از طریق تماس با شماره "اصلی" ثبت شده در اولین سلول حافظه هنگام فعال شدن سنسور. از نسخه GSM_2017_06_11-00-07.hex حذف شده است
زنگ خاموش- هنگام فعال شدن سنسور، اعلان تماس را خاموش کنید. از نسخه GSM_2017_06_11-00-07.hex حذف شده است

اس ام اس- فعال کردن اعلان پیام کوتاه هنگامی که یک سنسور فعال می شود. از نسخه GSM_2017_08_10-12-17.hex حذف شده است
اس ام اس خاموش- هنگام فعال شدن سنسور، اعلان پیامک را خاموش کنید. از نسخه GSM_2017_08_10-12-17.hex حذف شده است

PIROn- پردازش حسگر حرکت را فعال کنید
PIROff- غیرفعال کردن پردازش سنسور حرکت

ReedSwitchOn- پردازش سنسور اصلی نی را فعال کنید
ReedSwitchOff- پردازش سنسور اصلی نی را خاموش کنید

WatchPowerOn- فعال کردن کنترل منبع تغذیه خارجی، پیامک مبنی بر قطع شدن منبع تغذیه خارجی به شرط مسلح بودن دزدگیر ارسال می شود. از نسخه GSM_2017_03_01-23-37 حذف شده است.

WatchPowerOn1- فعال کردن کنترل منبع تغذیه خارجی، پیامک مبنی بر قطع شدن منبع تغذیه خارجی به شرط مسلح بودن دزدگیر ارسال می شود.
WatchPowerOn2- فعال کردن کنترل منبع تغذیه خارجی، در هر صورت پیامک مبنی بر قطع برق خارجی ارسال خواهد شد

WatchPowerOff- کنترل منبع تغذیه خارجی را غیرفعال کنید

GuardButtonOn- کنترل زنگ توسط دستگاه های خارجی یا با دکمه فعال است. از نسخه GSM_2017_04_16-12-00 حذف شده است.
GuardButtonOn1- عملکرد مسلح کردن یا خلع سلاح کردنمحافظت توسط دستگاه های خارجی یا دکمه روشن است
GuardButtonOn2- عملکرد فقط تولیداتتوسط دستگاه های خارجی مسلح شده یا دکمه فعال است، خلع سلاح با تماس با دستگاه یا با استفاده از یک فرمان SMS انجام می شود.
GuardButtonOff- کنترل زنگ توسط دستگاه های خارجی یا با دکمه غیرفعال است

PCFForceOn- نظارت مستمر گروهی از تمام سنسورهای گسترش دهنده
PCFForceOff- نظارت بر گروهی از تمام سنسورهای توسعه دهنده تنها زمانی که دستگاه مسلح است

سنسور اصلی سطح بالا- هنگامی که یک سیگنال سطح بالا (+5 ولت) در ورودی (D6) از سنسور ظاهر می شود، یک اعلان هشدار ارسال می شود.
Main Sensor Level Low- هنگامی که یک سیگنال سطح پایین (GND) در ورودی (D6) از سنسور ظاهر می شود، یک اعلان هشدار ارسال می شود.
MainSensorLevelOff- پردازش سنسور ورودی (D6) غیرفعال است

SecondSensorLevelHigh- هنگامی که یک سیگنال سطح بالا (+5 ولت) در ورودی (A0) از سنسور ظاهر می شود، یک اعلان هشدار ارسال می شود.
SecondSensorLevel Low- هنگامی که یک سیگنال سطح پایین (GND) در ورودی (A0) از سنسور ظاهر شود، یک اعلان هشدار ارسال می شود.
SecondSensorLevelOff- پردازش سنسور در ورودی (A0) غیرفعال است

تاخیر اصلی قبل از زنگ هشدار- زمانی که پس از فعال شدن سنسور اصلی (D6) یک اعلان پیامکی "هشدار" ارسال می شود، اگر زنگ در این مدت خلع سلاح نشده باشد. سینتکس همان دستور DelayBeforeAlarm است.
SecondDelayBeforeAlarm- زمانی که پس از فعال شدن یک سنسور اضافی (A0) یک اعلان پیامکی "هشدار" ارسال می شود، اگر زنگ در این مدت خلع سلاح نشده باشد. سینتکس همان دستور DelayBeforeAlarm است.
PCFDelayBeforeAlarm- زمانی که پس از فعال شدن سنسورهای برد انبساط (PCF8574) یک اعلان پیامکی "هشداردار" ارسال می شود، اگر زنگ در این مدت زمان خلع سلاح نشده باشد. سینتکس همان دستور DelayBeforeAlarm است.

GuardOn - بازو
GuardOff - حفاظت را حذف کنید

Open - فرمان برای کنترل یک دستگاه خارجی

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

مکث - سیستم را برای زمان تعیین شده توسط فرمان زمان خواب در چند دقیقه مکث می کند، سیستم به تحریک سنسور پاسخ نمی دهد.

TestOn - حالت تست فعال است، LED آبی چشمک زن.
TestOff - حالت تست خاموش است.

LedOff - LED آماده به کار را خاموش می کند.
LedOn - LED آماده به کار را روشن می کند.

پول - درخواست موجودی.

ClearSms - تمام پیامک ها را از حافظه حذف کنید

دستورات کنسول (تا نسخه GSM_2017_04_24-13-22.hex) - وارد شده در مانیتور پورت IDE آردوینو:

AddPhone - مشابه دستور SMS AddPhone

DeletePhone - مشابه دستور SMS DeletePhone

EditSensor - مشابه دستور sms EditSensor

ListPhone - نمایش لیست تلفن های ذخیره شده در حافظه در مانیتور پورت

ResetConfig - شبیه به دستور ResetConfig sms

ResetPhone - شبیه به دستور ResetPhone sms

FullReset - مشابه دستور FullReset sms

ClearSms - مشابه دستور ClearSms sms

WatchPowerOn1 - شبیه به فرمان sms WatchPowerOn1
WatchPowerOn2 - مشابه دستور sms WatchPowerOn2
WatchPowerOff - شبیه به دستور WatchPowerOff sms

GuardButtonOn - مشابه دستور اس ام اس GuardButtonOn. از نسخه GSM_2017_04_16-12-00 حذف شده است
GuardButtonOn1 - مشابه دستور اس ام اس GuardButtonOn1
GuardButtonOn2 - مشابه دستور اس ام اس GuardButtonOn2
GuardButtonOff - مشابه دستور اس ام اس GuardButtonOff

Memtest - تست حافظه غیر فرار دستگاه، تمام تنظیمات دستگاه مشابه دستور FullReset بازنشانی می شود.

I2CScan - دستگاه های پشتیبانی شده را در گذرگاه I2C جستجو و مقداردهی اولیه کنید.

ListConfig - خروجی پیکربندی دستگاه فعلی به مانیتور پورت.

ListSensor - پیکربندی حسگر فعلی را به مانیتور پورت خروجی می دهد.

UPD هنگام استفاده از سنسور حرکت، برای حذف موارد مثبت کاذب هنگام کار کردن مودم، ضروری است بینپین ها GNDو A0آردوینو مقاومت کردن، ما از یک دوست تشکر می کنیم
AllowPhone = ("70001234501"، "70001234502"، "70001234503"، "70001234504"، "70001234505") - اعدادی که مجاز به کنترل امنیت هستند.
AlarmPhone = ("70001234501"، "70001234502") - شماره هایی برای ارسال اعلان های پیامکی هنگام فعال شدن سنسور و اعلان های مربوط به خلع سلاح یا مسلح کردن. اگر فرمان RingOn اجرا شود، اولین شماره در لیست زمانی که سنسور فعال می شود، فراخوانی می شود، به طور پیش فرض این گزینه فعال است. این کار به این دلیل انجام می شود که پیام های اس ام اس ممکن است با تاخیر ارسال شوند، اما تماس باید بلافاصله انجام شود.

اگر تماسی از یک شماره مجاز یا یک پیام اس ام اس با فرمان GuardOn / GuardOff باشد، بسته به وضعیت فعلی حفاظت، یک پیام کوتاه در مورد مسلح کردن یا خلع سلاح به شماره های فهرست شده در آرایه AlarmPhone ارسال می شود. همچنین به شماره ای که تماس از آن وارد شده است ارسال می شود.

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

نشانگر نور:
LED قرمز - مسلح.
LED روشن است سبز- خلع سلاح، فعال / غیرفعال شده با دستور اس ام اس LedOn / LedOff.
LED دائماً به رنگ آبی چشمک می زند - نشان می دهد که همه چیز با آردوینو مرتب است ، برد منجمد نشده است ، منحصراً برای اشکال زدایی استفاده می شود ، با دستور SMS TestOn / TestOff روشن / خاموش می شود.
* کد حاوی تابع LedTest () است، با یک LED آبی چشمک می زند، فقط برای نظارت بر آردوینو ساخته شده است، چشمک می زند - به این معنی است که کار می کند، چشمک نمی زند - یخ زده است. هنوز یخ نکرده :)

غیر مرتبط!

اتصال 2 یا چند سنسور برای سیستم عامل باز (فقط برای این میان افزار sketch_02_12_2016.ino اعمال می شود)
برای اتصال سوئیچ های رید اضافی، از پین های دیجیتال رایگان D2، D3، D5 یا D7 استفاده می کنیم. نمودار اتصال با سنسور اضافی در D7.

تغییرات سیستم عامل مورد نیاز
... #define DoorPin 6 // تعداد ورودی متصل به سنسور اصلی int8_t DoorState = 0; // متغیر برای ذخیره وضعیت سنسور اصلی int8_t DoorFlag = 1; // متغیر برای ذخیره وضعیت سنسور اصلی #define BackDoorPin 7 // تعداد ورودی متصل به سنسور اضافی int8_t BackDoorState = 0; // متغیر برای ذخیره وضعیت سنسور اضافی int8_t BackDoorFlag = 1; // متغیر برای ذخیره وضعیت سنسور اضافی ...
تنظیم void () (... pinMode (DoorPin، INPUT)؛ pinMode (BackDoorPin، INPUT)؛ ...
... void Detect () (// خواندن مقادیر از حسگرها DoorState = DigitalRead (DoorPin); BackDoorState = DigitalRead (BackDoorPin)؛ // پردازش سنسور اصلی اگر (DoorState == LOW && DoorFlag == 0) (DoorFlag = 1؛ تاخیر (100)؛ اگر (LedOn == 1) DigitalWrite (GLed، LOW)؛ زنگ هشدار ();) اگر (DoorState == HIGH && DoorFlag == 1) (DoorFlag = 0؛ تاخیر (100)؛) // پردازش حسگر اضافی اگر (BackDoorState == LOW && BackDoorFlag == 0) (BackDoorFlag = 1؛ تأخیر (100)؛ اگر (LedOn == 1) DigitalWrite (GLed، LOW؛ زنگ هشدار ();) اگر (BackDoorState = = High && BackDoorFlag == 1) (BackDoorFlag = 0؛ تاخیر (100)؛)) ...

و یه چیز دیگه:
1. بهتر است از دیودهای طراحی شده برای جریان 2 آمپر استفاده کنید، زیرا ماژول با جریان 1 آمپر آلوده می شود و هنوز باید آردوینو و مودم را با چیزی تغذیه کنیم. در این مثال از دیودهای 1N4007 استفاده می شود که در صورت خرابی آنها را با 2 A جایگزین کنید.
2. من از تمام مقاومت های LED در 20 کیلو اهم استفاده کردم تا شب کل راهرو روشن نشود.
3. همچنین یک مقاومت 20 کیلو اهم روی سوئیچ نی بین پایه GND و پایه D6 آویزان کردم.

فعلاً همین است. تشکر از توجه شما! :)

من قصد دارم +207 بخرم اضافه کردن به علاقه مندی ها من نقد را دوست داشتم +112 +243

همانطور که می دانید بهار با انواع و اقسام تشدیدها همراه است و "تشدید" اصلی از سوراخ های خود به خیابان رفته است تا آنچه را که متعلق به خود نیست برای خود تصاحب کند. این بدان معناست که موضوع حفاظت از اموال شما بیش از هر زمان دیگری مرتبط می شود.
این سایت قبلاً چندین بررسی در مورد موارد خانگی دارد. آنها البته کاربردی هستند، اما همه آنها دارند ویژگی مشترک- وابستگی به سوکت اگر این مشکل با املاک و مستغلات نیست، جایی که برق قبلاً تامین شده است، پس املاکی که در آن پریز دور است یا اطراف آن کاملاً قطع شده است، چطور؟ من تصمیم گرفتم راه دیگری را انتخاب کنم - یک دستگاه با عمر طولانی، حداکثر ساده و مستقل از منبع تغذیه مونتاژ کنم، که همیشه می خوابد، و هنگامی که سارقان نفوذ می کنند، شروع کنند و با مالک تلفن تماس بگیرند و با یک سیگنال سیگنال دهند. زنگ هشدار ساده

بررسی موارد

خریداری شده:
1. تخته نانیک طرفه 5*7 سانتی متر: getinax- یا فایبرگلاس
* - فایبرگلاس بسیار بهتر از getinax است.
2. ماژول Neoway M590 - با آنتن PCB -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3.3V -
4. برد کنترل شارژ-دشارژ لیتیوم -

استخراج شده از خرابه های تمدن:
1. قفسه های تخته، اره شده از جعبه ابزار - 6 عدد.
2. باتری لیتیوم تخت 1300 میلی آمپر ساعت
3. براکت هایی که برای اتصال کابل به دیوار استفاده می شود
4. پاک کن لوازم التحریر
5. سیم مسی 1.5 میلی متر ضخامت
6. جعبه ابزار از بازار رادیو محلی - 1.5$
7. یک جفت LED رنگ متفاوت(برگرفته از پخش کننده VHS)
8. آنتن و یک دکمه با درپوش (برگرفته از روتر Wi-Fi)
9. بلوک ترمینال 4 پین (برگرفته از دیمر)
10. کانکتور برق (برگرفته از یک شارژر قدیمی 18650)
11. کانکتور 6 پین (برگرفته از درایو DVD)
12. قوطی حلبی (مثلاً برای قهوه)

Arduino Pro Mini "RobotDyn" Atmega 168PA 3.3V 8MHz

مشخصات فنی:
میکروکنترلر: ATmega168PA
ولتاژ کار مستقیم:.8 - 5.5 ولت
ولتاژ کار از طریق تثبیت کننده LE33: 3.3 ولت یا 5 ولت (بسته به مدل)
دمای کاری:-40 درجه سانتیگراد ... 105 درجه سانتیگراد
ولتاژ ورودی: 3.35-12 ولت (مدل 3.3 ولت) یا 5-12 ولت (مدل 5 ولت)
ورودی / خروجی دیجیتال: 14 (6 مورد از آنها می تواند به عنوان خروجی PWM استفاده شود: 3، 5، 6، 9، 10، و 11)
ورودی های آنالوگ: 6
تایمر شمارنده:دو 8 بیتی و یکی 16 بیتی
حالت های ذخیره انرژی: 6
جریان مستقیم از ورودی/خروجی: 40 میلی آمپر
فلش مموری: 16 کیلوبایت (2 مورد برای بوت لودر استفاده می شود)
رم: 1 کیلوبایت
EEPROM: 512 بایت
نوشتن / پاک کردن حافظه منبع: 10000 فلش / 100000 EEPROM
فرکانس ساعت: 8 مگاهرتز (مدل 3.3 ولت) یا 16 مگاهرتز (مدل 5 ولت)
SPI: 10 (SS)، 11 (MOSI)، 12 (MISO)، 13 (SCK)
I2C: A4 (SDA) و A5 (SCL)
UART TTL: 0 (RX) و 1 (TX)
دیتاشیت:

انتخاب کاملاً تصادفی روی این اتمگا افتاد. در یکی از انجمن ها که در آن پروژه های انرژی کارآمد مورد بحث قرار می گرفت، در نظرات با توصیه هایی مواجه شدم که دقیقاً از اتمگا 168 استفاده کنید.
با این حال، من مجبور شدم برای پیدا کردن چنین بردی تلاش کنم، زیرا همه لات ها اغلب با 328 اتمگ در فرکانس 16 مگاهرتز پر شده بودند که از 5 ولت کار می کردند. برای پروژه من، چنین ویژگی هایی از همان ابتدا اضافی و ناخوشایند بودند، جستجو پیچیده تر شد.
در نتیجه، من با نسخه 3.3 ولتی Pro Mini در Atmega 168PA در eBay برخورد کردم، و نه فقط یک نسخه ساده چینی، بلکه با نام تجاری RobotDyn از یک توسعه دهنده روسی. بله من هم اولش مثل شما ذره ای شک داشتم. اما بیهوده. وقتی پروژه قبلاً مونتاژ شده بود و AliExpress یک تحویل اجباری پولی را برای کالاهای ارزان معرفی کرد (پس از آن بسته ها اغلب گم می شدند) ، بعداً من معمولی Pro Mini Atmega168 (بدون PA) 3.3 ولت 8 مگاهرتز را سفارش دادم. من کمی با حالت‌های صرفه‌جویی در مصرف انرژی با هر دو برد آزمایش کردم، یک طرح خاص را در هر کدام به نمایش گذاشتم، میکروکنترلر را در حالت حداکثر صرفه‌جویی در انرژی غوطه‌ور کردم، و این اتفاق افتاد:
1) Arduino Pro Mini "RobotDyn": ~ 250μA
2) Arduino Pro Mini "NoName":هنگامی که برق به تنظیم کننده ولتاژ (خروجی RAW) اعمال شد و LED حذف شد، مصرف جریان ~ 3.92 میلی آمپر




- همانطور که می دانید، تفاوت در مصرف برق تقریبا 16 برابر است، همه اینها به این دلیل است که NoName "Pro Mini" از یک دسته Atmega168 + استفاده می کند که خود MK فقط از آنها می خورد. 20μAجریان (من این را به طور جداگانه بررسی کردم)، بقیه پرخوری روی مبدل ولتاژ خطی AMS1117 می افتد - برگه داده فقط این را تأیید می کند:


در مورد برد RobotDyn، بسته نرم افزاری تا حدودی متفاوت است - این Atmega168PA + است - در اینجا ما از تثبیت کننده LDO دیگری استفاده کرده ایم که ویژگی های آن از نظر صرفه جویی در انرژی دلپذیرتر است:


من آن را لحیم نکردم، بنابراین نمی توانم بگویم که Atmega168PA چقدر جریان را به شکل خالص آن مصرف می کند. در این مورد، من به اندازه کافی داشتم ~ 250μAوقتی با باتری لیتیومی نوکیا تغذیه می شود. با این حال، اگر AMS1117 را از NoName مادربرد لحیم کنید، ATmega168 یک نمونه معمولی است، همانطور که در بالا گفتم به شکل خالص آن مصرف می کند. 20μA.
LED های برق را می توان با چیزی تیز خاموش کرد. مشکلی نیست. تثبیت کننده با سشوار لحیم شده است. با این حال، همه افراد سشوار و مهارت کار با آن را ندارند، بنابراین هر دو گزینه فوق حق وجود دارند.

ماژول Neoway M590E

مشخصات فنی:
فرکانس ها: EGSM900 / DCS1800 دو بانده، یا GSM850 / 1900 یا چهار بانده
حساسیت:-107dBm
حداکثر قدرت انتقال: EGSM900 Class4 (2W)، DCS1800 Class1 (1W)
اوج جریان: 2A
جریان کاری: 210 میلی آمپر
جریان خواب: 2.5 میلی آمپر
دمای کاری:-40 درجه سانتیگراد ... + 85 درجه سانتیگراد
ولتاژ کاری: 3.3 ولت ... 4.5 ولت (3.9 ولت توصیه می شود)
پروتکل ها: GSM / GPRS Phase2 / 2 +، TCP / IP، FTP، UDP و غیره
اینترنت: GPRS کلاس 10
دیتاشیت:

ارزان‌ترین ماژول GSM که در بازار یافت می‌شود، معمولاً دست دوم، لحیم‌شده توسط نه همیشه باهوش دست های چینیاز تجهیزات چرا همیشه زبردست نیستید؟ بله، همه به دلیل لحیم کاری با سشوار - اغلب این ماژول ها به افراد دارای اتصال کوتاه مثبت و منفی می آیند، که یکی از دلایل عدم کارکرد آنها است. بنابراین، اولین قدم این است که برای اتصال کوتاه کنتاکت های برق را زنگ بزنید.

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

این ماژول قبل از منبع تغذیه نیز دمدمی مزاج است، زیرا در اوج خود تا 2 آمپر جریان مصرف می کند و به نظر می رسد دیود موجود در کیت برای کاهش ولتاژ از 5 ولت در نظر گرفته شده است (به همین دلیل روی خود برد 5 ولت نوشته شده است. ) به 4.2 ولت اما با توجه به شکایات مردم قضاوت بیشتر از اینکه خوب باشد دردسر ایجاد می کند.
فرض کنید قبلاً این ماژول را مونتاژ کرده اید و به جای دیود، یک جامپر لحیم شده است، زیرا قرار نیست آن را با ولتاژ 5 ولت تامین کنیم، بلکه آن را مستقیماً از یک باتری لیتیومی تغذیه می کنیم که در محدوده ولتاژ است. ولتاژهای مجاز 3.3-4.2V.
لازم است به نحوی آن را به رایانه متصل کرده و عملکرد آن را بررسی کنید. برای این مورد، بهتر است خودتان را از قبل خریداری کنید - از طریق آن با ماژول و ارتباط برقرار خواهیم کرد بردهای آردوینواز طریق رابط سریال UART (USART).
اتصال زیر در تصویر نشان داده شده است (من آن را تا جایی که می توانم ترسیم کردم):
مودم TX >>> مبدل RX
مودم RX<<< TX конвертера
باتری پلاس - مودم پلاس
منفی باتری لیتیومی با GND مودم و GND مبدل ترکیب شده است.
برای راه اندازی مودم، پایه BOOT را از طریق یک مقاومت 4.7 کیلو اهم روی GND اعمال کنید


در همین حال برنامه را روی کامپیوتر اجرا کنید. به تنظیمات دقت کنید:
1) پورت COM که مبدل TTL به آن متصل است را انتخاب کنید، در مورد من COM4 است، ممکن است یک دیگری داشته باشید.
2) نرخ باود را انتخاب کنید. (در اینجا یک تفاوت ظریف وجود دارد، زیرا خود ماژول ها را می توان برای سرعت های مختلف پیکربندی کرد، اغلب 9600 baud یا 115200 baud. در اینجا شما باید به صورت تجربی انتخاب کنید، سرعت را انتخاب کنید، وصل کنید و دستور AT را ارسال کنید، اگر کرکرها در پاسخ باشند. خاموش می شود، سرعت متفاوتی را انتخاب می کند و دستور را تکرار می کند و به همین ترتیب تا زمانی که پاسخ OK دریافت کنید).
3) طول بسته را انتخاب کنید (در این مورد 8 بیت)، بیت برابری غیرفعال است (هیچکدام)، بیت توقف (1) است.
4) حتماً کادر را علامت بزنید + CR، و سپس یک کاراکتر بازگشتی به طور خودکار به هر فرمانی که در پایان به ماژول ارسال می کنیم اضافه می شود - ماژول دستورات را فقط با این کاراکتر در پایان می فهمد.
5) اتصال، اینجا همه چیز واضح است، ما کلیک کردیم و می توانیم با ماژول کار کنیم.

اگر روی "اتصال" کلیک کنید و سپس ماژول را با اعمال BOOT از طریق یک مقاومت 4.7K روی زمین شروع کنید، ترمینال ابتدا پیغام "MODEM: STARTUP" را نمایش می دهد و پس از مدتی کتیبه "+ PBREADY" را نشان می دهد. این بدان معناست که شماره تلفن خوانده شده است. کتاب، حتی اگر خالی باشد:

تحت این دستور AT اسپویلر با مثال

ما دستور AT را چاپ می کنیم - در پاسخ، ماژول دستور ما را برای ما ارسال می کند، زیرا حالت اکو فعال است، و OK:

بیایید وضعیت مودم را با دستور AT + CPAS بررسی کنیم - در پاسخ، دستور ما دوباره + CPAS: 0 و OK است.
0 - به این معنی است که ماژول آماده کار است، اما بسته به موقعیت ممکن است شماره های دیگری وجود داشته باشد، به عنوان مثال، 3 - تماس ورودی، 4 - در حالت اتصال، 5 - حالت خواب. من اطلاعاتی در مورد 1 و 2 پیدا نکردم.

تغییر سرعت انتقال داده در UART با دستور AT + IPR = 9600 انجام می شود - این در صورتی است که سرعت 9600 باشد. اگر دیگری باشد، برای مثال AT + IPR = 19200 یا AT + IPR = 115200 است.

بیایید سیگنال شبکه را بررسی کنیم. AT + CSQ، پاسخ می آید + CSQ: 22.1 - مقدار تا نقطه اعشار دارای محدوده 0 ... 31 (115 ... 52dBl) است - این سطح سیگنال است، هر چه بیشتر، بهتر. اما 99 به معنای عدم حضور اوست. مقدار بعد از نقطه اعشار کیفیت سیگنال 0 ... 7 است - در اینجا قبلاً برعکس است ، هر چه عدد کمتر باشد ، بهتر است.

با ارسال دستور ATE0 حالت echo را غیرفعال کنید تا دستورات تکراری مانعی برای شما ایجاد نکنند. برعکس، این حالت با دستور ATE1 روشن می شود.

مشاهده نسخه سیستم عامل AT + GETVERS



این و بسیاری از دستورات دیگر را می توان مشاهده کرد

تابلوهای تراز

در حالی که Pro Mini به راحتی به برد برد لحیم می شود، وضعیت ماژول GSM کمی پیچیده تر است. شانه تماس او فقط در یک طرف قرار دارد و اگر فقط آن را لحیم کنید، طرف دیگر تخته به سادگی در هوا آویزان می شود. سپس، دوباره با چشم، مجبور شدم 3 سوراخ اضافی را در نزدیکی سه گوشه روی تخته سوراخ کنم. سپس نواحی اطراف هر یک از سوراخ ها از ماسک برداشته شد. برای راحتی، من سرنخ های جدا شده از شانه را روی یک تخته نان بدون لحیم (سفید) قرار دادم و با نصب برد ماژول GSM روی آنها، معمولاً لحیم می شوند:

بعداً مجبور شدم سوراخ دیگری ایجاد کنم، در مورد من روی حرف "I"، جایی که می گوید "ساخت چین"، روی لبه تخته.


معلوم شد که کنتاکت اضافه شده، که اساساً GND است، در کنار GND برد Pro Mini قرار گرفت و بنابراین امکان ترکیب زمین ماژول GSM و Pro Mini با یک قطره لحیم کاری (طولانی) فراهم شد. سنجاق در وسط و سمت راست آن پین Pro Mini است) - آنها را با فلش مشخص کردم. البته کمی کج شد، اما اکنون به طور قابل اعتمادی ادامه دارد:



مقداری فضای بین بردها باقی مانده است - من یک برد کنترل شارژ لیتیومی با یک کانکتور microUSB از قبل لحیم شده و سیم های لحیم شده در آن قرار دادم.

روسری بسیار محکم در آنجا قرار می گیرد، در حالی که درخشش LED ها از کناره از طریق سوراخ کوچکی در قاب به وضوح قابل مشاهده است.



پایه PCB

برای تعمیر ایمن برد داخل کیس، مجبور شدم چند روزی را به این فکر کنم که چگونه می توان این کار را اجرا کرد. گزینه با چسب ذوب داغ به دلایل مختلفی در نظر گرفته نشد - می تواند سقوط کند، تغییر شکل دهد و مهمتر از همه، جدا کردن ساختار دشوار است.
من به این فکر رسیدم که ساده ترین و صحیح ترین گزینه در اینجا استفاده از رک است که البته من نداشتم. با این حال، چند شارژر غیر کارآمد وجود داشت که از آنجا یک قفسه بلند با نخ برای پیچ های خودکاری بریده شد. هر پایه به نصف اره شده و با یک سوهان تا حدود 9.5 میلی متر تمام شد - در این ارتفاع است که باتری واقع در زیر تخته دارای حاشیه کافی است ، حدود 2 میلی متر - این کار به گونه ای انجام می شود که تماس های لحیم شده تخته با هم تماس نداشته باشند. آن را با نوک خود و به طوری که امکان قرار دادن یک قطعه لاستیک فوم بین آنها برای تثبیت وجود دارد.
در مورد اتصال مستقیم تخته به کیس، در اینجا چهار نوار از یک قوطی قهوه بریدم، در انتهای آن یک سوراخ ایجاد کردم، سپس آنها را روی همان پیچ هایی که در قفسه ها پیچ شده بودند، ثابت کردم. در عکس زیر، ببینید چگونه به نظر می رسد.
مرحله بعدی این است که یک دو عدد قفسه را در طرف دیگر تخته، یعنی از بالا، پیچ کنید تا وقتی کیس بسته شد، درب آن کمی روی این قفسه ها قرار گیرد و تثبیت اضافی ایجاد شود. کمی بعد، در این مورد، با جسدی از زیر رادیو تبلیغات شوروی روبرو شدم (اگر زودتر پیدا می شد، همه قفسه ها را از اینجا می بردم)، که در آنجا یک جفت کم و بیش مناسب قد پیدا کردم. اما ابتدا آنها را در مرکز با مته زیر پیچ های خودکار سوراخ کردم. سپس آنها را برش داد و همچنین با یک پرونده آنها را تمام کرد و اضافه آن را حذف کرد. در اینجا من یک نکته ظریف را دریافت کردم - در عکس می توانید ببینید که یک پایه سفید از لبه به تخته getinax پیچ شده است و دیگری سفید - مستقیماً به برد ماژول ، زیرا از یک لبه برد مودم به طور کامل برد پایین را می پوشاند و از لبه مقابل - برعکس - پایین به بیرون نگاه می کند. در همان زمان، در هر دو تخته، لازم بود که سوراخ هایی نیز سوراخ شود تا درپوش پیچ های خودکاری بتوانند آزادانه عبور کنند.
و در نهایت، باید مطمئن شوید که تخته همیشه موازی با کیس است - براکت هایی که برای تثبیت سیم ها و کابل ها روی دیوار استفاده می شود، برای این مورد کاملاً مناسب هستند، من قبلا میخ ها را از آنها جدا کردم. براکت ها با طرف مقعر بدون هیچ وسیله اضافی به خوبی به برد می چسبند، تنها چیزی که در سمت راست سیم کارت است، عرض براکت بیش از حد معلوم شد و باید سمباده هم شود.
تمام جزئیات به صورت چشمی و تجربی، در زیر عکس همه موارد بالا تنظیم شد:



اتصال دهنده ها ال ای دی ها دکمه.

از آنجایی که شانه تمام شد، مجبور شدم کانکتور 6 پین را از برد درایو DVD جدا کنم، سپس آن را به Pro Mini لحیم کردم، این برای راحتی فلش کردن برد است. در همان نزدیکی، یک کانکتور گرد (Nokia 3.5mm) برای شارژ لیتیوم لحیم کردم.

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

در طرف دیگر برد، یک دکمه برای راه اندازی مجدد دستگاه و دو LED برای رفع اشکال سیستم عامل لحیم کردم - LED قرمز به ماژول GSM وصل شده است، LED سبز دوم به پین ​​10 Pro Mini - برای من راحت تر است. برای اشکال زدایی برنامه با استفاده از آن.

اصلاح باتری

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



نصب روی باتری:

می توانید بلوک ترمینال را با یک کش محکم کنید یا آن را با نوار برق آبی بپیچید که در نهایت این کار را انجام دادم.

مونتاژ.

بخش اصلی کار انجام شده است، جمع آوری و رفع آن باقی مانده است.
بین باتری و برد یک تکه لاستیک فوم گذاشتم تا بعد داخل کیس نخزد. من علاوه بر این، یک خازن 2200 uF را برای تغذیه ماژول لحیم کردم.

هنگامی که شارژ متصل است:

قاب. بلوک ترمینال خارجی

من این مورد را در بازار رادیو محلی با قیمتی حدود 1.5 دلار دریافت کردم، اگر به دلار ترجمه شود، در ابعاد 95x60x25 میلی متر، تقریبا به اندازه یک پاکت سیگار. چندین سوراخ در آن سوراخ کردم. اول، برای بلوک ترمینال 4 پین، که از یک دیمر غیرفعال گرفته شده است.
من دو کنتاکت افراطی را با واشرها از پیچ و مهره ها کاملاً آزاد کردم، سوراخ هایی برای پیچ های بلندتر ایجاد کردم، که روی آن کل بلوک ترمینال روی بدنه قرار می گیرد. البته روی خود کیس، دو سوراخ شدید بزرگ خواهند بود، و دو سوراخ در وسط کوچکتر هستند - آنها دارای پین هایی هستند که از طریق آنها رزوه شده است، که یکی از آنها به VCC Pro Mini وصل می شود و دومین پین به پین ​​است. 2.

سوراخ کردن سوراخ ها، اگرچه در نگاه اول ساده است، اما باز هم زمان کمتری ندارد، از دست دادن آن بسیار آسان است، بنابراین من ابتدا با یک مته کوچکتر و سپس یک مته بزرگتر این کار را انجام دادم.

برای دکمه تدبیر، یک کلاه با قسمت بالایی کمی مقعر انتخاب کردم تا راحت بتوان آن را با یک کبریت یا گیره کاغذ از سوراخ باریکی در مورد ضربه زد.

برد در کیس با حلقه مبدل USB-TTL متصل:

در مورد آنتن
همانطور که ممکن است در طول مسیر متوجه شده باشید، آنتن مدام در حال تغییر بود، زیرا من آنتن های مختلف خانگی را آزمایش کردم. در ابتدا یک کانکتور کواکسیال گرد روی برد ماژول وجود داشت، اما در پنجمین باری که برای آنتن خارجی استفاده شد، فقط از هم پاشید، بنابراین به خاطر داشته باشید که سست است. در نتیجه، آنتن روی PCB را از روتر قدیمی جدا کردم و آن را به برد ماژول، tk لحیم کردم. توری را کمی بهتر از فنر و سیم می گیرد.

خوب، کاملاً با یک شارژر متصل مونتاژ شده است:

تست. چگونه کار می کند:

علاوه بر آزمایش با آنتن ها، من بررسی کردم که زنگ چگونه در خیابان، در یخبندان -15 رفتار می کند. برای انجام این کار، من به سادگی داخل آن را به طور کامل در یک ظرف قرار دادم و آنها را یک شبه روی بالکن گذاشتم، زنگ هشدار همزمان شروع نشد، دلیل آن به طور کلی واضح بود - لیتیوم یخ زدگی را دوست ندارد. این با آزمایش دیگری تأیید شد، جایی که من باتری را در خانه گذاشتم و برد را از طریق سیم های بلند به خیابان آوردم و آن را برای یک روز در همان یخبندان آنجا گذاشتم - عملیات، انگار هیچ اتفاقی نیفتاده است. از طرف دیگر، اگر زنگ هشدار کار نکند، عجیب است. در برگه های داده برای atmega، برای ماژول، برای کوارتز - دمای عملیاتی مجاز تا -40 درجه.

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

اطلاعات تکمیلی

#عبارتند از #عبارتند از // کتابخانه نرم افزار UART SoftwareSerial gsm (7, 6); // RX (7)، TX (6) void wakeUp () () // کنترل کننده وقفه خالی ////////////////////////// /////////////// void gsmOFF () (// PORTD | = (1<<3); // ВЫКЛЮЧЕНИЕ МОДУЛЯ _delay_ms(10); // gsm.println("AT+CPWROFF"); // ПЕЧАТАЕМ КОМАНДУ OFF PORTB &=~ (1<<2); // выключить LED 10 } // //========================================= void gsmON(){ // PORTD|=(1<<6); // 6-му порту (TX) назначить 1 PORTD &= ~(1<<3); // ЗАПУСК МОДУЛЯ _delay_ms(10); // while(!gsm.find("+PBREADY")); // ждём прочтения тел. книги PORTB |= (1<<2); // включить LED 10 _delay_ms(100); // while(1){ // gsm.println("AT+CREG?"); // проверяем в сети ли модуль if (gsm.find("0,1")) break; // если сеть есть, выходим из цикла _delay_ms(400); // проверка раз в 0,4 сек } // } // /////////////////////////////////////////// // void sleepNow(){ // функция засыпания ADCSRA = 0x00; // отключить подсистему АЦП (экономия 140 мкА) PORTD&=~(1<<6); // в вывод TX поставить 0 _delay_ms(100); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна PWR_DOWN sleep_enable(); // включение сна attachInterrupt(0, wakeUp, LOW); // включить прерывания sleep_mode(); // sleep_disable(); // detachInterrupt(0); // отключить прерывания } void setup(){ gsm.begin(9600); // скорость работы UART DDRD = B01001000; // 3-й и 6-й выводы на выход DDRB |= (1<<2); // вывод 10 на выход gsmON(); // запуск модуля для теста gsmOFF(); // выключаем модуль } void loop(){ if (!(PIND&(1<<2))){ // если на 0-ом прерывании появился 0 gsmON(); gsm.println("ATD+79xxxxxxxxx;"); // отзваниваемся, в ответ приходит OK и CONNECT _delay_ms(100); if (gsm.find("OK")) while(1){ // ожидание сброса вызова gsm.println("AT+CPAS"); // при каждой итерации опрашиваем модуль if (gsm.find("0")) break; // если 0, то выходим из цикла while _delay_ms(100); // проверка раз в 0,1 сек } for (char i=0; i<14; i++){ PORTB|=(1<<2); // LED 10 ON _delay_ms(200); PORTB&=~(1<<2); // LED 10 OFF _delay_ms(200); } gsmOFF(); // выключить модуль _delay_ms(10); while(1); // блокируем программу } else { sleepNow(); // укладываем контроллер спать } }

مدار (بدون برد کنترل شارژ-تخلیه)



نتیجه گیری و افکار. طرح ها.

دزدگیر در کشور استفاده می شود، من از کار راضی هستم، اما با مطالعه بیشتر AVR، ایده های بیشتری برای اصلاح بیشتر آن مطرح می شود. آردوینو با سیم‌کشی شبه‌زبانش من را بسیار ناراحت کرد، زیرا یک لحظه ناخوشایند در کار وجود داشت. وقتی از توابع کار با پورت ها استفاده کردم digitalWrite (); یا pinMode (); - سپس ماژول GSM به دلایلی اغلب قطع می شود. اما ارزش این را داشت که آنها را با عجایب مانند DDRB جایگزین کنیم | = (1<فقط دسترسی مستقیم به پورت ها باعث شد دستگاه همانطور که در نظر گرفته شده بود کار کند.

ذخیره انرژی ...
دستگاه مونتاژ شده برای چهار ماه کامل بدون شارژ کار کرد و همچنان به کار خود ادامه می دهد، اگرچه گفتن "خواب" صحیح تر است. این با یک راه اندازی مجدد ساده از طریق دکمه سفید تأیید می شود. با مصرف انرژی 250 میکروآمپر (از طریق تثبیت کننده LE33) و باتری ~ 1430 میلی آمپر ساعتی، اگرچه خوب است، به دلیل جدید نبودن باتری، به 1000 میلی آمپر ساعت می رسیم، معلوم می شود که دستگاه می تواند حدود 5.5 بخوابد. ماه ها بدون شارژ مجدد اگر با این وجود تثبیت کننده را تبخیر کنید، زمان کار می تواند با خیال راحت 10 برابر شود. اما در مورد من نیازی به این کار نیست، زیرا شما همچنان باید هر سه ماه یک بار موجودی سیم کارت را خرج کنید، در عین حال دستگاه قابل بررسی و شارژ مجدد است.
مثالی از صرفه جویی در مصرف انرژی که در بررسی ارائه شده است، بسیار دور از حد مجاز است با قضاوت بر اساس اطلاعات برگه اطلاعات، می توان فرکانس کلاک میکروکنترلر (و این کار با نصب فیوز انجام می شود) به 1 مگاهرتز کاهش داد و در صورت اعمال ولتاژ 1.8 ولت، مصرف به زیر نوار 1μA کاهش می یابد. حالت فعال خیلی بد نیست! اما اگر MC از ژنراتور داخلی RC کلاک شود، مشکل دیگری ظاهر می شود - اتر UART با زباله و خطا مسدود می شود، به خصوص اگر کنترل کننده گرم یا خنک شود.

در حال تکمیل ...
1) یک سیم معمولی نصب شده روی شکاف کاملاً راحت نیست ، من قصد دارم با یک سنسور هال و یک سوئیچ نی آزمایش کنم ، اگرچه در مورد دومی می گویند که خیلی قابل اعتماد نیست ، زیرا مخاطبین داخل آن می توانند بچسبند.
2) خوب است که امکان تغییر "شماره اصلی" را بدون مشارکت رایانه و چشمک زدن اضافه کنید. این قبلاً باید با EEPROM کار کند.
3) وقفه های تایمر نگهبان را امتحان کنید، اما نه فقط برای کنجکاوی، بلکه به طوری که میکروکنترلر به طور دوره ای خودش بیدار شود، ولتاژ باتری را اندازه گیری کند و مقدار دریافتی را از طریق پیامک ارسال کند تا از میزان باتری خالی شده است
4) پنل خورشیدی می تواند به طور کامل نیاز به شارژ مجدد دستگاه را از بین ببرد، این امر به ویژه برای باتری های کم ظرفیت مرتبط خواهد بود.
5) مدتها بود که می خواستم باتری های LiFePo4 را بخرم که طبق بررسی ها به طور معمول یخبندان را تحمل می کنند ، اما در حالی که به دنبال مقدار مناسبی می گشتم ، بهار قبلاً به طور نامحسوس آمده بود.
6) روی مولفه زیبایی شناسی کار کنید

کدام Pro Mini را باید بخرید؟
اگر سشوار وجود ندارد، پس Pro Mini "RobotDyn" Atmega168PA 3.3V، LED را با چیزی تیز بردارید و ~ 250μA دارید.
اگر سشوار دارید، هر تخته ای، تثبیت کننده و LED برق را لحیم می کنید - ~ 20μA جریان مصرف می کنید.

فعلاً همین است، امیدوارم بررسی جالب و مفید بوده باشد.

من قصد دارم +174 بخرم اضافه کردن به علاقه مندی ها من نقد را دوست داشتم +143 +278

سنسورهای مادون قرمز (IR، IR) معمولاً برای اندازه‌گیری فاصله استفاده می‌شوند، اما می‌توان از آنها برای تشخیص اجسام نیز استفاده کرد. با اتصال چندین سنسور IR به آردوینو، می توانید یک دزدگیر ایجاد کنید.

بررسی اجمالی

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

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

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

اجزاء

  • 2 x سنسور فاصله IR;
  • 1 عدد آردوینو مگا 2560;
  • 1 x زنگ؛
  • دکمه 1 x;
  • مقاومت 1 x 470 اهم؛
  • 1 x ترانزیستور NPN؛
  • جامپرها

نمودار اتصال

نمودار این پروژه در شکل زیر نشان داده شده است. خروجی های دو سنسور IR به پایه های A0 و A1 متصل می شوند. دو پایه دیگر به پایه های 5 ولت و GND متصل می شوند. یک زنگ 12 ولتی از طریق ترانزیستور به پایه 3 وصل می شود و دکمه ای که برای خاموش کردن آلارم استفاده می شود به پایه 4 متصل می شود.


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


نصب و راه اندازی

  1. پایه های 5 ولت و GND برد آردوینو را به پایه های پاور و GND سنسورها وصل کنید. شما همچنین می توانید برق خارجی را برای آنها تامین کنید.
  2. سیم های خروجی سنسورها را به پایه های A0 و A1 برد آردوینو وصل کنید.
  3. پایه 3 آردوینو را از طریق یک مقاومت 1K به پایه ترانزیستور وصل کنید.
  4. 12 ولت را به کلکتور ترانزیستور اعمال کنید.
  5. سیم مثبت زنگ 12 ولت را به امیتر و سیم منفی را به ریل زمین وصل کنید.
  6. پایه 4 را از طریق یک دکمه به پایه 5 ولت وصل کنید. به دلایل ایمنی، همیشه بهتر است این کار را از طریق یک مقاومت کوچک اضافی انجام دهید تا از جریان جریان بالا جلوگیری کنید.
  7. برد آردوینو را از طریق کابل USB به کامپیوتر خود متصل کرده و با استفاده از Arduino IDE برنامه را روی میکروکنترلر آپلود کنید.
  8. برد آردوینو را با استفاده از منبع تغذیه، باتری یا کابل USB روشن کنید /

کد

const int buzzer = 3; // پین 3 یک خروجی زنگ هشدار int pushbutton = 4 است. // پین 4 ورودی تنظیمات خالی دکمه () است (pinMode (آژیر، OUTPUT)؛ // پایه 3 را روی حالت خروجی pinMode (دکمه فشاری، INPUT) تنظیم کنید؛ // پایه 4 را روی ورودی تنظیم کنید) حلقه خالی () (/ / خروجی هر دو سنسور را بخوانید و نتیجه را با آستانه int sensor1_value = analogRead (A0)؛ int sensor2_value = analogRead (A1)؛ if (sensor1_value> 400 || sensor2_value> 400) (در حالی که (درست) (digitalWrite (buz) , HIGH) ؛ // فعال کردن آلارم در صورتی که (digitalRead (دکمه فشاری) == HIGH) شکسته شود؛)) other (digitalWrite (buzzer, LOW)؛ // غیر فعال کردن زنگ هشدار))

ویدئو

زمان خوب روز 🙂 امروز در مورد زنگ هشدار صحبت خواهیم کرد. بازار خدمات مملو از شرکت ها، سازمان هایی است که به نصب و نگهداری سیستم های امنیتی مشغول هستند. این شرکت ها طیف گسترده ای از سیستم های هشدار را به خریدار ارائه می دهند. با این حال، هزینه آنها بسیار ارزان نیست. اما فردی که این همه سرمایه شخصی ندارد برای خرج کردن دزدگیر دزدگیر چه باید بکند؟ من فکر می کنم نتیجه گیری خود را نشان می دهد - انجام دادنزنگ خطر. هشدار توسط آنها دست ها... در این مقاله مثالی ارائه می شود که چگونه می توانید سیستم امنیتی رمزگذاری شده خود را با استفاده از برد آردوینو uno و چندین سنسور مغناطیسی بسازید.

سیستم را می توان با وارد کردن رمز عبور از صفحه کلید و فشردن دکمه " غیرفعال کرد. * '. اگر می خواهید رمز عبور فعلی را تغییر دهید، می توانید این کار را با فشار دادن " انجام دهید. ب'، و اگر می خواهید عملیات را رد یا لغو کنید، می توانید با فشار دادن کلید این کار را انجام دهید ‘#’. این سیستم دارای یک زنگ برای پخش صداهای مختلف هنگام انجام یک عملیات خاص است.

سیستم با فشار دادن دکمه A فعال می شود. سیستم 10 ثانیه فرصت می دهد تا از محل خارج شود. بعد از 10 ثانیه زنگ هشدار فعال می شود. تعداد سنسورهای مغناطیسی به میل خود شما بستگی دارد. این پروژه شامل 3 سنسور (برای دو پنجره و یک در) است. هنگامی که پنجره باز می شود، سیستم فعال می شود و آلارم از زنگ هشدار به صدا در می آید. با وارد کردن رمز عبور می توان سیستم را غیرفعال کرد. هنگامی که در باز می شود، آلارم به بازدید کننده 20 ثانیه فرصت می دهد تا رمز عبور را وارد کند. این سیستم از یک حسگر اولتراسونیک استفاده می کند که می تواند حرکت را تشخیص دهد.

فیلم عملکرد دستگاه

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

بیایید شروع کنیم!

مرحله 1: آنچه ما نیاز داریم

  • برد uno آردوینو;
  • صفحه نمایش LCD با کنتراست بالا 16 × 2;
  • صفحه کلید 4 × 4؛
  • پتانسیومتر 10 ~ 20 کیلو اهم؛
  • 3 سنسور مغناطیسی (آنها همچنین سوئیچ های نی هستند).
  • 3 ترمینال پیچ 2 پین؛
  • سنسور اولتراسونیک HC-SR04;

اگر می خواهید بدون استفاده از آردوینو یک سیستم بسازید، به موارد زیر نیز نیاز دارید:

  • کانکتور DIP برای میکروکنترلر atmega328 + atmega328.
  • رزوناتور کریستالی 16 مگاهرتز؛
  • 2 عدد سرامیک 22 pF، 2 عدد. خازن الکترولیتی 0.22uF؛
  • 1 کامپیوتر. مقاومت 10 کیلو اهم؛
  • سوکت برق (جک برق DC)؛
  • تخته نان;
  • منبع تغذیه 5 ولت؛

و یک جعبه برای بسته بندی همه چیز!

ابزار:

  • چیزی که می تواند یک جعبه پلاستیکی را برش دهد.
  • چسب حرارتی تفنگی؛
  • مته / پیچ گوشتی.

مرحله 2: مدار هشدار

نمودار اتصال بسیار ساده است.

توضیح کوچک:

LCD با کنتراست بالا:

  • پین1 - Vdd به GND.
  • پین 2 - در مقابل 5 ولت؛
  • پین3 - Vo (به پین ​​مرکزی پتانسیومتر)؛
  • پین 4 - RS به پین ​​8 آردوینو؛
  • Pin5 - RW به GND.
  • Pin6 - EN به پایه 7 آردوینو؛
  • پین 11 - D4 به پایه 6 آردوینو؛
  • پین 12 - D5 به پین ​​5 آردوینو؛
  • پین 13 - D6 به پین ​​4 آردوینو؛
  • پین 14 - D7 به پین ​​3 آردوینو؛
  • پین 15 - Vee (در سمت راست یا چپ پین پتانسیومتر).

صفحه کلید 4×4:

چپ به راست:

  • پین ۱ تا پین A5 آردوینو؛
  • پین 2 تا پین A4 آردوینو؛
  • پین 3 تا پین A3 آردوینو؛
  • پین پین 4 تا پین A2 آردوینو؛
  • پین 5 تا پین 13 آردوینو؛
  • پین 6 تا پین 12 آردوینو؛
  • پین 7 تا پین 11 آردوینو؛
  • پین 8 تا پین 10 آردوینو.

مرحله 3: سیستم عامل

مرحله کدی را ارائه می دهد که توسط داخلی استفاده می شود!

افزونه کدبندر را دانلود کنید. روی دکمه Run در آردوینو کلیک کنید و با این برنامه برد خود را فلش کنید. همین. شما به تازگی آردوینو را برنامه ریزی کرده اید! اگر می خواهید کد را تغییر دهید، روی دکمه "ویرایش" کلیک کنید.

توجه: اگر از Codebender IDE برای برنامه‌نویسی برد آردوینو خود استفاده نمی‌کنید، باید کتابخانه‌های دیگری را در Arduino IDE نصب کنید.

مرحله 4: بورد کنترل خود را بسازید

پس از اینکه یک پروژه جدید مبتنی بر آردوینو uno را با موفقیت مونتاژ و آزمایش کردید، می توانید ساخت برد خود را شروع کنید.

چند نکته برای تکمیل موفقیت آمیزتر کار انجام شده:

  • یک مقاومت 10K باید بین پایه های 1 (تنظیم مجدد) و 7 (Vcc) میکروکنترلر Atmega328 سیم کشی شود.
  • یک کریستال 16 مگاهرتز باید به پایه های 9 و 10 با برچسب XTAL1 و XTAL2 متصل شود.
  • هر سیم رزوناتور را به خازن های 22pF وصل کنید. خازن بدون سرب به پایه 8 (GND) میکروکنترلر منتهی می شود.
  • به یاد داشته باشید که خط دوم برق ATmega328 را به منبع تغذیه، پایه های 20-Vcc و 22-GND وصل کنید.
  • در تصویر دوم می توانید اطلاعات بیشتری در مورد پین های میکروکنترلر بیابید.
  • اگر قصد دارید از منبع تغذیه با ولتاژ بالاتر از 6 ولت استفاده کنید، باید از یک رگولاتور خطی LM7805 و دو خازن الکترولیتی 0.22uF استفاده کنید که باید در ورودی و خروجی رگولاتور نصب شوند. مهم است! بیش از 6 ولت به برد اعمال نکنید !!! در غیر این صورت میکروکنترلر Atmega و نمایشگر LCD خود را می سوزانید.

مرحله 5: مدار را در کیس قرار دهید