اگر سیم کارت مناسب در آن قرار داده شده باشد، می توان از تلفن همراه با هر شبکه تلفن همراه در سراسر جهان استفاده کرد. این امکان پذیر است زیرا دستگاهی در داخل تلفن همراه وجود دارد که از استاندارد جهانی پیروی می کند و آنها را قادر می سازد با شبکه های تلفن همراه مختلف متصل شوند. این استاندارد سیستم جهانی ارتباطات سیار (GSM) نامیده می شود. تلفنهای همراه دارای ماژولهای GSM هستند که سپس توسط پردازنده داخل گوشی برای برقراری تماس، ارسال یا دریافت پیام یا حتی اتصال به شبکه GPRS استفاده میشود.
در برنامههای خاص، سیستمهای مبتنی بر میکروکنترلر باید به شبکه GSM متصل شوند که کاربر را قادر میسازد تا با ارسال پیام یا برقراری تماس، سیستم را کنترل کند. سیستم ها همچنین می توانند پیام هایی را برای هشدار یا اطلاع رسانی در مورد وضعیت سیستم در حال اجرا به کاربر ارسال کنند. در تمام این موارد به جای استفاده از تلفن های همراه از یک ماژول GSM جداگانه استفاده می شود. ماژول های GSM در دسترس هستند که می توانند ارتباط سریالی با سیستم های مبتنی بر میکروکنترلر انجام دهند. ارتباط با ارسال یا دریافت دستورات AT انجام می شود .
این پروژه خاص نشان می دهد که چگونه می توان یک ماژول GSM را با آردوینو ارتباط داد و آنها را وادار کرد تا با یک شماره موبایل خاص تماس بگیرند. ماژول GSM در این پروژه با پلتفرم نمونه سازی آسان آردوینو ارتباط دارد که مدارهای سخت افزاری را برای نوشتن کد با استفاده از محیط برنامه نویسی مبتنی بر C ساده و آسان می کند.
ماژول GSM مورد استفاده در این پروژه یک ماژول مبتنی بر SIM900 است که می تواند با استفاده از پورت ارتباطی سریال RS232 با دستگاه های دیگر ارتباط برقرار کند. روی منبع تغذیه 9 ولت کار می کند و تصویر آن در زیر آمده است:
آردوینو یک سخت افزار منبع باز است که در آن شماتیک سخت افزاری باز است، هر کسی می تواند از آن شماتیک ها برای توسعه برد آردوینو و توزیع آن استفاده کند. آردوینو IDE نیز منبع باز است و هر کسی میتواند کتابخانههای خود را به آردوینو کمک کند. همه بردهای آردوینو باید با آردوینو IDE سازگار باشند که می توان از آن برای برنامه ریزی بردهای آردوینو استفاده کرد.
برد آردوینو مورد استفاده در این پروژه برد آردوینو پرو مینی و نسخه IDE آردوینو 1.0.3 برای ویندوز است. تصویر برد آردوینو پرو مینی و آردوینو IDE در زیر نشان داده شده است:
از آنجایی که برد arduino pro-mini مداری برای اتصال آن با پورت سریال یا پورت USB رایانه شخصی ندارد، برای اتصال آن به رایانه شخصی به یک برد تبدیل USB به TTL خارجی نیاز است. این سخت افزار به برنامه نویسی برد آردوینو کمک می کند و همچنین به ارتباط سریال با پورت USB کامپیوتر کمک می کند.
فرض بر این است که خواننده پروژه نحوه شروع کار با آردوینو را طی کرده و تمام مواردی را که در آنجا مورد بحث قرار گرفته است را امتحان کرده است.
برد آردوینو میتواند بهعنوان یک سیستم مستقل با قابلیت دریافت ورودی، پردازش ورودی و سپس تولید خروجی مربوطه عمل کند. از طریق همین ورودی ها و خروجی ها است که آردوینو به عنوان یک سیستم می تواند با محیط ارتباط برقرار کند. بردهای آردوینو با سایر دستگاهها با استفاده از پورتهای ارتباطی استاندارد ورودی/خروجی آنالوگ ورودی/خروجی مانند USART، IIC و USB و غیره ارتباط برقرار میکنند.
در این پروژه خاص، ماژول GSM با استفاده از پورت ارتباط سریال به برد آردوینو متصل می شود. از آنجایی که ماژول دارای پورت RS232 است و Arduino pro-mini می تواند با استفاده از سطوح منطقی TTL ارتباط برقرار کند، از آی سی max232 برای ایجاد یک تبدیل دو جهته بین سطوح منطقی RS232 و TTL استفاده می شود. پایه Tx برد آردوینو از طریق max232 به پایه Rx ماژول GSM و پایه Rx آردوینو با استفاده از خود max232 به پایه Tx ماژول GSM متصل می شود.
کد نوشته شده در آردوینو قادر است با استفاده از دستورات AT با ماژول GSM ارتباط برقرار کند . دستورات AT با استفاده از توابع ارتباط سریال ارائه شده توسط کتابخانه آردوینو از ماژول ارسال یا دریافت می شوند. توابعی مانند Serial.begin() که به مقدار دهی اولیه پورت سریال با نرخ باود معین کمک می کند، Serial.write() برای ارسال داده به پورت سریال، توابع Serial.available() و Serial.read() برای خواندن داده ها. از پورت سریال در این پروژه استفاده می شود و قبلا در پروژه های قبلی در مورد نحوه برقراری ارتباط سریال با آردوینو ، نحوه ارسال و دریافت اطلاعات سریال با استفاده از آردوینو و نحوه رفع اشکال سریال با آردوینو صحبت شده است .
ماژولهای GSM زمانی که فرمان «AT» را دریافت میکنند «OK» پاسخ میدهند و این بهترین راه برای بررسی ارتباط بین ماژول و میکروکنترلر است. دستور برقراری تماس با یک شماره "ATD" است.
SYNTAX: ATD<شماره تلفن>;(وارد کنید)