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

طراحی و پیاده سازی رله تایمر پیامکی با Sim800L و برد آردوینو

timer-relay-project-with-sim800l-and-arduino-digispark
نوشته شده توسط معین صابری

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

 


رله تایمر تعریف و کاربرد


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

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

 

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

 


ماژول سیم کارت SIM800L


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

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

 

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

 


ماژول کاهنده ولتاژ LM2596


ماژول کاهنده ولتاژ LM2596، یکی از کاربردی ترین ماژول ها در جهت تغذیه مورد نیاز قطعات و ماژول های مختلف است. به کمک این ماژول می توانید ولتاژ مورد نظر خود را در خروجی تنظیم کنید. خروجی توان این ماژول ۳ آمپر بوده و کاملا مناسب تغذیه ماژول SIM800L است. با توجه به اینکه ماژول SIM800L دارای بازه تغذیه ۳٫۴ الی ۴٫۴ بوده و در لحظه اول راه اندازی نیاز به جریان دو آمپر دارد، ماژول کاهنده ولتاژ LM2596 برای تغذیه ماژول SIM800L، بسیار کاربردی خواهد بود.

Activation of relays via DTMF call with voice report

 


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


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

Activation of relays via DTMF call with voice report

 

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

 


برد آردویینو UNO


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

 

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

 


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


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

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

 

در ادامه، اتصالات مدار فوق را در پیش می گیریم. توجه داشته باشید که در این پروژه ما از یک آداپتور ۱۲V با قابلیت جریان دهی ۵ آمپر جهت تغذیه کل مدار استفاده می کنیم. این آداپتور به جک آردوینو متصل شده و تغذیه کل مدار فراهم خواهد شد. به همین ترتیب، اتصالات ماژول کاهنده ولتاژ lm2596 به شکل زیر خواهد بود.

  • اتصال پایه مثبت ورودی LM2596 به پایه VIN آردوینو
  • اتصال پایه منفی ورودی LM2596 به پایه GND آردوینو

پس از برقراری اتصالات ورودی، نوبت به اتصالات خروجی ماژول می رسد. پیش از اتصال، به کمک مولتی ترن آبی رنگ(ولوم) روی ماژول، ولتاژ خروجی را بر روی ۴٫۲ تنظیم کنید. پس از تنظیم ولتاژ، به شکل زیر عمل کنید.

  • اتصال پایه مثبت خروجی lm2596 به پایه VCC ماژول SIM800L
  • اتصال پایه منفی خروجی LM2596 به پایه GND ماژول SIM800L

در ادامه اتصالات بین ماژول SIM800L و آردوینو UNO را به شکل زیر اجرا کنید.

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

پس از این مرحله نوبت به برقراری ارتباطات رله و برد آردوینو می رسد. برای این مرحله روال کار را به شکل زیر در پیش بگیرید.

  • اتصال پایه GND ماژول رله به GND آردوینو
  • اتصال پایه VIN ماژول رله به پایه ۵V آردوینو
  • اتصال پایه SIGNAL و یا IN ماژول رله به پایه GPIO4 برد آردوینو

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

 


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


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

  • از آنجاییکه بین ماژول SIM800L و برد آردوینو UNO از طریق سریال سخت افزاری ارتباط برقرار است، لذا هنگام اپلود کد ارتباط پایه RX برد آردوینو و TX ماژول SIM800L را جدا کرده و پس از آپلود کد، مجددا برقرار سازید.
  • هنگام آپلود کد بر روی آردوینو، تغذیه از طریق آداپتور جدا شده باشد و تنها از طریق کابل برد به رایانه متصل گردد.

 

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

 

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

 


اجرای پروژه رله تایمر پیامکی


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

 

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

 

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

 

 

همچنین در ادامه می توانید روال اجرای برنامه را در سریال مانیتور مطابق تصویر زیر مشاهده کنید.

 


تحلیل کدهای برنامه


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

check_connect

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

  • تشخیص دریافت پیامک
  • جداسازی متن پیام ارسالی از دیگر کاراکترها

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

 


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


برد آردویینو UNO

ماژول SIM800L

ماژول رله

ماژول کاهنده ولتاژ LM2596

مقاومت یک کیلو اهمی

برد بورد و کابل

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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

۱۴ دیدگاه

  • سلام مهندس بنظر من پروژه بسیار عالی است
    ولی اگر میشه امکانات زیر را بهش اضافه کنید
    تایمر دوزمانه
    تایمر معمولی
    استفاده از ماژول رله دو الی چهار کانال
    و گذاشتن دو الی چهار زمان متفاوت بستگی به تعداد رله ها

    • سلام و ممنونم
      فکر جالبی هست
      البته یک مدل دیگر از این تایمر هم در حال انتشار هست
      تایمر دو زمانه یعنی چطور باشد؟

  • منظور از تایمر دوزمانه
    یعنی دو تایم متفاوت به دستگاه میدهیم مثلاً
    تایم اول ۱ ساعت
    تایم دوم ۲ دقیقه ساعت
    یعنی پس از طی شدن ۱ ساعت اول
    تایم دوم دو دقیقه رله روشن بشه و پس از دو دقیقه دوباره ۱ ساعت رله خاموش بشه

  • سلام خسته نباشید این پروژه رو با برد NodeMCU هم میتوان انجام داد؟ ممنون میشم که راهنمایی کنید

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

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

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

  • با سلام
    من برنامه را اجرا کردم،ولی خروجی برنامه در پنجره سریال عبارت
    AT+CCALR?
    پشت سر هم نمایش داده می شود.به نظرم از حلقه تابع check_connect بیرون نمیاد.مشکل چی میتونه باشه و راه حل چیست!
    سپاس