فهرست مطالب:

سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود: 9 مرحله (همراه با تصاویر)
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود: 9 مرحله (همراه با تصاویر)

تصویری: سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود: 9 مرحله (همراه با تصاویر)

تصویری: سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود: 9 مرحله (همراه با تصاویر)
تصویری: یک تیغ ریش را پشت موبایل خود بگذارید ببینید چه اتفاقی میوفته 2024, جولای
Anonim
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود
سیستم هشدار بی سیم آردوینو با استفاده از سنسورهای موجود

اگر سنسورهای زنگ بی سیم 433 مگاهرتز یا 315 مگاهرتز دارید ، این پروژه می تواند در حدود نیم ساعت با هزینه 20.00 دلار ساخته شود.

همچنین می تواند یک پروژه کاملاً جدید با سنسورهای هشدار بی سیم ، مانند آشکارسازهای حرکت مادون قرمز و سوئیچ های نی باشد که به راحتی و با قیمت ارزان به صورت آنلاین در دسترس است. کافی است سنسورهای 433 مگاهرتز یا 315 مگاهرتز را که از کدگذاری PT2262 یا EV1527 استفاده می کنند جستجو کنید.

من مطمئن هستم که بسیاری از افراد مانند من یک سیستم هشدار GSM/2G با سنسورهای بی سیم خریداری کرده اند و از آن راضی بودند ، اما وقتی شبکه 2G/GSM در محل زندگی من خاموش شد ، یک سیستم زنگ خطر برایم باقی ماند. دیگر برنامه ای ندارید یا حتی زمان را روی آن تنظیم نمی کنید. یک روز در حالی که می پرسیدم چه کار می توانم بکنم تا زنگ هشدارم دوباره کار کند ، به ذهنم رسید که بررسی کنم آیا آردوینو می تواند سیگنال هایی را از سنسورها دریافت کند یا خیر. من به طور تصادفی با https://www.instructables.com/id/Decoding-and-sending-433MHz-RF-codes-wind-Arduino-/ روبرو شدم و بعد از آزمایش برخی از آنها مشخص شد که می توانم سیگنالها را از سنسورهای موجود دریافت کنم. من فرایند ساخت یک سیستم هشدار را آغاز کردم که می تواند جایگزین زنگ هشدار فعلی من شود و همچنین باعث افزایش عملکرد شود. یکی از مسائل مربوط به زنگ هشدار قدیمی این بود که نمی دانستم دقیقا کدامیک از 25 سنسور خاموش شده است ، با اضافه کردن یک صفحه LCD به زنگ هشدار جدید ، من اکنون متنی روی LCD دریافت می کنم که نشان می دهد دقیقاً کدام سنسور فعال شده است. زنگ جدید هنوز می تواند به صورت دستی توسط کلیدهای بی سیم موجود در منزل مسلح شود و دارای ساعت زمان واقعی است که به آن اجازه می دهد به طور خودکار در زمان های از پیش تعیین شده روز مسلح و خلع سلاح شود.

تدارکات

برای اطمینان از استفاده صحیح از این قسمت ها ، در انتها یادداشت های اضافی را مشاهده کنید.

آردوینو اونو یا مشابه آن

ماژول گیرنده 433 یا 315 مگاهرتز برای آردوینو

ماژول ساعت واقعی DS3231 برای آردوینو

ماژول I2C 16x2 LDC برای آردوینو

سوییچ های زنگ هشدار بی سیم ، سنسورهای حرکت و کلیدهای ریموت به صورت دلخواه

وزوز پیزو

LED و مقاومت 220 اهم

تخته نان (اختیاری اما توصیه می شود)

منبع تغذیه مناسب برای آردوینو

سیم های بلوز و غیره

رایانه شخصی با Arduino IDE نصب شده است

آشنایی اولیه با آردوینو

مرحله 1: لوازم

تدارکات
تدارکات
تدارکات
تدارکات
تدارکات
تدارکات

برخی از تصاویر بالا از لوازم مورد نیاز برای این پروژه

مرحله 2: Ardunio و ماژول ها را همانطور که در تصویر نشان داده شده است ، سیم کشی کنید

Ardunio و ماژول ها را در تصویر نشان دهید
Ardunio و ماژول ها را در تصویر نشان دهید

Piezo بین پایه 5 آردوینو و ارت

LED بین پین 8 آردوینو و یک مقاومت 220 اهم و سپس روی زمین قرار دهید

گیرنده 433 یا 315 مگاهرتز ، VCC تا 5V ، GND به زمین و یکی از 2 پین داده به پین 2 آردوینو

ماژول I2C 16X2 LCD VCC تا 5V ، GND به زمین ، پین های SCL SDA به SCL SDA آردوینو (پین A5 SCL ، پین A4 SDA است)

DS3231 RTC Module VCC به 5V ، GND به زمین ، پین های SCL SDA به SCL SDA آردوینو (مجموعه دوم در بالای پین GND و AREF اکثر آردوینو قرار دارد)

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

مرحله 3: کتابخانه های لازم را به Arduino IDE اضافه کنید

کتابخانه های لازم را به IDE آردوینو اضافه کنید
کتابخانه های لازم را به IDE آردوینو اضافه کنید
کتابخانه های لازم را به IDE آردوینو اضافه کنید
کتابخانه های لازم را به IDE آردوینو اضافه کنید
کتابخانه های ضروری را به IDE آردوینو اضافه کنید
کتابخانه های ضروری را به IDE آردوینو اضافه کنید

Arduino Sketch برای اجرای زنگ هشدار از کتابخانه هایی استفاده می کند که قبلاً به طور پیش فرض بر روی Arduino IDE نصب نشده اند.

برای افزودن کتابخانه RCSwitch به Arduino IDE. Arduino IDE را در منوی بالا "Sketch" را انتخاب کنید ، سپس از منوی کشویی "Include library" و از منوی پایین "مدیریت کتابخانه ها" را انتخاب کنید. سپس در کادر "Filter your search" نوع "RCSW" را بنویسید ، سپس روی install برای "rc-switch by sui77" کلیک کنید.

دستورالعمل های دقیق در مورد افزودن کتابخانه ها در

در حالی که ما در آن هستیم ، ما همچنین باید کتابخانه هایی با نام Time ، TimeAlarms ، DS1307RTC و LiquidCrystal_I2C را اضافه کنیم ، همان روال بالا ، اما نام هر کتابخانه جدید را جستجو و نصب کنیم. اگر مطمئن نیستید از کدام کتابخانه ها استفاده کنید عکس های صفحه را در بالا ببینید.

ساعت واقعی DS3231 با کتابخانه DS1307RTC سازگار است و از آن استفاده می کند.

مرحله 4: در مرحله بعد ما باید کد سنسورهای شما را دریافت کنیم

در مرحله بعد ما باید کد سنسورهای شما را دریافت کنیم
در مرحله بعد ما باید کد سنسورهای شما را دریافت کنیم
در مرحله بعد ما باید کد سنسورهای شما را دریافت کنیم
در مرحله بعد ما باید کد سنسورهای شما را دریافت کنیم

من الگوی کد آردوینو را در زیر ارائه کرده ام ، اما شما باید مقادیر هر یک از سنسورهای خود را پیدا کرده و آنها را در کد جایگذاری کنید.

اطلاعات گسترده ای در مورد نحوه به دست آوردن این کدها در هر دو سایت وجود دارد.

www.instructables.com/id/Decoding-and-sending-433MHz-RF-cod-with-Arduino-/

github.com/sui77/rc-switch/wiki

با این حال در اینجا نسخه مختصر من است.

