پروژه الکترونیکپروژه های AVR

آموزش ارسال و دریافت SMS با ماژول Sim900 و AVR در کدویژن

سلام. آموزش پروژه ارسال و دریافت اس ام اس SMS با ماژول Sim900 و میکروکنترلر AVR را در کدویژن آماده کردیم. ما در این پروژه متن SMS را روی ال سی دی کاراکتری نمایش میدهیم.

پروژه دریافت و ارسال اس ام اس با ماژول GSM SIM 900

استفاده از ماژول های GSM پروژه هایی که به کنترل از راه دور نیاز دارند بسیار جالب است. این ماژول ها میتوانند کلیه کار هایی را انجام دهند که تلفن های ساده میتوانند. از جمله برقراری تماس ، ارسال و دریافت پیام کوتاه ، اتصال به اینترنت و … . همانطور که گفته شد ماژول های GSM توانایی برقراری تماس را دارند پس ما میتوانیم با اتصال یک میکروفن و بلندگو یک تلفن همراه کامل بسازیم. در این پروژه AVR ما به طور کامل با فرستادن و دریافت اس ام اس SMS توسط میکروکنترلر AVR و ماژول sim900 آشنا میشویم.

پروژه دریافت و ارسال اس ام اس با ماژول GSM SIM 900

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

  1. میکروکنترلر AVR Atmega16L
  2. ماژول GSM Sim900
  3. ال سی دی کاراکتری 16*2
  4. دکمه
  5. مقاومت 10 کیلو اهم
  6. پتانسیومتر 10 کیلو اهم
  7. منبع تغذیه 12 ولت

همچنین ما از نرم افزار کدویژن برای نوشتن کد و همچنین از نرم افزار SinaProg برای بارگذاری کد روی میکروکنترلر AVR توسط پروگرامر USBasp استفاده خواهیم کرد.

قبل از شروع به کار با پروژه ما باید با ماژول GSM SIM 900 آشنا شویم.

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

ماژول GSM سیم 900

ماژول GSM سیم 900 SIM900

ماژول های gsm مثل SIM900 بدون استفاده از میکروکنترلر ها، در حالت فرمان AT قابل استفاده هستند. همانطور که در بالا نشان داده شده است، ماژول GSM دارای آداپتور USART است که میتواند با استفاده از ماژول MAX232 به طور مستقیم به کامپیوتر متصل شود یا میتوان از پین های Tx و Rx برای اتصال آن به میکروکنترلر استفاده کنیم. همچنین میتوان از پین های دیگر آن مانند MIC+و MIC- و SP+ و SP- و … برای اتصال به میکروفن و بلندگو استفاده کرد. همچنین این ماژول توسط میتواند توسط یک آداپتور 12 ولت DC تغذیه شود.

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

آموزش کامل کار با ماژول SIM900 از طریق دستورات AT

ماژول GSM SIM900 میتواند از طریق ارتباط سریال اربتاط برقرار کند و زبانی که میتواند درک کند AT Command یا فرمان AT است. هرچه که بخواهید از ماژول GSM بدهید یا بگیرید را میتوانید از دستور AT استفاده کنید.

ما مهم ترین دستورات AT که در دیتاشیت ماژول سیم 900 موجود است را در لیست زیر برای شما آماده کرده ایم.

دستور ATپاسخ ماژول
AT+CPIN?چک کردن کیفیت سیگنال
AT+COPS?اطلاع از نام سرویس دهنده مثلا ایرانسل یا غیره
ATD98XXXXXXXX;تماس با یک شماره خاص
AT+CNUMپیدا کردن شماره سیم کارت
ATAپاسخ دادن به تماس ورودی
ATHقطع کردن تماس فعلی
AT+COLPنمایش شماره تماس ورودی
AT+VTS=(number)DTMF ارسال شماره
AT+CMGRAT+CMGR=1 خواندن پیام جایگاه اول
AT+CMGD=1پاک کردن پیام در جایگاه اول
AT+CMGDA=”DEL ALL”پاک کردن تمامی پیام های سیم کارت
AT+CMGL=”ALL”خواندن تمامی پیام های سیم کارت
AT+CMGF=1تنظیم حالت اس ام اس در حالت متن
AT+CMGS = “+98 935837XXXX” >متن اس ام اس <Ctrl+z>ارسال اس ام اس به یک شماره خاص پس از < متن دلخواه را وارد کنید و سپس کلید کنترل + زد را بزنید.
AT+CGATT?چک کردن اتصال اینترنت سیم کارت
AT+CIPSHUTقطع ارتباط با اینترنت
AT+CSTT = “APN”,”username”,”Pass”اتصال به اینترنت با استفاده از ای پی ان و پسورد که میتوانید از سرویس دهنده سیم کارت بگیرید.
AT+CIICRچک کردن دیتاپک سیم کارن
AT+CIFSRدریافت آی پی سیم کارت
AT+CIPSTART = “TCP”,”SERVER IP”,”PORT”TCP IP connection تنظیم
AT+CIPSENDارسال دیتا به سرور

