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

آموزش نصب و راه اندازی شیلد 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 به وسیله‌ی آردوینو

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

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

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

۵۳ دیدگاه

      • دستتون دردنکنه.
        فقط یه سوال: وقتی برنامه توی نرم افزار میخواد کامپایل بشه این Error رو میده:
        avr-g++: error: CreateProcess: No such file or directory

        exit status 1
        Error compiling.

        وقتی هم میخوام کتابخانه رو نصب کنم این Error رو میده:
        A library named GSM already exists
        لطفا راهنماییم کنید
        باتشکر

        • نسخه فعلی آردوینو خود را پاک کنید و نسخه ۱٫۶٫۷ را نصب کنین

          بعد از اون وارد پوشه های لایبرری بشین و تمام کتابخانه های GSM را پاک کنید

          سپس کتابخانه ای که برای دانلود قرار داده شده را نصب کنید

          • ممنونم بخاطر راهنماییتون. کتابخانه رو تونستم نصب کنم.
            ولی وقتی برنامه توی نرم افزار میخواد کامپایل بشه این Error رو میده:
            avr-g++: error: CreateProcess: No such file or directory

            exit status 1
            Error compiling.

          • یه ویندوز xp مجازی نصب کردم. وقتی برنامه آردوینو ورژن ۱.۶.۷ رو روش نصب کردم و برنامه sim800c رو داخلش کامپایل میکنم راحت کامپایل میشه ولی روی ویندوز اصلیم که ۸.۱ هست Error میده. برای هر برنامه ای که امتحان کردم همین Error رو میده. لطفا راهنماییم کنید.
            باتشکر

          • این لینک دانلودی که گذاشتید رو دانلود کردم و کارهایی که گفتید رو انجام دادم ولی باز همون Error رو میده. الان باید چیکار کنم؟

          • سلام
            من یک مشکل دارم serial برنامه تو قسمت GSM networks scanner
            گیر کرده و اپراتور نمی شناسه.
            کلید Start رو که میزنم، حدودا پنج یا شش ثانیه چراغ sta روشن
            net گاهی چشمک میزنه و
            pwr روشنه بعد خاموش میشه.

          • الان از تغذیه جدا استفاده می کنم ولی باز هم روی GSM networks scanner گیر میکنه و شبکه نمیشناسه.
            از آدابتور ۵ ولت و ۲ آمپر استفاده کردم.
            چراغ sta روشنه
            net چشمک میزنه و
            pwr روشنه.
            هم با سیمکارت رایتل و هم با سیمکارت ایرانسل امتحان کردم، ولی هنوز این مشکل هست.

          • با سلام
            آقا ممنونم بابت راهنمایی هاتون. الحمدالله مشکل رفع شد.
            لطفا آموزش دریافت و ارسال پیام رو هم بذارید.
            میخوام مختصات دریافت شده توسط ماژول جی پی اس NEO-6M رو به شماره ای که براش مشخص میکنم، ارسال کنه. لطفا اگر امکانش هست رهنماییم کنید.
            با تشکر

  • […] در پست‌ قبلی نحوه‌ی راه‌اندازی شیلد 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 متوقف میشه ممنون میشم راهنماییم کنید

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