برای به دست آوردن کدهایی که سنسورها و کلیدهای ریموت شما ارسال می کنند ، Arduino را که در مرحله 1 مونتاژ شده است از طریق کابل USB به رایانه متصل کرده و Arduino IDE را باز کنید. سپس در Arduino IDE به منوی کشویی "File" بروید ، سپس به "Examples" بروید و لیست نمونه طرح ها را پایین بیاورید تا "RCSWITCH" را پیدا کنید ، سپس طرح "ReceiveDemo_Advanced" را انتخاب کرده و آن را در Arduino بارگذاری کنید. هنگامی که طرح با موفقیت بارگذاری شد ، مانیتور سریال Arduino IDE را باز کنید و همچنان از طریق USB به رایانه شما متصل شود. اکنون اولین سنسوری را که می خواهید کد را دریافت کنید فعال کنید ، خروجی RCSwitch در پنجره مانیتور سریال ظاهر می شود. برای این پروژه ما به دنبال کدهای اعشاری هستیم که در تصویر 2 مشخص شده است. شما باید سنسور را چندین بار به دنبال مقدار اعشاری که بیشتر اوقات ظاهر می شود ، فعال کنید ، گاهی اوقات مقادیر متفاوتی با مقدار واقعی مخلوط می شوند ، این باعث می شود با تداخل امواج رادیویی تصادفی یا سایر دستگاههایی که با فرکانس یکسان کار می کنند.

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

مرحله 5: الگوی کد Arduino

در زیر یک کپی از کد آردوینو من به عنوان یک فایل.ino به نام Wireless_Alarm است. می توانید روی آن کلیک کنید و باید در Arduino IDE باز شود. من برنامه نویس نیستم ، کد من تا حدودی از نمونه های موجود در Arduino IDE مونتاژ شده است ، احتمالاً زیبا نیست ، اما کار می کند و در مدت زمان طولانی قابل اعتماد بوده است.

به یاد داشته باشید که پس از اعمال تغییرات در کد های حسگرهای خود ، طرح را دوباره ذخیره کنید.

مرحله 6: کدهایی را که در مرحله 5 بدست آورده اید در طرح الگو Arduino قرار دهید

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

اگر طرح Wireless_Alarm را در IDE خود باز کنید ، در خط 111 مشاهده خواهید کرد.

if (mySwitch.getReceivedValue () == 115166236) // کد دکمه بازوی فوب

در جایی که در کد موجود 115166236 خوانده می شود ، باید آن عدد را با کد اعشاری برای دکمه بازوی keyfob از راه دور خود که در مرحله 5 ضبط کرده اید ، جایگزین کنید.

به عنوان مثال اگر در مرحله 5 عدد اعشاری 1154321 بدست آورید ، خط 111 را تغییر دهید تا اکنون خوانده شود.

if (mySwitch.getReceivedValue () == 1154321) // کد دکمه بازوی فوب

همین روش را برای خط 125 دنبال کنید.

if (mySwitch.getReceivedValue () == 115166234) // کد دکمه خلع سلاح Fob

کد دکمه خلع سلاح keyfob خود را که در مرحله 5 ضبط کرده اید 115166234 جایگزین کنید.

اگر می خواهید از چندین فوب از راه دور برای مسلح کردن و خلع سلاح استفاده کنید ، خطوط 111 تا 136 را هر چندبار که نیاز است کپی و چسباند ، سپس مقادیر را متناسب با دیگر کلیدهای ریموت خود تغییر دهید ، اما بهتر است فقط با یک ریموت شروع کنید تا مطمئن شوید که اصلاح شده اید. طرح کار می کند

اکنون برای کدگذاری سنسورهای زنگ در طرح در خط 140

if (ledState == HIGH && mySwitch.getReceivedValue () == 1151640) // اقدام برای کمد دفتر فرستنده سیگنال

1151640 را خارج کرده و مقدار اعشاری یکی از سنسورهای زنگ هشدار را وارد کنید.

سپس در خط 158.