در این پروژه AVR ما از دستور AT + CMGF و AT + CMGS استفاده خواهیم کرد.

استفاده از مانیتور سریال آردوینو برای خواندن SMS

اگر از ماژول GSM با آردوینو استفاده کنید میتوانید از دستور CMT+ برای مشاهده شماره تلفن و پیام متنی در مانیتور سریال استفاده کنید. پیام متنی همانطور که در تصویر نشان داده شده است در خط دوم آماده است.

استفاده از مانیتور سریال آردوینو برای خواندن SMS

حتما ببینید :  پروژه دریافت SMS با آردوینو و نمایش روی LCD کاراکتری (اطلاع رسانی , GSM SIM900)

ایجاد پروژه ارسال و دریافت اس ام اس با AVR

در کدویژن در قسمت میکروکنترلر Atmega16L را انتخاب کنید.  در قسمت USART گزینه Receiver و Transmitter را تیک بزنید. پروژه را Build کنید.

برای این پروژه ما از نرم افزار SinaProg  استفاده میکنیم.

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

اتصالت کابل FRC با پروگرامر

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

  1. پین 1 از FRC مادگی کانکتور  -> پین 6 MOSI از Atmega16
  2. پین 2  متصل میشود به Vcc از atmega16  پین 10
  3. پین 5 متصل میشود به Reset از atmega16  پین 9
  4. پین 7 متصل میشود به SCK از atmega16 پین 8
  5. پین 9 متصل میشود به MISO از atmega16  پین 7
  6. پین 8 متصل میشود به GND از atmega16 پین 11

در قسمت HEX File، فایل هگز را انختاب کنید و سپس میکروکنترلر Atmega16 را انتخاب کنید سپس روی Program بزنید.

آپلود کد در Atmega16 با sinaprog

نحوه کار پروژه ارسال و دریافت پیامک با AVR و SIM900

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

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

موارد موجود در فایل : فایل سورس کامل ، شماتیک کامل

برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

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

محمد رحیمی

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

15 نظر

  1. سلام وقت بخیر
    اس ام اس که از گوشی ارسال میکنم نمایش نمیده ممنون میشم راهنمایی کنید

      1. بله
        اس ام اس ارسال میکنه ولی دریافت نمیکنه
        یا این که دریافت میکنه نمایش نمیده

          1. من از sim 800 c
            استفاده میکنم
            سریال مانتیتور بلد نیستم
            جور دیگه امکانش هست راهنمایی بفرمایید

          2. ببخشید من فکر کردم پروژه با آردوینوئه که گفتم سریال مانیتور. در ال سی دی هیچ چیزی نشون داده نمیشه یا فقط پیام دریافت شده ؟ پیام رو با چه زبانی ارسال میکنید و چطور کد را در میکروکنترلر بارگذاری کردید ؟

  2. خواهش میکنم
    پیغام ریسو اس ام اس نمایش داده میشه .
    قسمت های دیگه درست کار میکنه عین همین فیلمی که بارگذاری کردید هست پیام کال می هم ارسال میکنه
    ولی پیام ارسالی از موبایل نمایش نمیده
    من کد هگز با پروگرمر eca بار گذاری میکنم

    1. من کمی متن آموزش پروژه رو بروزرسانی کردم قسمت UASRT رو انجام بدید. من دلیل این مشکل رو متوجه نمیشم پیام هایی که ارسال میکنید به زبان انگلیسی هستند؟ و چ اعداد چ حروف نمایش داده نمیشن؟

  3. سلام وقت بخیر
    توی در قسمت ارسال دستورات ارسال ‘r/’ از طریق یوزارت طبق دستور
    (‘UDR=(‘/r برای چی هست ؟

      1. ممنون . برای دریافت sms شرط میزاریم اگر خروجی تابع received_value () برابر کارکتر C یا M بود توی متغییر b بریزم . c وm و … چی هستن ؟
        و چرا شرط حلقه while اول اینه که خروجی تابع received_value مخالف + بودن هست ؟
        یا حلقه ی اخر مخالف 0x0a

        1. دستور CMT برای نشان دادن اس ام اس مثلا روی سریال مانیتور استفاده میشه.
          while (b!='+') بررسی میکنه که دستور CMT حضور داره یا نه. اگر حاضر باشه حلقه دوم شروع میشه و میره به خط بعدی.
          0x0a هم برای منتظر ماندن برای خط بعدی هست و اگر بی معنی باشه لوپ به صورت بی انتها اجرا میشه.

          1. پس این دستورات برای اردینو هست .
            اگر از اردینو استفاده نکنم میتونم این دستورات رو حذف کنم ؟
            اینجا
            }(++for(b=0;b<3;b
            ;()c= received_value
            msg[b]=c
            چرا فقط سه مقدار دریافت می کنیم و درون ارایه میزاریم ؟

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

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

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

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