آموزش آردوینو سخت افزار سیم کارت GSM - GPRS

کنترل وسایل برقی با DTMF از طریق تماس تلفنی و گزارش صوتی Sim800L

نوشته شده توسط معین صابری

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

 


تعریف و کاربرد سرویس DTMF


ماژول SIM800L قابلیت ارسال و دریافت پیامک، اتصال به اینترنت و تبادل داده در فضای وب را در خود جای داده است. به عنوان مثال، در این آموزش، کنترل پیامکی رله به کمک این ماژول شرح داده شده است. با توجه به اینکه این ماژول قادر است تماس صوتی دو طرفه ایجاد کند و از طرفی دیگر سرویس DTMF در آن تعبیه شده، بنابراین می توان از این قابلیت در جهت کنترل وسایل از راه دور و به کمک تماس صوتی، اقدام نمود. سرویس DTMF که مخفف عبارت Dual Tone Multiple Frequency است، می تواند در تماس های تلفنی صوتی، در صورت فشرده شدن کلیدهای صفحه کلید موبایل، کلید را تشخیص دهد.

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

 


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


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

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

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

 


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


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

Activation of relays via DTMF call with voice report

 


ماژول رله Relay


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

Activation of relays via DTMF call with voice report

 

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

 


ماژول MP3 PLAYER از نوع DF MINI PLAYER


ماژول MP3 PLAYER از نوع DF MINI، یکی از ماژول های کاربردی در پخش صدا است. این ماژول با ابعادی بسیار کوچک، قادر به پخش فایل های صوتی ذخیره شده در کارت SD است. برای راه اندازی این ماژول، کافیست فایل های صوتی با فرمت MP3 را درون کارت SD ذخیره کرده و درون سوکت کارت SD قرار دهید. این ماژول با قابلیت اتصال بلندگو با توان ۳ وات و هدفون، می توان فایل های صوتی را پخش نماید.

 

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

 


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


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

 

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

 


نصب کتابخانه MP3 PLAYER


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

 


شماتیک و اتصالات


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

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

 

پیش از انجام سیم کشی، در ابتدا خروجی ماژول LM2596 را بر روی ۴٫۲ ولت  که برای دو ماژول SIM800L و MP3 PLAYER مناسب است، تنظیم کنید. در ادامه، به منظور سیم کشی و برقراری اتصالات بین قسمت های مختلف مدار، ابتدا ماژول MP3 را به صورت زیر سیم کشی کنید.

  • اتصال پایه مثبت خروجی مبدل کاهنده به پایه VCC ماژول MP3
  • اتصال پایه منفی مبدل کاهنده به پایه GND ماژول MP3
  • اتصال پایه TX ماژول MP3 به صورت سری با یک مقاومت یک کیلو اهمی به پایه ۱۰ آردویینو
  • اتصال پایه RX ماژول MP3 به صورت سری با یک مقاومت یک کیلو اهمی به پایه ۱۱ آردویینو
  • اتصال پایه SPK1 به پایه MICP ماژول SIM800L
  • اتصال پایه SPK2 به پایه MICN ماژول SIM800L
  • اتصال پایه GND ماژول به پایه GND آردویینو

 

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

  • اتصال پایه VCC ماژول SIM800L به خروجی مثبت ماژول کاهنده ولتاژ
  • اتصال پایه GND ماژول SIM800L  به پایه خروجی منفی ماژول کاهنده ولتاژ
  • اتصال پایه TX ماژول SIM800L به پایه ۰ یا همان RX سخت افزاری آردویینو
  • اتصال پایه یک یا TX سخت افزاری برد آردویینو به صورت تقسیم مقاومتی با دو مقاومت یک کیلو اهمی به پایه RX ماژول SIM800L

 

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

  • اتصال پایه VCC ماژول رله به پایه ۵ ولت آردویینو
  • اتصال پایه GND ماژول رله به پایه GND آردویینو
  • اتصال پایه SIGNAL ماژول رله به پایه شماره ۴ آردویینو

 

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

 


کد کنترل وسایل برقی با DTMF


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

 

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

 

 


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


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

 


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


در این قسمت به نحوه اجرا و عملکرد پروژه می پردازیم. پیش از اجرای پروژه، ابتدا کارت SD را یکبار فرمت کنید. سپس یک فولدر به نام ۱۷ ایجاد کرده و دو فایل صوتی با فرمت MP3، یکی  برای فعال بودن رله و دیگری برای غیر فعال یا خاموش بودن رله رکورد کنید. فایل غیر فعال بودن رله را به صورت ۰۰۱ با پسوند .mp3 و فایل فعال بودن رله را به صورت ۰۰۲ و با پسوند mp3 نام گذاری کنید. پس از این مرحله، این دو فایل را در فولدر ۱۷ که پیشتر در کارت SD ایجاد کرده بودید، قرار دهید.

Activation of relays via DTMF call with voice report

 