lcd.print (F ("کمد دفتر")) ؛ // پیام را روی LCD چاپ کنید تا بدانید کدام سنسور فعال شده است (و بروید و سارق را پیدا کنید:)

کابینت آفیس را به آنچه که دوست دارید روی آن LCD برای آن سنسور نمایش داده شود ، تغییر دهید. به عنوان مثال ، اگر می خواهید آن را به عنوان kitchendoor بخوانید ، خط را به این شکل نشان دهید.

lcd.print (F ("Kitchendoor")) ؛ // پیام را روی LCD چاپ کنید تا بدانید کدام سنسور فعال شده است (و بروید و سارق را پیدا کنید:)

اسامی نباید بیش از 16 نویسه باشد.

بین خط 165 و 187 یک الگو برای کپی و چسباندن به تعداد دفعات مورد نیاز در خطوط مستقیم زیر 187 است. عدد را پس از mySwitch.getReceivedValue () == با اعشار یکی از دیگر حسگرهای خود که در مرحله 5 ضبط کرده اید ، جایگزین کنید. و تغییر نام در "" در lcd.print (F ("sensornamehere")) ؛ به نامی که می خواهید سنسور خود را بگذارید.

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

به یاد داشته باشید که پس از اعمال تغییرات ، فایل را ذخیره کنید.

مرحله 7:.ino اصلاح شده را در Arduino خود بارگذاری و تست کنید

.ino اصلاح شده را در Arduino و Test خود بارگذاری کنید
.ino اصلاح شده را در Arduino و Test خود بارگذاری کنید
.ino اصلاح شده را در Arduino و Test خود بارگذاری کنید
.ino اصلاح شده را در Arduino و Test خود بارگذاری کنید
.ino اصلاح شده را در Arduino و Test خود بارگذاری کنید
.ino اصلاح شده را در Arduino و Test خود بارگذاری کنید

در حالی که آردوینو هنوز با USB به رایانه شما متصل است ، طرح را روی برد آردوینو بارگذاری کنید. پس از اتمام بارگذاری ، LCD باید "Alarm On Disarmed" (زنگ هشدار خاموش) را بخواند. دکمه بازو را روی ریموت خود فشار دهید و LCD باید "Alarm On Military" را بخواند و LED باید روشن شود تا به شما اطلاع دهد که مسلح است ، حالا سنسور را در حالی که مسلح است فعال کنید ، LCD باید زنگ هشدار را با مهر زمان و محل سنسور ، بیپر باید 2 دقیقه به صدا در آید مگر اینکه دکمه خلع سلاح را فشار دهید. اگر به این نتیجه نمی رسید ، کدهایی که در مرحله 5 دریافت کرده اید و تغییراتی که در مرحله قبل در کد ایجاد کرده اید را مجددا بررسی نکنید ، سیم کشی همه اجزا را نیز مجدداً بررسی کنید. اگر LCD به طور کامل نمی خواند ، تنظیم کنتراست در پشت ماژول LCD وجود دارد. اگر کنتراست به درستی تنظیم شد اگر LCD هنوز خوانده نشده است ، آدرس LCD را از 0x3f به 0x27 در خط 12 در طرح تغییر دهید. عیب یابی LCD در اینجا آموزش LCD I2C است

مرحله 8: تنظیم زمان در ماژول RTC و تغییر زمان بازو و خلع سلاح

امیدوارم RTC شما قبلاً با زمان صحیح تنظیم شده باشد ، اما اگر IDE را باز نکرده اید ، "File" را انتخاب کنید و از منوی کشویی روی "Examples" کلیک کنید ، به پایین به "DS1307RTC" بروید و طرح "SetTime" را انتخاب کنید ، طرح را در برنامه خود بارگیری کنید. Arduino و ساعت واقعی را با زمان رایانه شما تنظیم می کند. سپس باید طرح Wireless_Alarm را در Arduino خود بارگیری کنید.

