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

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

create-online-digital-thermostat-with-sim800l-internet-and-arduino-digispark
نوشته شده توسط معین صابری

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

 


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


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

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

 

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

 


قطعات مورد نیاز و نقش هر کدام در پروژه


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

برد آردوینو UNO

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

سنسور دمای NTC

ماژول رله دو کاناله

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

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

 

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

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

 

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

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

 

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

 


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


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

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

 

در ادامه اتصالات را به شیوه زیر ادامه می دهیم.

 


اتصالات سنسور دما و آردوینو


  •  اتصال یک پایه سنسور دما به ۵ ولت
  • اتصال پایه دیگر سنسور دما به یک پایه مقاومت ۱۰ کیلو
  • اتصال پایه دیگر مقاومت ۱۰ کیلو به زمین
  • اتصال محل تلاقی پایه سنسور و مقاومت ۱۰ کیلو به پایه A0 آردوینو

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

 


اتصال ماژول رله دو کانال به برد آردوینو


  •  اتصال پایه ۵ ولت ماژول رله به ۵ ولت آردوینو
  • اتصال پایه GND ماژول رله به پایه GND آردوینو
  • اتصال پایه IN1 به پایه ۳ آردوینو
  • اتصال پایه IN2 به پایه ۲ آردوینو

 


اتصالات ماژول سیم کارت SIM800L و کاهنده ولتاژ


  • اتصال ورودی مثبت ماژول کاهنده ولتاژ به پایه VIN آردوینو
  • اتصال ورودی منفی ماژول کاهنده ولتاژ به GND آردوینو
  • تنظیم ولتاژ خروجی ماژول کاهنده ولتاژ روی ۴ ولت
  • اتصال پایه مثبت خروجی ماژول کاهنده ولتاژ به پایه VCC ماژول SIM800L
  • اتصال پایه منفی خروجی کاهنده ولتاژ به پایه GND ماژول SIM800L

 


اتصالات برد آردوینو و ماژول SIM800L


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

 


نصب کتابخانه سنسور NTC


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

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

 

توجه: پس از نصب کتابخانه سنسور دما، وارد فولدر کتابخانه آن شوید. به این منظور در فولدر Documents ویندوز، فولدر Arduino و سپس Libraries را انتخاب کنید. در این جا وارد فولدر Thermistor شده و فایل thermistor.cpp را باز کنید. با باز شدن این فایل، عبارت زیر را یافته و آن را کامنت کنید.

#define VERBOSE_SENSOR_ENABLED 1

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

#define VERBOSE_SENSOR_ENABLED 1//

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

 


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


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

 

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

 

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

 


کدهای سمت سرور


پس از آپلود کدهای روی برد آردوینو، نوبت به آپلود کدها روی سرور می رسد. همانطور که گفته شد، در این پروژه باید از یک هاست لینوکسی استفاده گردد.  پس از تهییه هاست در منوی File Manger وارد شده و در قسمت public html، کدهای زیر را در فایل index.php آپلود کنید.

 

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

 

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

 


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


پس از آپلود کدها و برقراری اتصالات، کمی صبر کنید تا ماژول GSM به شبکه متصل شود. پس از اتصال، در سرور خود در فایل mydata.txt می توانید دمای ارسالی از سوی دستگاه را ببینید. به عنوان مثال اگر نام دامنه شما example.com است، باید آدرس example.com/mydata.txt را وارد کنید.

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

 

در ادامه می بایست بازه مجاز دما را تعیین کنید. برای این مورد فرض کنید می خواهید بازه دما را بین ۲۵ حداقل و ۲۸ حداکثر تعیین کنید. برای این مورد، در صفحه index2.php روی سرور خود، به صورت زیر عمل کنید.

<example.com/index2.php?st=!25,28

مطابق فرمت فوق، بازه دما بین ! و < قرار می گیرد. از آنجاییکه متد GET وظیفه دریافت داده در صفحه index2.php را دارد، این داده ها تحت متغیر st ارسال می شوند. با ارسال این متغیرها، بسته به دمای محیط رله سرما یا گرما فعال خواهد شد.

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

 


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


  1. لینک خرید سنسور دمای NTC، کلیک کنید
  2.  لینک خرید برد آردوینو UNO، کلیک کنید
  3. لینک خرید مقاومت ۱۰ کیلو اهمی، کلیک کنید
  4. لینک خرید ماژول SIM800L، کلیک کنید
  5. لینک خرید ماژول کاهنده ولتاژ، کلیک کنید
  6. لینک خرید مقاومت یک کیلو اهمی، کلیک کنید
  7. لینک خرید آداپتور، کلیک کنید
  8. لینک خرید ماژول رله دو کانال، کلیک کنید

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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

۲ دیدگاه