پروژه الکترونیکپروژه خانه هوشمندپروژه های آردوینو

پروژه آردوینو راه اندازی خانه هوشمند با اس ام اس (GSM Sim900 Arduino SMS)

سلام. پروژه آردوینو خانه هوشمند با اس ام اس (GSM Sim900 , Arduino , SMS) را آماده کردیم. برای این پروژه هیچ نیازی به یک گوشی هوشمند جدید نیست و حتی با قدیمی ترین گوشی هایی که از GSM پشتیبانی میکنند هم میتوانیم وسایل را کنترل کنیم. فیلم عملکرد مدار را از دست ندید !

پروژه آردوینو خانه هوشمند با اس ام اس

پروژه آردوینو خانه هوشمند با اس ام اس (GSM Sim900 , Arduino , SMS)
پروژه آردوینو خانه هوشمند با اس ام اس (GSM Sim900 , Arduino , SMS)

وقتی که ما دستورات را از طریق اس ام اس به ماژول GSM موبایل ارسال میکنیم ، GSM Sim900 این دستورات را دریافت میکند و آن ها را به آردوینو میفرستد. در این هنگام آردوینو این متن را میخواند و دستور مطابق با آن را اجرا میکند و طبق آن دستور یکی از رله ها را فعال میکند. همچنین نتیجه به ال سی دی کاراکتری 16*2 که در مدار قرار دادیم ارسال و نمایش داده میشود. ما در اینجا بجای وسایل خانه از 3 لامپ استفاده کردیم که هر کدام نشان دهنده فن ، لامپ و تلویزیون است.

نحوه ارسال دستورات با SMS به آردوینو

در این پروژه ما از یک برد آردوینو برای کنترل کل فرآیند استفاده کردیم .در اینجا ما از دستوراتی مثل :

#A.light on* یا #A.light off*

این دستورات به برد Sim900 فرستاده میشود و سپس آردوینو این دستورات رو میخواند و عمل مناسب با آن دستورات را انجام میدهد.(با توجه به دستور رله مورد نظر را فعال / غیر فعال میکند).

در اینجا ما برای دستورات یک پیشوند #A استفاده کردیم. این پیشوند را برای شناسایی شروع فرمان استفاده میکنیم. و در انتهای پیام * رو قرار میدهیم تا انتهای دستور مشخص شود.

این پروژه آردوینو از 3 لامپ کوچک 3 وات به عنوان وسایل خانه استفاده شده است. که نشان دهنده فن، لامپ و تلویزیون است.
لیست دستورات رو میتوانید در جدول زیر ببینید :

حتما ببینید :  پروژه سرعت سنج GPS با آردوینو و نمایشگر OLED
شمارهپیام ارسالیعملکرد
1#A.fan on*فن روشن
2#A.fan off*فن خاموش
3#A.light on*لامپ روشن
4#A.light off*لامپ خاموش
5#A.tv on*تلویزیون روشن
6#A.tv off*تلویزیون خاموش
7#A.all on*همه روشن
8#A.all off*همه خاموش
توجه داشته باشید که میتوانید هر دستگاه دیگر و هر کد و دستور دیگری را برای این پروژه تعریف کنید !

توضیحات مدار پروژه

شماتیک کامل مدار در فایل دانلودی قرار داده شده است. اتصالات مدار خانه هوشمند مبتنی بر GSM بسیار ساده است ، در اینجا از یک نمایشگر ال سی دی کاراکتری برای نمایش وضعیت لوازم خانگی استفاده کرده ایم که به طور مستقیم در حالت 4 بیتی به آردوینو متصل می شود. پین های داده ال سی دی یعنی RS، EN، D4، D5، D6، D7 به پین دیجیتالی آردوینو شماره 6 ، 7 ، 8 ، 9 ، 10 ، 11 وصل می شوند. رله های 5 ولت SPDT 3 برای کنترل لامپ ، فن و تلویزیون استفاده به ترتیب به پین شماره 3 ، 4 و 5 از طریق درایور رله ULN2003 وصل می شوند.

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

  • آردوینو Uno
  • ترانزیستور ULN2003
  • رله 5V
  • ماژول GSM Sim900
  • لامپ
  • ال سی دی کاراکتری 16*2
  • تلفن همراه
  • کامپایلر آردوینو : دانلود آردوینو

همچنین ببینید : پروژه آردوینو خانه هوشمند کنترل وسایل خانه با بلوتوث

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

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

#include<LiquidCrystal.h> // کتابخانه ال سی دی کاراکتری
LiquidCrystal lcd(6,7,8,9,10,11); //پین های ال سی دی کاراکتری
#define Fan 3 // تنظیم پین فن
#define Light 4 // تنظیم پین لامپ
#define TV 5 // تنظیم پین تلویزیون

همانطور که در بالا تر توضیح دادیم ، ما برای شروع دستور از #A. و برای پایان دستور * را استفاده میکنیم. با این قسمت از کد شما میتوانید دستور آغازی و پایانی را تغییر دهید :

    if(Serial.find("#A.")) // ارسال دستور #A.
    {
      digitalWrite(led, HIGH); // ال ای دی روشن شود
      delay(1000); // به مدت یک ثانیه
      digitalWrite(led, LOW); // سپس ال ای دی خاموش شود
      while (Serial.available()) 
      {
      char inChar=Serial.read();
      str[i++]=inChar;
      if(inChar=='*') // دستور پایان *
      {
        temp=1;
        return;
      }

نحوه تعریف یک دستگاه در کد برای روشن و خاموش کردن

کد زیر برای قسمت روشن و خاموش کردن تلویزیون استفاده میشود. ما تعریف میکنیم که :

void check()
{
   if(!(strncmp(str,"tv on",5))) //هنگامی که دستور ارسال شد tv on
    {
      digitalWrite(TV, HIGH); // پین که برای تلویزیون تعریف کردیم روشن شود
      lcd.setCursor(13,1); // مکان نمایش روی ال سی دی
      lcd.print("ON    "); کلمه on
      delay(200);
    }  
   
   else if(!(strncmp(str,"tv off",6))) // هنگامی که دستور ارسال شد tv off
    {
      digitalWrite(TV, LOW); // پین که برای تلویزیون تعریف کردیم خاموش شود
      lcd.setCursor(13,1);  // مکان نمایش روی ال سی دی
      lcd.print("OFF    "); // کلمه off
      delay(200);
    }

به همین ترتیب میتوانید دستگاه ها و دستورات آن ها را تغییر دهید و اضافه کنید !

فیلم عملکرد مدار : کلیک کنید !

موارد موجود در فایل : شماتیک کامل ، فایل Hex ، فایل آردوینو ، و …
برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

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

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

8 نظر

  1. سلام
    اگر خواسته باشیم با ماژول GSM800 کار کنم توی برنامه چه تغییری باید بدم .ممنون

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

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

    1. سلام . چک کردم کار میکنه ، اگه فیلتر شکن دارید خاموشش کنید و اگه حل نشد با اینترنت دیگه ای امتحان کنید

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا