آردوینو پروژه های آردوینو

آموزش نصب و راه اندازی شیلد sim800c Arduino Shield

آموزش راه اندازی شیلد Sim800C برد آردوینو - دیجی اسپارک
نوشته شده توسط علیرضا قربانی

شیلد sim800c آردوینو

شیلد Sim800c  یک شیلد GSM/GPRS با قابلیت پشتیبانی از ۴ کانال ۸۵۰/۹۰۰/۱۸۰۰/۱۹۰۰ MHz  برای ارسال دیتا ، SMS,MMS  و برقرای تماس صوتی می‌باشد. این ماژول مخابراتی را می‌توان به عنوان یک تلفن همراه هوشمند در نظر گرفت که کاربران به وسیله‌ی آن می‌توانند دیتا را به درستی ارسال و دریافت کنند. این ماژول قابلیت پشتیبانی از تمام اپراتورهای مخابراتی را دارا می‌باشد.ارتباط سریال در سطح TTL  قابلیت راه‌اندازی این ماژول را با آردوینو و سایر سیستم‌های ۵ , ۳٫۳ , ۲٫۸۵  ولت DC  را امکان‌پذیر می‌کند. به وسیله تغییر وضعیت جامپر (D1 D0)  می‌توان ماژول را در وضعیت ارتباط سریال سخت افزاری و یا با تغییر جامپر (D8 D7)   می‌توان ماژول را در وضعیت ارتباط سریال نرم‌افزاری قرار داد. این شیلد قابلیت بروز شدن فریم ور  را توسط پورت USB  و پورت سریال دارا می‌باشد. در ادامه‌ی این آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

سخت‌افزار مورد نیاز

آردوینو UNO

شیلد sim800c (خرید از فروشگاه)

منبع تغذیه یا آداپتور ۵ولت

 

ویژگی‌های شیلد sim800c

پشتیبانی از چهار باند ۸۵۰/۹۰۰/۱۸۰۰/۱۹۰۰ مگاهرتز

پروتکل ارتباطی سریال (UART)

کنترل از طریق AT Command و لایبرری

دارای جک هدست

اسلات سیم‌کارت میکرو

تغذیه ۵ ولت DC

جربان مصرفی حداکثر ۲ آمپر

دمای کاری منفی ۴۰ الی ۸۵ درجه سانتی‌گراد

 

 

تذکر: این شیلد را فقط می‌توان بر روی آردوینو UNO و آردوینو Leonardo قرار داد و برای راه‌اندازی با آردوینو‌های دیگر باید شیلد را به وسیله سیم به آردوینو اتصال داد.

 

راه‌اندازی شیلد sim800 c

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

آموزش تبدیل دستی سیم کارت معمولی به میکرو سیم کارت

sim800-سیم کارت

قرار دادن سیم کارت در شیلد sim800c

 

 

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

sim800c -jumper-arduino

وضعیت جامپر به منظور قرار دادن شیلد در وضعیت سریال نرم‌افزاری

 

هم‌اکنون شیلد sim800c را بر روی آردوینو UNO خود قرار دهید.

sim800c-آردوینو

sim800c آردوینو

 

به علت مصرف جریان نسبتا زیاد ،نمی‌توان از آردوینو برای تغذیه این ماژول استفاده نمود. برای این منظور باید آداپتوری با رنج ولتاژ ۵ الی ۱۶ ولت به شیلد متصل کنید و کلید مربوط به تغذیه را در حالت ۲ قرار دهید.

 

 

کد نویسی sim800c

اکنون کتابخانه‌ای که توسط تیم فنی دانشجوکیت آماده شده است از لینک زیر دانلود کنید و توسط آموزش زیر آن را  به نرم‌افزار آردوینو خود اضافه کنید.

دانلود کتابخانه شیلد Sim800c برای آردوینو

آموزش نصب کتابخانه در نرم‌افزار آردوینو

این کتابخانه از پین ۷ و ۸ آردوینو به منظور برقراری ارتباط سریال نرم‌افزار با آردوینو استفاده می‌کند. همچنین از پین ۶ آردوینو به منظور ریست شیلد استفاده می‌شود . که می‌توانید با اتصال پین ۶ به یک کلید و GND ، امکان ریست کردن را به شیلد sim800c خود اضافه کنید.

 

اکنون کد‌های  قرار گرفته در زیر را بر روی آردوینو خود آپلود کنید و سپس تمام عملیات زیر را به ترتیب انجام دهید.بعد از آپلود کدها بر روی آردینو ، کلید نمایش داده شده در تصویر زیر را به مدت ۵ ثانیه نگه دارید.

sim800c آردوینو

کلید فعال سازی شیلد sim800c

 

بعد از فشردن کلید نشان داده در تصویر فوق ،  باید LED نشان داده در تصویر زیر روشن شود.

شیلد sim800c آردوینو

شیلد sim800c آردوینو

 

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

 

کد‌های برنامه

 

 ویدئو راه‌اندازی shiled sim800 c به وسیله‌ی آردوینو

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

علیرضا قربانی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۸۶ دیدگاه

  • […] در پست‌ قبلی نحوه‌ی راه‌اندازی شیلد sim800c را برسی کردیم و مثال جست و جوی شبکه را بر روی آردوینو آپلود کردیم.در این قسمت قصد داریم دریافت sms و توابع مربوط به این کار را به شما آموزش دهیم. در ادامه‌ی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید. […]

  • با سلام

    من دقیقا طبق دستورالعمل انجام دادم ولی روی اسکن گیر می کنه.
    فکر می کنم روی این خط منتظر می مونه و جواب نمی گیره:
    gsmAccess.begin(PINNUMBER)

    البته زمان کامپایل کلی وارنینگ داره:

    In file included from C:UserspouyaDocumentsArduinolibrariesGSMsrc/GSM.h:46:0,

    from C:UserspouyaAppDataLocalTemparduino_c5aeeede6ae40c5c05def3c4e7e72ceeTestModem.ino:2:

    C:UserspouyaDocumentsArduinolibrariesGSMsrc/GSM3ShieldV1BandManagement.h:49:125: warning: ‘typedef’ was ignored in this declaration [enabled by default]

    typedef enum GSM3GSMBand {UNDEFINED, EGSM_MODE, DCS_MODE, PCS_MODE, EGSM_DCS_MODE, GSM850_PCS_MODE, GSM850_EGSM_DCS_PCS_MODE};

    ^

    C:UserspouyaAppDataLocalTemparduino_c5aeeede6ae40c5c05def3c4e7e72ceeTestModem.ino: In function ‘void setup()’:

    C:UserspouyaAppDataLocalTemparduino_c5aeeede6ae40c5c05def3c4e7e72ceeTestModem.ino:36:34: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    if (gsmAccess.begin(PINNUMBER) == GSM_READY)

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3MobileMockupProvider.cpp: In constructor ‘GSM3MobileMockupProvider::GSM3MobileMockupProvider()’:

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3MobileMockupProvider.cpp:44:12: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    msgExample=”Hello#World”;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3MobileMockupProvider.cpp: In member function ‘int GSM3MobileMockupProvider::connectTCPServer(int, char*, int*)’:

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3MobileMockupProvider.cpp:183:32: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    strcpy(“192.168.1.1″, localIP);

    ^

    In file included from C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp:34:0:

    C:UserspouyaDocumentsArduinolibrariesGSMsrc/GSM3ShieldV1BandManagement.h:49:125: warning: ‘typedef’ was ignored in this declaration [enabled by default]

    typedef enum GSM3GSMBand {UNDEFINED, EGSM_MODE, DCS_MODE, PCS_MODE, EGSM_DCS_MODE, GSM850_PCS_MODE, GSM850_EGSM_DCS_PCS_MODE};

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp: In constructor ‘GSM3ShieldV1BandManagement::GSM3ShieldV1BandManagement(bool)’:

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp:38:27: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    quectelStrings[UNDEFINED]=””;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp:39:27: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    quectelStrings[EGSM_MODE]=””EGSM_MODE””;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp:40:26: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    quectelStrings[DCS_MODE]=””DCS_MODE””;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp:41:26: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    quectelStrings[PCS_MODE]=””PCS_MODE””;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp:42:31: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    quectelStrings[EGSM_DCS_MODE]=””EGSM_DCS_MODE””;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp:43:33: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    quectelStrings[GSM850_PCS_MODE]=””GSM850_PCS_MODE””;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1BandManagement.cpp:44:42: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    quectelStrings[GSM850_EGSM_DCS_PCS_MODE]=””GSM850_EGSM_DCS_PCS_MODE””;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1ModemCore.cpp:39:14: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    char* __ok__=”OK”;

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1ModemVerification.cpp: In member function ‘String GSM3ShieldV1ModemVerification::getIMEI()’:

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1ModemVerification.cpp:64:20: warning: passing NULL to non-pointer argument 1 of ‘String::String(int, unsigned char)’ [-Wconversion-null]

    String number(NULL);

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1SMSProvider.cpp: In member function ‘void GSM3ShieldV1SMSProvider::beginSMSContinue()’:

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1SMSProvider.cpp:68:57: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

    if(theGSM3ShieldV1ModemCore.genericParse_rsp(resp, “>”))

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1ScanNetworks.cpp: In member function ‘String GSM3ShieldV1ScanNetworks::getCurrentCarrier()’:

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1ScanNetworks.cpp:66:21: warning: passing NULL to non-pointer argument 1 of ‘String::String(int, unsigned char)’ [-Wconversion-null]

    return String(NULL);

    ^

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1ScanNetworks.cpp: In member function ‘String GSM3ShieldV1ScanNetworks::getSignalStrength()’:

    C:UserspouyaDocumentsArduinolibrariesGSMsrcGSM3ShieldV1ScanNetworks.cpp:85:21: warning: passing NULL to non-pointer argument 1 of ‘String::String(int, unsigned char)’ [-Wconversion-null]

    return String(NULL);

    ^

    Multiple libraries were found for “GSM.h”
    Used: C:UserspouyaDocumentsArduinolibrariesGSM
    Not used: C:Program FilesArduinolibrariesGSM

    ممنون

  • سلام
    من از آردینو مگا استفاده می کنم.
    می خواستم بدونم که اگر من در این شیلد، پین ۲ رو به پین ۱۰ وصل کنم. و شاخه پین ۲ رو کج کنم که به آردینو وصل نشه، میتونم این شیلد رو وصل کنم و ازش استفاده کنم؟

  • با سلام و تشکر بابت مطالب مفید سایتتون
    من همه ی مراحلو طبق آموزش پیش رفتم ولی وقتی سوییچ روی شیلدو ۵ ثانیه نگه میدارم LED روشن میشه ولی بعد از ۱ ثانیه دوباره خاموش میشه و روی سریال مانیتور هم در خط GSM networks scanner متوقف میشه ممنون میشم راهنماییم کنید

  • با سلام و تشکر
    فرق مثلا sim 800c با sim 800a چیه؟
    آیا میشه ماژول sim 800a رو با این آموزشتون انجام داد ؟ منظورم اینه که با این آموزش میشه هر ماژولی رو که sim 800 باشه ، راه اندازی کرد ؟

  • سلام
    نسخه۱٫۶٫۷ رو نصب کردم
    کل پوشه gsm رو پاک کردم
    موقع نصب این پیامو میده
    A library named GSM already exists
    الان چی کار باید بکنم

    • با سلام
      لطفا در مسیری که آردوینو نصب شده است، بروید و در فایل Libraries پوشه مربوط به GSM را پاک کنید و فایل کتابخانه دانلودی را در آنجا قرار دهید.

  • سلام مجدد
    کتابخانه gsm رو که در پوشه ی اسکچ های تمرینی خودم بود هم پاک کردم خطا برطرف شد
    حالا همه چی به ظاهر درسته ولی نه پیام میگیره نه زنگ میزنه نه مقدار سیگنال شبکه رو نشون میده
    خیلی شیلد پردردسری بود برام
    ممنون میشم راهنماییم کنید

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

  • با سلام من یک شیلد sim800c خریدم و میخوام اونو با اردوینو uno راه اندازی کنم طبق مراحلی که گفته بودید رو انجام دادم ماژول تو شبکه میاد حتی به خطی ک روی ماژول هس زنگ میزنم زنگ میخوره اما برای تست هیچ عکس العملی نشون نمیده در سریال مانیتور . ناگفته نماند منبعی که به ماژول وصله ۵٫۵ ولت ۵ امپر هس میشه راهنماییم کنید چیکار باید انجام بدم ؟ ورژن نرم افزار اردوینو ۱٫۶٫۷ هس

    • با سلام
      ضمن تشکر از توجه شما به آموزش شیلد Sim800C، لطفا دقت کنید که در گوشه سمت راست سریال مانیتور سرعت را با سرعت تعریف شده در کدهای برنامه یکسان قرار دهید.

  • سلام
    نحوه اتصال اردینو نانو به شیلد اترنت و به sim800l رو میخاستم
    که ازsim800lنت رو بگیره و ار اترنت برام خروجی اینترنت بدهد
    کد های آن رو هم بهم بدید

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

  • سلام sim800 که گرفتم از نوع جدید که هم بلوتوث و هم gps داره و نمی دانم چطور پایه ها را وصل آردینو کنم میشه شماره تلگرام یا بدهید تا بفرستم email

    • با سلام
      ضمن تشکر از توجه شما، کاربر گرامی در حال حاضر رفع عیب فقط از طریق ثبت کامنت است. پایه‌های ماژول را اعلام بفرمایید تا راهنمایی دقیق صورت گیرد.

  • سلام
    فک میکنم باarduino mega2596 هم سازگار باشه چون پین هاش مثل uno چیده شده فقط پین های اضافیش پایینه
    به نظرتون سازگاری داره؟

  • با سلام
    یک سوال در مورد راه اندازی برد شیلد اردینو با کتابخانه gsm اردینو داشتم. شما در اموزش فرموده بودین که برای تغییر درایو به صورت نرم افزاری یاسخت افزاری تنها نیاز به تغییر جامپر روی برد می باشد.سوالم این هست که ایا نیاز به تغییر برنامه یا کتابخانه نیز می باشد.
    باتشکر

    • با سلام
      ضمن تشکر از توجه شما، بله نیاز هست در کد تغییراات اعمال شود. البته این موضوع نیاز به تغییراتى در کتابخانه هم دارد.

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

        • خواهش میکنم. در این زمینه باید از سورس‌های مورد تایید آردوینو استفاده کنید. که تمامی این سورس‌ها در دایرکتوری نرم افزار آردوینو موجود است. برای اطمینان بستگی به برنامه‌ای که نوشته‌اید دارد.

  • سلام sim 800 که من گرفته ام تعداد پایه های زیادی دارد و من نمی دانم چطور این پایه ها به آردینو وصل کنم میشه راهنمایی کنید چطور وصل کنم و این پایه ها به چه منظوری است

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

  • سلام من یک شیلد sim900 خریدم ولی میخوام با کدویژن برای atmega32 برنامه نویسی کنم نیاز به کتابخانه شیلد در کدویژن دارم.

  • سلام.من با sim 800c وuno پیام فرستادم به این شکل که کد برنامه رو آپلود بعد سریال مانیتور میزدم و شماره در com میزدم وبه همین شکل متنی که میخواستم بفرستم و پیام ارسال میشد.
    حالا میخوام بدون نوشتن چیزی ازطرف من درcom این پیام ارسال شود.مثلا سنسور دما(lm35) قرار بدم وقتی دما از حد مشخص شده بالا رفت یه پیام به شماره من ارسال کند.راه اندازی سنسور دما رو هم بلدم .ممنون میشم اگر کمک کنید .پاسخ اینجا دنبال کنم ؟
    @meysam18888 تلگرام بنده

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

  • سلام خسته نباشید
    اموزش رو از سایت پیگیر بودم اموزش های اردوینو رو برای راه اندازی شیلد جی اسم ام به مشکل خوردم
    برنامه رو اپلود میکنم روی اردوینو بعد شیلد رو راه اندازی میکنم
    GSM networks scanner
    Modem IMEI: 0
    Scanning available networks. May take some seconds.

    Current carrier:
    Signal Strength: [0-31]
    Scanning available networks. May take some seconds.

    و روی همین میمونه
    من برای تغذیه شیلد از ی
    منبع تغذیه ۱۲ ولت ۵ استفاده میکنم مشکل جریان نداره
    چراغ STA و PWR روشنه
    و چراغ NET چشمک میزنه روی R6D1