آردوینو سیم کارت GSM - GPRS پروژه های آردوینو

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

create-diy-sms-control-kit-with-arduino-and-sim800l-digispark
نوشته شده توسط معین صابری

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

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

 


قابلیت های کیت کنترل رله پیامکی


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

رله پیامکی با Sim800L و برد آردوینو - دیجی اسپارک

 

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

  • قابلیت ثبت دو شماره تماس در حافظه دستگاه
  • قابلیت اضافه و حذف شماره های تماس از طریق پیامک
  • حفظ شدن شماره های تماس در حافظه حتی پس از قطع برق دستگاه
  • قابلیت مدیریت وضعیت رله تنها از طریق شماره های ثبت شده در حافظه
  • قابلیت تعریف شماره های مجاز جهت فرمان به منظور افزایش امنیت دستگاه
  • پس از آشنایی با امکانات دستگاه، قسمت بعد را به معرفی قطعات و نقش هریک می پردازیم.

 


اجزای پروژه رله پیامکی و شرح


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

روش کار پروژه رله پیامکی با Sim800l و برد آردوینو - دیجی اسپارک

 

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

ماژول سیم کارت Sim800L و رله پیامکی - دیجی اسپارک

 

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

ماژول رله تک کانال در رله پیامکی - دیجی اسپارک

 

در نهایت برد آردوینو به عنوان پردازشگر مرکزی، وظیفه ارتباط با ماژول SIM800L و دریافت ورودی از آن را دارد.  این برد که از پردازنده ATMEGA328P بهره می برد، می تواند برنامه های مختلف به زبان برنامه نویسی C++ را اجرا نماید. برد آردوینو UNO در حقیقت یک برد توسعه برای میکروکنترلر ATMEGA328P به شمار می آید. این برد راه اندازی و کاربا میکروکنترلر را بسیار آسان می نماید. در کنار این، پلتفرم آردوینو راه اندازی و کار با بردهای توسعه و میکروکنترلرها را بسیار تسهیل می نماید.

برد آردوینو در ساخت رله پیامکی با سیم کارت - دیجی اسپارک

 

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

آموزش راه اندازی و کار با رله، کلیک کنید

سلسله آموزش های برد آردوینو، کلیک کنید

سلسله آموزش های ماژل سیم کارت SIM800L کلیک کنید

توجه: در این پروژه از ماژول کاهنده ولتاژ LM2596 جهت ایجاد ولتاژ مورد نیاز ماژول SIM800L استفاده کرده ایم. به کمک این ماژول ولتاژ ۱۲ ولت آداپتور را به ۴ ولت مورد نیاز SIM800L تنها با چرخاندن ولوم آبی رنگ روی ماژول ایجاد می کنیم.

کاهنده ولتاژ LM2596 در ساخت رله پیامکی - دیجی اسپارک

 

پس از آشنایی با قطعات و نقش هر یک در پروژه، نوبت به شماتیک و اتصالات پروژه رله پیامکی می رسد. قسمت بعد را به این مورد اختصاص می دهیم.

 


شماتیک و اتصالات پروژه رله پیامکی


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

شماتیک و اتصالات رله پیامکی با آردوینو Sim800L - دیجی اسپارک

 

در ادامه اتصالات را مطابق تصویر فوق در پیش می گیریم.

 


اتصالات ماژول SIM800L و تغذیه


  •  اتصال پایه TX ماژول SIM800L به پایه ۰(RX سخت افزاری) آردوینو
  • اتصال پایه TX سخت افزاری برد آردوینو(پایه شماره ۱) به کمک تقسیم مقاومتی(دو مقاومت یک کیلو) به پایه RX ماژول SIM800L

برای تغذیه سیستم ما از یک آداپتور ۱۲ ولت ۵ آمپر استفاده می کنیم. با اتصال این آداپتور به جک تغذیه آردوینو، برد تغذیه می شود. همچنین این ولتاژ ۱۲ ولت ۵ آمپر در پایه VIN آردوینو قرار می گیرد. در اینجا ما به کمک مبدل کاهنده ولتاژ LM2596 ولتاژ ۱۲ ولت را به ۴ ولت که ایده آل ماژول SIM800L است، تبدیل می کنیم. برای این مورد ورودی مثبت ماژول کاهنده به پایه VIN و ورودی منفی آن به پایه GND آردوینو متصل می شود. سپس خروجی این ماژول را به کمک مولتی ترن، بر روی ۴ ولت تنظیم می کنیم. در نهایت پایه خروجی مثبت ماژول کاهنده به پایه VCC ماژول SIM800L و پایه خروجی منفی ماژول کاهنده به پایه GND ماژول SIM800L متصل می گردد.

