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

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

create-gas-leak-detector-with-sim800l-and-mq135-arduino-digispark
نوشته شده توسط معین صابری

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

 


عملکرد کیت اعلام نشت گاز سیم کارتی


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

کیت اعلام نشت گاز با سنسور MQ135 و برد آردوینو Sim800L - دیجی اسپارک

 

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

 


ویژگی های کیت اعلام نشت گاز تماس تلفنی


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

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

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

 


سنسور گاز MQ135


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

سنسور گاز MQ135 برای تشخیص دود و گاز - دیجی اسپارک

 

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

 


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


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

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

 

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

 


برد آردوینو UNO


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

برد آردوینو Uno SMD در پروژه کیت اعلام نشت گاز - دیجی اسپارک

 

 از طرفی شماره های تماس جهت اعلام خطر در حافظه EEPROM این برد ذخیره خواهند شد. بدین ترتیب بدون نیاز به حافظه جانبی، برد با بالاترین سرعت به شماره های تماس دسترسی خواهد داشت.

 


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


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

توجه: ابتدا ولتاژ تنظیم شده و سپس به ماژول SIM800L متصل گردد.

 


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


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

شماتیک و اتصالات کیت اعلام نشت گاز با Sim800l - دیجی اسپارک

 

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

 


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


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

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

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

 


اتصالات سنسور MQ135


  •  اتصال پایه VCC سنسور به ۵ ولت آردوینو
  • اتصال پایه GND سنسور به پایه GND آردوینو
  • اتصال پایه AO سنسور به پایه A0 آردوینو

 


کدهای پروژه اعلام نشت گاز


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

۱-پیش از آپلود کد روی برد کابل متصل به پایه RX آردوینو را جدا کنید.

۲- هنگام آپلود برنامه، آداپتور متصل به آردوینو را جدا کرده و تنها از طریق کابل برد را تغذیه و پروگرام کنید. پس از اتمام آپلود، مجددا کابل را از برد جدا کرده و با آداپتور آن را تغذیه کنید.

 

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

 

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

 


اجرای پروژه کیت اعلام نشت گاز


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

اجرای پروژه کیت اعلام نشت گاز با سیم کارت - دیجی اسپارک

 

 پس از این پیام برای مدت ۲ دقیقه فرصت دارید تا شماره جدیدی اضافه کنید. همچنین به کمک دستور #D1!شماره نخست حذف می گردد. به همین روش، به کمک دستور #D2! شماره دوم حذف می گردد. در این جا چنانچه مدت زمان ۲ دقیقه بگذرد و شماره ای در حافظه نباشد، برنامه صبر می کند تا شماره ای ارسال شود. با دریافت یک شماره و یا گذشت پس از دو دقیقه با وجود شماره در حافظه، پیامک زیر از طرف دستگاه ارسال می گردد.

 

دریافت SMS در پروژه کیت اعلام نشت گاز mq135 آردوینو - دیجی اسپارک

 

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

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

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

توجه۴: ویرایش شماره ها تنها در ابتدای روال شروع به کار دستگاه ممکن است.

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

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

 

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

 


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


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

 

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

 

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

 


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


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

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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

