خانه / آموزش الکترونیک / آموزش راه اندازی ماژول / راه اندازی و ارسال پیامک با ماژول SIM900

 

راه اندازی و ارسال پیامک با ماژول SIM900

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

ارسال دما و رطوبت از طریق پیامک

کنترل از راه دور با پیامک دارای 4 کانال خروجی و 4 کانال ورودی

دزدگیر هوشمند سیم کارت خور با ماژول GSM و سنسور PIR

پروژه کنترل لوازم برقی با پیامک

هشدار نشتی گاز با ماژول SIM900

پروژه سيستم مانيتورينگ دما و رطوبت تحت وب [پایان نامه]

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

هدربرد ماژول sim900a

نمونه هدربرد ماژول SIM900 را می توانید از لینک با قیمت 55 تومان تهیه کنید.

هدربرد ماژول SIM900

برای شروع کار تامین تغذیه مناسب برای ماژول SIM900 می باشد که از یک منبع تغذیه آزمایشگاهی و یا یک آداپتور بعلاوه مدار زیر می توانید استفاده کنید و البته من خودم در بعضی از پروژه ها از یک آداپتور و یک دیود سر راه تغذیه ماژول استفاده می کنم.

تامین تغذیه مناسب برای ماژول

بعد از اتصال تغذیه ماژول دکمه روی ماژول را 1 ثانیه فشار دهید تا ماژول روشن شود.

حتما در ادامه این مطلب را هم بخوانید:  پروژه تشخیص آلودگی هوا

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

sim900 usb to serial

بعد از اتصال ماژول به مبدل نرم افزار تراترم و یا هر نرم افزار ترمینال سریال مانند هایپرترمینال و یا قسمت ترمینال سریال خود کدویژن را باز کنید و کامنت AT را با حروف بزرگ نوشته و اینتر بزنید.اگر ماژول روشن و مناسب تغذیه شده باشد و سالم باشد باید در جواب این کامنت OK را ارسال کند.نمونه عملی ارسال کامنت و پاسخ را در شکل زیر در نرمافزار TeraTerm  مشاهده می کنید.

ارسال کامنت به ماژول

خب بریم سر ارسال پیامک با ماژول

برای ارسال پیامک اول باید فرمت تکست را برای ماژول انتخاب کنیم . با دستور زیر حالت پیامک به TEXT  تغییر حالت می دهد پس قبل از ارسال پیامک باید دستور AT+CMGF=1 را به ماژول ارسال کنیم. بعد از تنظیم حالت پیامک ماژول با دستور زیر پیام را به شماره دلخواه ارسال می کنیم :

پیامک با ماژول SIM900

در دستور AT+CMGS ارسال پیامک ، شماره تلفن باید بین ” ” باشد بعد یک ENTER  و متن پیامک که در اینجا Melec.ir  می باشد و بعد با گرفتن کنترل و زدن دکمه Z و یا CTRL+Z پیامک ارسال می شود.

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

اتصال AVR به ماژول SIM900

در این آموزش من از میکروکنترلر AVR  استفاده می کنم ولی برای میکروکنترلرهای دیگر نیز مشابه است. پایه ی RXD ماژول به پایه TXD میکروکنترلر و پایه TXD ماژول به پایه RXD میکروکنترلر وصل می شود . و پایه RI ماژول در مرحله دریافت پیامک بیشتر نیاز است به پایه وقفه میکروکنترلر وصل می شود و البته در این مرحله نیاز نمی باشد. و قسمت آموزش دریافت پیامک با ماژول استفاده خواهیم کرد و همچنین روشن کردن ماژول با میکروکنترلر نیز در آموزش های بعدی آموزش داده خواهد شد البته اگر در کامنت ها فیدبک خوبی بگیریم ^_^ 🙂

حتما در ادامه این مطلب را هم بخوانید:  آموزش پروتکل Ethernet از تئوری تا عمل - طراحی برد های قابل اتصال به شبکه اترنت

نکته مهم : در میکروکنترلر چگونه باید ENTER بزنیم و چگونه Ctrl+z بزنیم ؟

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

ENTER   13
Ctrl+z     26
”              34
‘               39

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

/*
SIM900 Header Board Code example 
Send SMS 
Shop.Melec.ir
*/

#include <mega16.h>
#include <alcd.h>
#include <stdio.h>
#include <delay.h>


interrupt [USART_RXC] void usart_rx_isr(void)
{
//char data;
#asm("cli")
//data=UDR;
 // if you want to check the sim900 answer after send sms and etc...  
 // you can use data var ....
#asm("sei")
}

void main(void)
{
   
//USART Register Setting 
UCSRA=0x00;
UCSRB=0x98;
UCSRC=0x06;
UBRRH=0x00;
UBRRL=0x33;


   
DDRD=(1<<DDD3); // PORTD.3 OUTPUT FOR ON/OFF SIM900

    
    lcd_init(16);
    lcd_clear();
    lcd_putsf("**  SIM900 **");
    lcd_gotoxy(0,1);
    lcd_putsf(" Shop.Melec.ir");   
    delay_ms(500);
         
     ///ON SIM900
     PORTD.3=1; 
     delay_ms(1000);
     PORTD.3=0;
              
          
    #asm("sei")     
    while (1)
    {        
            
           if(PIND.4==0){  
           while(PIND.4==0);  
            lcd_clear(); 
            lcd_putsf(" Sending SMS ");  
           printf("AT%c",13);
           delay_ms(200);
           printf("AT+CMGF=1%c",13);
           delay_ms(200);
           printf("AT+CMGS=%c09371548691%c%c",34,34,13); // your phone number
           delay_ms(200);
           printf("HI! SIM900 %c%c",13,26);   //sms text 
           delay_ms(500);    
            lcd_clear(); 
            lcd_putsf("SMS Sent"); 
           }                                               
    }
}

در کد بالا PORTD.3 برای روشن کردن ماژول با یک ترانزیستور به ماژول وصل شده که البته شما می توانید بصورت دستی با فشار دادن شستی روی برد نیز ماژول را روشن کنید. در کد بالا با فشار دادن کلید وصل شده به پایه PORTD.4 یک پیامک ارسال و می شود روی ال سی دی هم می نویسد که پیامک ارسال شد . 

اگر دوست دارید GPS  خودتان را درست کنید نوشته زیر را از دست ندهید:

حتما در ادامه این مطلب را هم بخوانید:  خودتان هدربرد ماژول SIM900 بسازید (فایل PCB هدربرد ماژول SIM900)

اگر دنبال اطلاعات در مورد GPS و نحوه ارسال اطلاعات بصورت پیام کوتاه و نمایش روی نقشه گوگل هستید :

و

و همچنین اطلاعاتی در مورد GPRS  ماژول sim900  اگر نیاز دارید :

امیدوارم آموزش مفید واقع شده باشد و همچنین مشکلات این مطلب و پیشنهاد آموزش برای مطالب بعدی را در قسمت نظرات مطرح کنید.

درباره ی جهاندیده

با سلام درود به شما که مطالب سایت خودتان را مطالعه می کنید امیدوارم مطالب سایت برایتان مفید باشد و باعث پیشرفت روز افزون شما شود. دوران راهنمایی در کار منتاژ کیت های الکترونیکی بودم تا رفتم هنرستان ^_^ دو سال هنرستان الکترونیک خیلی چیزها یاد گرفتم ! دو سال کاردانی الکترونیک و کارشناسی ICT گرایش بهره برداری از سیستم های مخابراتی پر از تجربه بود و مدتی است در الکترونیک دنیای مشغولم . الکترونیک – تکنولوژی – ICT ، برنامه نویسی …

19 دیدگاه

  1. با سلام… من این ماژول را اندازی کردم… اما این مطلب شمارو خواندم این قسمت که گفتیت پایه RI به وقفه میکرو اینجا به پایه pd2 وصل کردید…
    من این پایه Ri به یکی از پایه های میکرو وصل کردم پایه را به صورت input قرار دادم اما وقتی تنها میکرو فقط منتظر پیام باشد خوب کار میکند اما اگه همون لحظه مشغول فرمان دیگه باشد جون پایه Ri یک ثانیه حتی شایدم کمتر جشمک میزنه و دیگه نرمال میشود این دستور
    if ri=0 then دستور خواندن sms اجرا کند
    یعنی اگر میکرو مشغول کاری باشد دیگه این شرط اجرا نمیشود و. دستور حواندنsms اجرت نمیشه
    اگه امکانش هست یک را ه حل به من بدید؟
    خیلی ممنون میشم

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

  2. با سلام
    آقای جهاندیده امکانش هست یک پروژه ساده از دریافت اس امس اس با پایه ri با وقفه و نمایش نام اپراطور سیم کارت اگه امکانش هست بزارید ممنون میشم

  3. سلام بر شما مهندس جهاندیده ”
    من بعد از پاسخی که در مورد سوالم دادید حسابی تحقیق کردم … تا امروز تونسم از تایمر کانتر استفاده کنم و خیلی هم خوب جواب میده واقعا میرسی که سر نخ . حل این مشکل به من گفتیت ….

  4. Man har kari mikonam nemitonam esme operator va keyfiat signal anten majol ra bedast biyaram dakhele datashit khondam dastoratesho ama moafagh nashodam plz in dota yek mesal kochi bezarid

    • در مورد اسم اپراتور اطلاع ندارم ولی کیفیت سیگنال را با دستور زیر می توانید بدست آورید :
      دستور AT+CQS
      ماژول در پاسخ به این دستور دو عدد را بازمی گرداند، عدد اول قدرت سیگنال آنتن که بین 0 تا 32 است و عدد دوم مربوط جزئیاتی است که بعدا” توضیح داده می شود.
      شکل دستور به صورت زیر است.
      AT+CQS
      +CQS=14,0
      OK

      متن کپی شده از فایل
      //melec.ir/send-vehicle-gps-location-with-sms-project

  5. سلام
    یه سوال داشتم در مرود منبع تغذیه ماژول

    امکانش هست از باتزی های لیتیوم-یونی (li-ion) استفاده کنیم که ولتاژشون 3.7 هست؟!
    در صورت امکان آیا نیازی به مدار تغذیه هست؟

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

  6. من یک مازول sim900 دارم میخوام gprs رو روی این مازولم اضافه کنم لطفا راهناممی کنید چه کار میتونم انجام بدم .
    sim900 Aرونمیخوام خریداری یکنم .
    لطفا راهنمایی کنید

    • تا جایی که من اطلاع دارم sim900 ارتباط gprs داره . دقیقا متوجه منظورتان نشدم لازم نیست چیزی اضافه کنید . برای موارد خاص ماژول شاید لازم باشه فریم وردکش را آپدیت و تغییر بدید ولی gprs بلازم نیست . دستورات gprs را چک کنید و تست کنید .

  7. سلام،میشه یه کد دریافت sms برای sim900 قرار بدید؟! ممنون میشم!

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

  9. سلام مهندس جان عالی بود

  10. ضمن عرض سلام و وقت بخیر
    مهندس جان بسیار عالی مفید و مختصر بود .
    انشاالله که موفق باشید.

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

  12. سلام من از ماژول GTM900-bاستفاده میکم ولی جوابی از اون برای حتی AT هم دریافت نمیکنم ..میشه راهنمایی کنید؟

پاسخ دهید

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