توجه: ابتدا خروجی ولتاژ ماژول LM2596 را روی ۴ ولت تنظیم کرده و سپس ماژول SIM800L را به این ماژول متصل کنید.

 


اتصالات ماژول رله


  •  اتصال پایه VCC ماژول به ۵ ولت آردوینو
  • اتصال پایه GND ماژول به پایه GND آردوینو
  • اتصال پایه OUT(یا IN) ماژول به پایه ۱۳ آردوینو

 


کدهای پروژه رله پیامکی


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

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 


اجرای پروژه SMS کنترل رله


پس از آپلود کدهای پروژه رله پیامکی، نوبت به اجرای آن می رسد. در ابتدا کمی صبر کنید تا ماژول SIM800L به شبکه متصل شود. در ادامه پس از اتصال ماژول به شبکه، می توانید اجرا را آغاز نمایید. برای بار اول، از آنجاییکه شماره ای در حافظه دستگاه قرار ندارد،  کیت منتظر ارسال پیامک جهت اضافه نمودن شماره به دستگاه می ماند. برای ارسال شماره تماس، فرض کنید که قصد ارسال شماره ۰۹۱۲۱۲۳۴۵۶۷ را به دستگاه دارید. برای این منظور، ابتدا صفر اول شماره را حذف کرده و به جای آن عبارت ۹۸+ را قرار دهید. یعنی شماره به صورت +۹۸۹۱۲۱۲۳۴۵۶۷ تعیین کنید. سپس ابتدای شماره، یعنی پیش از + عبارت ! و در انتهای آن عبارت # را قرار دهید. به عبارت دیگر، شماره تماس به صورت   #۹۸۹۱۲۱۲۳۴۵۶۷+! به کیت پیامک کنید. پس از دریافت پیام توسط کیت، پیامکی به صورت تصویر به شماره تعیین شده ارسال خواهد شد.

دریافت پیامک در پروژه رله پیامکی کنترل وسایل برقی - دیجی اسپارک

 

پس از این قسمت می توانید به فرمان های مختلف، وضعیت دستگاه را کنترل کنید. این فرامین را در جدول زیر قرار می دهیم.

شرح دستور
حذف اول در حافظه #D1!
حذف شماره دوم در حافظه #D2!
روشن کردن رله #ON!
خاموش کردن رله #OFF
درج شماره

توجه: اگر دو شماره در حافظه موجود باشد و بخواهید شماره دیگری اضافه کنید، شماره جدید به جای شماره دوم در حافظه ثبت می شود.

#……۹۸۹۱۲۱۲۳۴+!

 

با ارسال فرامین فوق، می توانید به مدیریت شماره ها و ارسال فرمان به رله جهت تعیین وضعیت آن بپردازید. توجه داشته باشید که کنترل وضعیت رله و مدیریت شماره ها تنها از طریق شماره های ثبت شده در حافظه امکان پذیر است.

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

نهایی سازی پروژه کنترل رله پیامکی آردوینو - دیجی اسپارک

 


تحلیل کدهای پروژه رله پیامکی


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

شرح تابع
بررسی پیامک دریافتی و اجرای درخواست کاربر check_sms
ارسال پیامک آغاز به کار موفق دستگاه send_sms
کنترل اتصال دستگاه به شبکه check_connect()
ذخیره شماره save_number
خوانده شماره از حافظه دستگاه برای توابع دیگر read_number
حذف شماره delete_number();

 


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


 


جمع بندی


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

 

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

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه

  • سلام مهندس و با تشکر از شما .
    در خصوص این پروژه ، چنانچه ما بخواهیم از برد Wemos D1 و یا از NodMcu بجای برد آردینو UNO استفاده کنیم . با توجه به سطوح ولتاژ متفاوت این دو نوع برد که NodMcu برابر با ۳/۳ ولت و آردینو یونو ۵ ولت میباشد . آیا مقاومتهای قرار گرفته برای مآژول سیم کارت نیاز میباشد ؟ یا خیر ؟ و دیگه اینکه ولتاژ ماژول سیم کارت ولتاژ ۴/۲ ولت میباشد . جهت اتصال به ورودی RX برد NodMcu مقاومت نیاز دارد یا خیر ؟