۲۲ دیدگاه

  • سلام مهندس
    یه پروژه ای قبلاً منتشر شده درمورد ارسال تصویر به ربات تلگرام
    ولی تلگرام خب فیلتره و نمیشه این پروژه را انجام داد
    میشه شما همین پروژه را با ربات بله بزارید

    و پروژه ای که پاسخگوی تلفنی خودکار بود با ماژول سیم‌کارت را هنوز منتشر نکردید ؟

    درمورد پروژه آیفون تصویری هوشمند اگه میشه ارسال تصویر به ایمیل انجام بشه و بدون اینترنت ماژول سیم‌کارت یعنی ماژول esp32cam به مودم وایرلس وصل بشه اینجوری بهتره

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

  • سلام مهندس من یه کواد کوپتر دارم دوربین وای‌فای داره ولی بیشتر از یک متر حتی کمتر از یک متر هم تصویر زنده نمیده در حالی که باید حداقل ۲۰ متر تصویر زنده بده آنتن شو چک کردم و حتی بجای آنتن خودش یه سیم را دور یک خودکار پیچیدم و به جای آنتن لحیم کردم ولی درست نشد بنظر شما مشکل از کجاست؟
    همچنین ماژول esp32cam را هم در حالت اکسس پوینت گذاشتم که تصویر زنده بگیرم وقتی ولتاژ ماژول را از کواد کوپتر گرفتم و هرچی جوی استیک رادیو کنترل را به سمت بالا می‌بردم تصویر بد تر میشد
    اومدم ایندفعه یه باتری ۳٫۷ ۳۰۰ میلی آمپر را به دوربین متصل کردم ولی تا موتور ها را روشن کردم و یک متر بالا رفت تصویر زنده قطع شد دلیلش چیه بنظر شما؟

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

        • اگر هر دو باشد که عالی است، اگر نه ترجیحا تصویر از کوادکوپتر و نحوه قرار گیری دوربین روی آن

              • سلام مهندس مشکل ارسال تصویر توسط esp32cam حل شد یه سیم به جای آنتن بهش متصل کردم مشکل برطرف شد ولی باتری جداگانه بهش وصل کردم و زیر کواد کوپتر گذاشتم و تونست بلندش کنه
                راهی هست که بشه تغذیه ماژول را از قسمت خروجی دوربین کواد کوپتر گرفت ؟
                چون من یک بار تغذیه را از خروجی دوربین کواد کوپتر گرفتم ولی هرچی اهرم گاز کواد کوپتر را بالا می‌بردم تصویر نویز بیشتری می‌گرفت

                • سلام
                  عالی شد
                  برای این مورد که تغذیه را از خروجی دوربین گرفته اید، لطفا یک خازن هزار میکروفاراد با خروجی تغذیه موازی کنید و تاثیر را بررسی کنید.

  • سلام
    https://s6.uupload.ir/files/img_۲۰۲۲۰۲۰۶_۰۷۵۰۵۰_k983.jpg

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

    • اگر بتوانید از مبدل SMA به UFL استفاده کنید و سپس یک آنتن SMA استفاده کنید تصاویر با کیفیت بهتر ارسال خواهند شد. به نظر می رسد نویز حاصل از گردش موتورها روی آنتن دهی ماژول تاثیر دارند.

  • https://s6.uupload.ir/files/img_۲۰۲۲۰۲۰۶_۰۷۵۱۰۶_v39n.jpg
    و درمورد ماژول esp32cam هم بصورت خوابیده به زیر کواد کوپتر متصل کردم وقتی که اهرم گاز را روی رادیو کنترل فشار میدم تصویر زنده نویز میگیره (این در صورتی است که تغذیه ماژول از کواد کوپتر تامین بشه )البته به ماژول آنتن متصل نکردم
    ولی یک بار دیگر من تغذیه ماژول را بصورت جدا با استفاده از یک باتری ۳٫۷ ۳۰۰ میلی آمپر متصل کردم و همزمان ماژول و دوربین را به زیر کواد کوپتر متصل کردم بعد از اینکه کواد را یک متر بالا میبرم تصویر قطع میشه

    • آنتن را به شیوه گفته شده متصل کنید. خازن هم روی تغذیه برد ESP32CAM قرار دهید. همچنین اتصالات را محکم تر کنید. اگر بتوانید برد ESP32CAM را روی برد سوراخدار لحیم کنید و سپس کابل ها را به پین هدرهای نری آن لحیم کنید، کیفیتی احتمالا بهتر خواهد شد.

      • سلام بله ولتاژ از خروجی کواد کوپتر بود
        ولتاژ را با ولتمتر اندازه گیری کردم ۳٫۲۵ بود
        به ۳٫۳ ماژول esp32cam متصل کرده بودم

      • سلام مهندس خروجی ۴٫۲۰ هست
        و وقتی که اهرم گاز را فشار میدم خود ماژول esp32cam قطع میشه یعنی من نمیتونم از لیست وای‌فای هام بهش متصل بشم

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

          • سلام مهندس من یه دوربین مخصوص کواد کوپتر هم دارم با ارسال تصویر
            ولی اصلأ هیچ نویزی نداره
            چگونه چنین چیزی ممکن است؟