در ابتدای راه اندازی پروژه، ابتدا می بایست کمی صبر کنید تا ماژول به شبکه متصل شود. پس از اتصال ماژول به شبکه، در سریال مانیتور، عبارت CONNECTED TO NETWORK را مشاهده خواهید کرد. در این مرحله، با تماس با شماره سیم کارت درون ماژول، ابتدا تماس به طور خودکار پاسخ داده شده و وضعیت رله، بریا شما پخش خواهد شد. سپس با انتخاب کلید ۰ برای غیر فعال و کلید ۱ برای فعال سازی، رله متصل به آردویینو وصل و یا قطع شده و پس از آن، تماس خاتمه خواهد یافت.

 


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


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

ماژول SIM800L

انواع ماژول رله

ماژول MP3 PLAYER از نوع DF MINI 

کارت SD

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

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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

۱۸ دیدگاه

  • سلام مهندس یک سوال داشتم اما به پروژه شما مربوط نیست
    میشه پروژه ساخت مودم همراه با اردوینو و ماژولsim800l را بزارید ؟؟

    • سلام
      بله، قابلیت های جدید تر هم می توان اضافه نمود. چه مواردی مد نظر شماست تا در بروز رسانی پروژه، قرار دهیم؟

      • به نظر من بجای کنترل یک رله حداقل ۴ رله را بتوان بصورت لحظه ای و خاموش و روشن کنترل کرد
        و اینکه ورودی برای مدار درنظر بگیرید تا در هنگام عبور شخصی از جلوی سنسور تشخیص حرکت مدار با شماره ای که داخلش ذخیره شده تماس برقرار کند و با استفاده از پیام صوتی هشدار بدهد
        و قابلیت دما را هم به مدار اضافه کنید تا موقعی که با مدار تماس برقرار میکنیم و عدد مورد نظر را وارد میکنیم دما را بصورت صوتی به ما اعلام کند
        و اینکه خیلی مدار عالی تر میشه که با مدار تماس برقرار کنیم و با استفاده از راهنمایی های صوتی بتوان هم دما و رله و …. را کنترل کرد
        البته قابلیت های جدید و بیشتری میشه اضافه کرد اما من بیشتر ازاین چیزی به ذهنم نرسید

  • سلام مهندس
    یه سوال داشتم
    من با بعضی از شماره ها مثل شماره ۲۰۲۰ تماس میگیرم
    یه سری گزینه های صوتی خونده میشه برای مثال برای ارتباط با کارشناس فنی عدد ۱ و…
    را شماره گیری کنید و بعد از اینکه عدد را وارد میکنم به کارشناس مربوطه وصل میشم
    یه همچین پروژه ای را نمیشه بصورت ساده تر با اردوینو و ماژول sim800l انجام داد؟؟

    • سلام این ماژول ها به طور کلی وارد طرح رجیستری نمی شوند. بنابراین می توانید به سادگی از آن ها استفاده نمایید.

  • سلام مهندس
    یک سوال دارم دستگاه های کنترل پیامکی اماده است با ماژول sim800l کار میکنند؟
    اگر که با همین ماژول کار میکنند چرا هنگ نمیکنن ؟

  • سلام مهندس صبح تون بخیر
    من اموزش را مطالعه کردم و متوجه شدم که فقط با اتصال پایه ریست به منفی هنگ ماژول برطرف میشود
    اگر میشه از این به بعد به پروژه هایی که مربوط به ماژول سیم‌کارت است یه کد هم اضافه کنید که مثلاً هر ۱۰ دقیقه یک بار وضعیت ماژول طبق اموزش که خوندم چک بشه و اگر هنگی پیش امد سریع توسط میکرو کنترلر برطرف شود

  • سلام مهندس یه ایده جالب به ذهنم رسید
    که با استفاده از چند سنسور تشخیص رطوبت خاک و ماژول سیم‌کارت و ماژول DF player یه ابیاری هوشمند بسازیم که مثلاً اگر داخل گلدان یک اب نداشت دستگاه با شماره از پیش تعریف شده تماس بگیرد و بهمون بگه که گلدان یک اب ندارد برای ابیاری عدد ۱
    و وقتی که روی عدد ۱ کلیک میکنیم طبق تایمی که داخل کد ها تعریف کردیم دستگاه شروع به ابیاری گلدان شماره یک کند و بعد از اینکه تایم تمام شد دستگاه دوباره تماس بگیرد و بهمون بگه که گلدان شماره یک ابیاری شد
    یا مثلاً خودمون با دستگاه تماس بگیریم و منوی صوتی زیر را برامون بخونه
    ابیاری گلدان شماره یک عدد ۱ و همچنین بقیه گلدان ها برای اطلاع از وضعیت هر چهار گلدان عدد ۶

    • سلام
      عالی
      حتی می توانیم فرمان صوتی برای دستگاه بفرستیم. مثلا بگوییم کدام گلدان را آبیاری کند و یا مثلا فرمان صوتی بدهیم که وضعیت فلان گلدان به چه صورت است و با DF برای وضعیت آن پخش شود. این آموزش را برای فرمان صوتی مطالعه کنید:
      لینک آموزش SIRI جهت فرمان صوتی

  • سلام مهندس صبح تون بخیر
    درمورد هنگ ماژول سیمکارت میشه از یک ماژول تایمر هم استفاده کرد که هر ۱۰ دقیقه یک بار رله برای یک ثانیه فعال بشه و پایه های ماژول سیمکارت منفی و ریست بهم اتصال داده بشه

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