Wireless_Alarm. برای تغییر این زمان ها ، Sketch را در خطوط 71 و 72 تغییر دهید. زمان بعد از Alarm.alarm در داخل پرانتز قرار دارد. با فرمت HH ، MM ، SS در تکرار قرار دهید. این را به هر زمانی که مناسب شماست تغییر دهید

Alarm.alarmRepeat (6 ، 00 ، 0 ، MorningAlarm) ؛ // زمان خلع سلاح

Alarm.alarm تکرار (22 ، 15 ، 0 ، EveningAlarm) ؛ // زمان ARM

بنابراین برای تغییر زمان خلع سلاح به 9.15 صبح و زمان بازوها به 5.30 بعد از ظهر کد به این شکل خواهد بود

Alarm.alarmRepeat (9 ، 15 ، 0 ، MorningAlarm) ؛ // زمان خلع سلاح

Alarm.alarmRepeat (17 ، 30 ، 0 ، EveningAlarm) ؛ // زمان ARM

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

//Alarm.alarmRepeat(6 ، 00 ، 0 ، MorningAlarm) ؛ // زمان خلع سلاح

//Alarm.alarmRepeat(22، 15، 0، EveningAlarm)؛ // زمان بازو

با تغییر خط 22 زمان بوق زنگ به صدا در می آید

فاصله طولانی const = 120000؛ // برای میلی ثانیه تاخیر در طول زمان برای تلفن های موبایل زنگ

فاصله بین میلی ثانیه است بنابراین 120000 = 120 ثانیه ، تغییر 120000 به 30000 باعث می شود که زنگ هشدار به مدت 30 ثانیه به صدا در آید.

یک شیر برقی برای اجرای آژیر ، نور بارق ، بوق با حجم زیاد و غیره نیز می تواند به پین 7 یا پین 9 وصل شود و همانطور که در بالا تنظیم شده است "فاصله" اجرا می شود. به خاطر داشته باشید حداکثر بار برای پین آردوینو نباید از 40 میلی آمپر تجاوز کند.

مرحله 9: نکات اضافی

هنگام انتخاب ماژول گیرنده 433 یا 315 مگاهرتز برای آردوینو ، باید فرکانس را برای مطابقت با سنسورهای زنگ هشدار مورد نظر خود انتخاب کنید. پیشنهاد می کنم ماژولی را خریداری کنید که دارای آنتن های مارپیچی کوچک برای بهترین عملکرد باشد ، متناوباً آنتن های سیم مستقیم 17.3 میلی متری نیز عملکرد را افزایش می دهد.

با استفاده از ماژول LCD 16x2 شما باید از یک LCD 4 پین I2C برای استفاده از دستورالعمل ها و کدی که در اینجا ارائه می کنم استفاده کنید ، ممکن است با LCD استاندارد 16 پین ساخته شود اما با سیم کشی یا کد در اینجا کار نمی کند.

کلیدهای زنگ هشدار بی سیم ، سنسورهای حرکت و کلیدهای کنترل از راه دور باید 433 مگاهرتز یا 315 مگاهرتز باشد تا با گیرنده ای که قصد استفاده از آن را دارید مطابقت داشته باشد و باید از کدگذاری PT2262 یا EV1527 استفاده کنید.

زنگ هشدار قابل ارتقاء و سازگاری است ، من قبلاً یک کارت SD برای ضبط هنگام فعال شدن سنسورها اضافه کرده ام ، LCD را تغییر داده ام تا تنها با نگه داشتن یک دکمه روشن شود و یک آژیر 100dB اضافه شود ، اما برای حفظ مقاله به عنوان جزئیات در اینجا ذکر نشده است. تا حد امکان کوتاه و ساده امیدوارم کارهایی که در مورد این زنگ هشدار انجام داده ام برای دیگران مفید باشد.

خوشحالم که به هر سوالی پاسخ می دهم.

با تشکر.

توصیه شده: