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

ساخت موبایل ساده با برد آردوینو و ماژول GSM Sim900

سلام. ساخت موبایل ساده با برد آردوینو و ماژول GSM Sim900 را آماده کردیم.

برقراری تماس و ارسال SMS با Arduino و سیم 900

بعضی از افراد استفاده از ماژول GSM برای تماس و پیامک را سخت و دشوار میدانند. در حالیکه این کار بسیار ساده است. در این پروژه آردوینو ما میخواهیم با استفاده از ماژول sim900 یک تلفن همراه ساده بسازیم که میتوانیم تماس بگیریم و دریافت کنیم همچنین اس ام اس بدهیم و بگیریم. این پروژه Arduino دارای میکروفن و بلندگو است.

در این پروژه تلفن همراه آردوینو، ما از Arduino Uno برای کنترل ویژگی های کل سیستم استفاده کرده ایم. از یک صفحه کلید 4×4 برای گرفتن ورودی های مختلف مثل ارسال و دریافت پیام و تماس و تایپ متن پیام استفاده میشود. ماژول سیم 900 برای برقراری ارتباط با شبکه استفاده میشود. همچنین از بلندگو و میکروفن برای صدای مکالمه و زنگ استفاده کرده ایم. از ال سی دی کاراکتری نیز برای نمایش پیام ها و … استفاده میشود.

دستورالعمل ها و هشدارها استفاده می شود. Alphanumeric روشی است برای وارد کردن اعداد و حروف هر دو با استفاده از یک صفحه کلید استفاده میشود.

فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

امکانات تلفن همراه مبتنی بر Arduino

نحوه کار پروژه موبایل با آردوینو

1. برقراری تماس: برای برقراری تماس با استفاده از تلفن مبتنی بر Arduino ، باید “C” را فشار داده و سپس باید شماره موبایل را که می خواهیم با آن تماس برقرار کنیم، وارد کنیم. با استفاده از صفحه کلید شماره وارد می شود. پس از وارد کردن شماره ، مجدداً باید “C” را فشار دهیم. اکنون آردوینو برای برقراری تماس با شماره وارد شده خودش دستور زیر را اجرا میکند.

ATDxxxxxxxxxx; <Enter>     xxxx شماره مورد نظر شما است

2. دریافت تماس: دریافت تماس بسیار آسان است. وقتی شخصی به شماره سیم کارت شما، که در ماژول GSM قرار داده شده است، تماس می گیرد، سیستم شما پیام “Incoming…” را روی ال سی دی کاراکتری به همراه شماره فرد نشان می دهد. برای جواب دادن به این تماس، فقط باید “A” را فشار دهیم. هنگامی که “A” را فشار می دهیم ، Arduino دستور زیر را به ماژول GSM ارسال می کند:

ATA <enter>

3. ارسال پیامک: وقتی می خواهیم با استفاده از تلفن آردوینو پیامکی بفرستیم، باید “B” را فشار دهیم. سیستم شماره گیرنده را درخواست می کند، یعنی “به چه کسی” می خواهیم اس ام اس ارسال کنیم. بعد از وارد کردن شماره ، باید “D” را فشار دهیم و اکنون ال سی دی از شما متن پیام را می خواهد. حال باید با استفاده از صفحه کلید، پیام را تایپ کنیم، و بعد از وارد کردن پیام باید دوباره “D” را فشار دهیم تا پیام کوتاه ارسال شود. سپس رزبری پای خودش این دستور را پردازش میکند و به ماژول سیم 900 میفرستد.

AT+CMGF=1 <enter>
AT+CMGS=”xxxxxxxxxx” <enter>   xxxx شماره مورد نظر شماست

4. دریافت و خواندن پیام کوتاه: این ویژگی نیز ساده است. ماژول Sim 900 پیامکی را دریافت کرده و آن را در سیم کارت ذخیره می کند. و Arduino بطور مداوم وضعیت پیامک های دریافتی را از طریق UART نظارت می کند. ما فقط باید “D” را فشار دهیم تا اس ام اس را بخوانیم.

+CMTI: “SM” <SMS stored location>        
+CMTI: “SM”,6 شش مکانی است که پیامک در سیم کارت قرار گرفته است

هنگامی که آردوینو این نشانه را دریافت کند، آنگاه به محل ذخیره پیامک میرود و آن را استخراج میکند و متن آن را در ال سی دی نمایش میدهد.

AT+CMGR=<SMS stored location><enter>
AT+CMGR=6

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

شماتیک مدار این پروژه ساده است. پین های ال سی دی را مانند تصویر به آردوینو متصل کنید. پین های Rx و Tx ماژول GSM به ترتیب مستقیما به پین D3 و D2 آردوینو وصل کنید. پین های ردیف های صفحه کلید یعنی R1, R2, R3, R4 مستقیماً به پین های شماره 11،10 ، 9 ، 8 از Arduino متصل میشوند. میکروفن به طور مستقیم به پین ها mic+ و mic- ماژول سیم 900 متصل میشود. اسپیکر نیز به پین SP+ و SP- ماژول SIM900 متصل میشود.

حتما ببینید :  پروژه کنترل سرعت موتور DC با STM32 (راه اندازی PWM)

برقراری تماس و ارسال SMS با Arduino و سیم 900

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

  1. برد آردوینو Uno
  2. ماژول GSM SIM900
  3. ال سی دی کاراکتری16*2
  4. صفحه کلید 4×4
  5. بلندگو
  6. میکروفن

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

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

برای ارتباط صحیح صفحه کلید با آردوینو برای وارد کردن شماره ها و پیام ها، باید کتابخانه آن را فراخوانی کنیم. همچنین همانطور که گفته شد ما از یک صفحه کلید برای وارد کردن اعداد و حروف استفاده میکنیم. بنابراین برای وارد کردن حروف الفبای انگلیسی ما تابع void alfakey () را ایجاد میکنیم. سپس میتوانیم با استفاده از 10 کلید هر کاراکتر یا عددی را وارد کنیم.

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

اگر کلید 2 را دو بار فشار دهیم اول a و سپس b را نمایش میدهد. و اگر دیگر دکمه را فشار ندهیم همان b ثبت میشود و اگر بار دیگر فشار دهیم c نمایش داده میشود. (مانند گوشی های دکمه ای قدیمی که با کیبورد عددی، حروف نیز تایپ میشد)

#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char hexaKeys[ROWS][COLS] = 
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {11, 10, 9, 8}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {7, 6, 5, 4}; //connect to the column pinouts of the keypad

//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void alfakey()
{
 int x=0,y=0;
 int num=0;
  while(1)
  {
    lcd.cursor();
    char key=customKeypad.getKey();
    if(key)
    {
       if(key=='1')
       {
         num=0;
         lcd.setCursor(x,y);
         .... .....
         ........ ....

به غیر از صفحه کلید، ما بسیاری از توابع دیگر مانند call void () برای ویژگی تلفن ، sms void () برای ویژگی پیام رسانی ، void lcd_status () برای نمایش وضعیت روی LCD و gsm_init () برای اولیه سازی ماژول GSM و غیره ایجاد کرده ایم.

حتما ببینید :  راه اندازی مبدل دیجیتال به آنالوگ 12 بیت با رزبری پای

فیلم عملکرد موبایل با آردوینو

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

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

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

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

محمد رحیمی

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

16 نظر

  1. باسلام.یک سوال در مورد sim800l داشتم. من یک سیم800 با اردوینو راه اندازی کردم و هر3ثانیه یکبار چشمک میزنه و پیامک هم دریافت میکنه اما ارسال پیامک انجام نمیده و دستورات AT هم در ابتدا اجرا میشدن و جواب میگرفتم اما دفعات بعدی اجرا نشدن
    لطفا راهنماییم کنید با تشکر

    1. سلام جناب. لطف کنید با یک پروژه دیگه که مربوط به sim800l هست تست کنید تا متوجه شید مشکل از برنامست یا ماژول

  2. سلام وقت بخیر… من یک برنامه با سیم800 و اردوینو راه اندازی کردم…میخام سیم800 متن پیامک رو بگیره و داخل یک متغیر اردوینو بریزه… و یک پیام تایید هم بفرسته.لطفا راهنمایی کنید

    1. سلام این مبحث طولانیه نمیتونم توی نظرات بگم شما “متغیر در آردوینو” رو در گوگل سرچ کنید.

  3. سلام خسته نباشید
    ببخشید پیامک که با سیم ۸۰۰ ارسال میکنیم خالی دریافت میشه یا عبارت
    Not conntent supported
    دریافت میشه
    به نظرتون مشکل چیه؟

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

    1. سلام
      نرم افزار winrar رو به آخرین ورژن آپدیت کنید.
      و یا اینکه نرم افزار 7zip رو نصب کنید.
      مشکلتون حل می شه با این دو مورد.

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

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

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