بستن منو
×

راه اندازی sim800 با آردوینو + سورس

دسته بندی : میکروکنترلر

چکیده :

راه اندازی sim800 و sim800l با آردوینو با کتابخانه و توضیحات کامل ، موقعیت مکانی ، حالت خواب ، دریافت و ارسال پیامک و تماس

معرفی اجمالی SIM800L

ماژول sim800l یک ماژول GPRS و GSM است که شما با استفاده از آن میتوانید کار های زیادی را انجام دهید که چند مورد از آن را در پایین ذکر کرده ایم

از جمله کارهایی با SIM800L میتوان انجام داد :

  • برقراری تماس
  • دریافت و پاسخگویی تماس
  • ارسال پیامک متنی
  • دریافت و خواندن پیامک متنی
  • مکان یابی
  • خواندن ساعت RTC از شبکه
  • و . . .

تغذیه ماژول SIM800L

شما باید ماژول SIM۸۰۰ را با دقت ۴.۲ volts تامین کنید . من از LM۲۵۹۶ مرحله پایین استفاده کرده‌ام . شما باید ولتاژ خروجی را تا ۴.۲ volts از پتانسیومتر تنظیم کنید . فراموش نکنید که GND آردوینو را با خروجی LM۲۵۹۶ ( – ) ترکیب کنید .

lm2596دوستان عزیز توجه کنید میتوانید با استفاده از باطری لیتیومی ماژول را راه اندازی کنید

نکاتی برای حل مشکلات تغذیه :

  • از یک خازن با ظرفیت بالا ( برای مثال ۲۲۰۰uF ) در نزدیک ترین مکان به SIM800L خود وصل کنید
  • اتصالات تغذیه خود را به درستی ایجاد کنید ، دلیل این امر این است که در حین جریان کشی سیم شما توانایی حمل جریان را داشته باشد

اتصالات SIM800L به آردوینو

راه اندازی SIM800L با آردوینو

نصب و راه اندازی کتابخانه SIM800L

ابتدا باید کتابخانه ی SIM800L را دانلود کنید
برای اینکار میتوانید از دو لینک زیر استفاده کنید

برای نصب کتابخانه در آردوینو باید وارد منوی sketch > include library > add zip library شوید و فایل zip را که دانلود کرده اید را انتخاب کنید تا کتابخانه مورد نظر شما نصب شود

توضیحات کتابخانه SIM800L

در این بخش میخوایم کتابخانه SIM800L را کامل بررسی کنیم اما قبل از آن دستورات مختلف این کتابخانه را بررسی کنیم

دستورات کتابخانه

دستورمقدار بازگشتیتوضیحاتمثال
begin()نداردبرای راه اندازی کتابخانهنمایش
begin(number)نداردبرای راه اندازی کتابخانه با سرعت تبادل ( باود ریت ) دلخواهنمایش
reset()نداردریست کردن ماژولنمایش
setSleepMode(bool)boolخاموش/روشن کردن حالت خواب ( sleep mode )نمایش
getSleepMode()boolخواندن حالت خاموش/روشن بودن حالت خوابنمایش
setFunctionalityMode(number)boolتنظیم حالت عملکردنمایش
getFunctionalityMode()boolخواندن حالت عملکردنمایش
setPIN(String)boolوارد کردن پین کدنمایش
getProductInfo()Stringخواندن مشخصات اوپراتور
getOperatorsList()Stringخواندن لیست اوپراتور ها
getOperator()Stringخواندن اوپراتوری که به آن متصل شده
calculateLocation()boolخواندن موقعیت مکانی
getLocationCode()Stringخواندن کد موقعیت مکانی
getLongitude()Stringخواندن عرض جغرافیایی
getLatitude()Stringخواندن طول جغرافیایی
sendSms(number,text)boolارسال پیامک متنینمایش
readSms(index)Stringخواندن پیامک متنی طبق موقعیت در حافظهنمایش
getNumberSms(index)Stringخواندن شماره ارسال کننده پیامک
delAllSms()boolپاک کردن تمامی پیام ها
signalQuality()Stringبازگرداندن وضعیت سیگنال
answerCall()boolپاسخ دادن به تماس
callNumber(number)نداردتماس گرفتن
hangoffCall()boolرد تماس کردن
getCallStatus()uint8_tخواندن وضعیت تماس ۰=آماده – ۲=نامشخص – ۳=درحال تماس – ۴=تماس برقرار است
dateNet()Stringبازگرداندن زمان بر اساس دیتای GSM
updateRtc(utc)boolبروزرسانی زمان بر اساس utc مکان وارد شده

نمونه کد begin

با این دستور شما sim800 مورد نظر خود را راه اندازی میکنید

کار با این دستور بسیار ساده است ، شما پس از آن که یک آبجکت از کلاس Sim800L ساختید میتوانید با دستور begin آن را راه اندازی کنید

نمونه کد begin(number)

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

 GSM.begin(9600); 

نمونه کد دستور reset

با اجرای این دستور میتوانید ماژول sim800 خود را ریست کنید

نمونه کد برای reset کردن ماژول sim800 :

 GSM.reset(); 

نمونه کد دستور setSleepMode

شما با این دستور میتوانید ماژول خود را به حالت sleepmode یا حالت خواب ببرید . در این حالت ماژول sim800 شما مصرف جریانی بسیار پایینی خواهد داشت

این دستور یک ورودی از نوع bool دریافت میکند که اگر آن ورودی true باشد ماژول شما به حالت خواب میرود و اگر false باشد از حالت خواب خارج خواهد شد

نمونه کد برای فعال سازی حالت sleep mode :

 GSM.setSleepMode(true); 

نمونه کد برای غیرفعال سازی حالت sleep mode :

 GSM.setSleepMode(false); 

نمونه کد دستور getSleepMode

با این دستور میتوانید وضعیت sleep monde یا حالت خواب ماژول خود را بخوانید ، کار با این دستور بسیار ساده است و یک خروجی از نوع bool دارد که اگر برابر با true بود یعنی ماژول شما در حالت خواب قرار دارد و اگر برابر با false بود یعنی ماژول شما در حالت خواب قرار ندارد .

نمونه کد برای خواندن وضعیت sleep mode :

 bool hamyar = GSM.getSleepMode(); 

نمونه کد setFunctionalityMode

با استفاده از این دستور میتوانید حالت عملکرد دستگاه را تنظیم و محدود کنید

  • عدد ۰ : به معنای حداقل عملکرد
  • عدد ۱ : عملکرد کامل
  • عدد ۴ : غیر فعال شدن RF

نمونه کد برای تنظیم حالت عملکرد :

 GSM.setFunctionalityMode(4); 

نمونه کد getFunctionalityMode

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

نمونه کد :

 Serial.println(GSM.getFunctionalityMode()); 

نمونه کد setPIN

این کد برای وارد کردن پین کد سیمکارت استفاده میشود و یک ورودی از نوع string دریافت میکند

نمونه کد :

 GSM.setPIN(1234); 

نمونه کد sendSms

با استفاده از این کد میتوانید پیامک دلخواه خود را ارسال کنید

نمونه کد :

 GSM.sendSms(“09123456789″,”HI HAMYAR”); 

نمونه کد readSms

با استفاده از این کد میتوانید پیامک دریافتی را بخوانید

ابتدا با استفاده از دستور prepareForSmsReceive باید ماژول خود را آماده برای دریافت پیامک کنیم

 GSM.prepareForSmsReceive(); 

سپس باید هر بار چک کنیم که اگر پیام جدیدی دریافت شده موقعیت حافظه آن را بخوانیم

 byte index = GSM.checkForSMS(); 

حالا اگر مقدار داشت یعنی پیامک جدیدی داریم و آن را میخوانیم

نمونه کد :

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

راه اندازی ماژول A9

راه اندازی ماژول A9 GSM GPRS

آموزش راه اندازی ماژول A9 GSM GPRS که یک ماژول کاربردی است در حوضه هوشمند سازی ، آموزش کار با دستورات AT و کار با این ماژول A9

تغذیه sim800 ( جلسه اول )

تغذیه ماژول sim800 - دوره آموزشی sim800l - راه اندازی - راه اندازی sim800 با lm317 - راه اندازی sim800 با باطری لیتیوم پلیمری - راه اندازی sim800 با lm2596

15 دیدگاه برای “راه اندازی sim800 با آردوینو + سورس”

  1. Mohammad گفت:

    سلام خسته نباشید.من هرکاری میکنم نمیتونم ماژولsim800رو به پورت سریال وصل کنم.از هر روشی که به ذهنم رسیده امتحان کردم.با مبدل یو اس بی به سریال امتحان کردم جواب نداده.با خود اردینو هم امتحان کردم ولی هیچ دستوری رو ارسال و دریافت نمیکنه.دستوراتatرو دریاف نمیکنه.ماژول سیمکارت مشکلی از لحاظ انتن دهی نداره چون وقتی بهش زنگ میزنم بوق میخوره ولی موندم چرا دستورات رو اجرا نمیکنه.پایه های rx و txروهم جابجا کردم.منفی sim800رو با منفی مبدل سریال و حتی اردینو هم یکی کردم ولی باز جواب نداده.هر نوع برنامه ای که به ذهنم رسیده امتحان کردم.ممنون میشم راهنمایی بفرمائید.

    1. حسین قاسمی گفت:

      سلام
      ماژول sim800 شما از وقتی خریداری کردید این مشکل رو داشت؟
      روی pcb نصب شده یا روی برد آزمایشگاهی تست میکنید؟
      در صورت امکان تصاویر اتصالاتتون رو توی واتساپ برای ما ارسال کنید تا شما رو راهنمایی کنیم

  2. ابوالفضل گفت:

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

    1. حسین قاسمی گفت:

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

  3. محسن خ گفت:

    سلام تشککر از مطلب خوبتان
    بنده بورد آردینو رو پروگرام کردم اما با نرم افزاری که زحمت کشیدید معرفی کردید نمیتونم بهش متصل بشم
    و نرم افزار هنگ میکنه یا کار نمیکنه
    ممنون میشم آموزشی تصویری قرار بدید

    1. حسین قاسمی گفت:

      احتمالا به زودی قرار خواهد گرفت
      تشکر از نظر پر ارزشتون
      موفق باشید

  4. علیپور گفت:

    ممنون از شما . واقعا همونی بود که می خواستم،کامل و بدون نقص

    1. حسین قاسمی گفت:

      ممنون از نظر های خوب شما

  5. کوتن گفت:

    تو این زمینه بهترین هستین
    لذت بردم
    سایتتون هم خیلی زیباست

    1. حسین قاسمی گفت:

      باعث افتخارمون هست که کاربرانمون راضی هستند

  6. حسین قاسمی گفت:

    در ادامه مطلب باید بگم که خیلی از دوستان با ولتاژ و جریان این ماژول مشکل دارند
    بهترین کار برای تست اولیه استفاده از باطری های لیتیوم پلیمری هست
    من چند وقت پیش این ماژول رو با استفاده از باطری گوشی راه اندازی کردم و باید بگم این باطری ها جریان مناسبی رو میدند و ولتاژ کاری اون ها ۳.۷ ولت هست که برای این ماژول ولتاژ استانداری هست و میتونه به راحتی کار شما رو راه بندازه
    اما برای زدن pcb مناسب نیست

  7. محمد رضا گفت:

    سلام.
    سوالی که دارم اینکه که ابزار AT command رو روی کامپیوتر نصب میکنید ؟
    کد رو که توی آردوینو میریزیم.
    اونوقت چطور ابزار به پورت سریال آردوینو یا ماژول SIM800 وصل میشه ؟
    ممنون میشم راهنمایی بفرمایید.
    با تشکر

    1. حسین قاسمی گفت:

      وقت بخیر دوست عزیز
      نرم افزار AT Command Tester Tool برای کامپیوتر هست که میتونید از اینجا دانلود کنید
      پورت سریال هم باید بگم که کتابخانه SoftwareSerial پین های سریال آردوینو رو از ۰و۱ به پین های دلخواه انتقال میده با استفاده از کابل usb دیتا رو انتقال میده و قابل نمایش هست
      سوال دیگه ای داشتید در خدمتم

    2. اسدی گفت:

      سلام
      ببخشید جریان مورد نیاز مازول sim800l تا ۲ آمپر هم میرسه اما جریان پایه های اردوینو ۴۰ تا ۵۰ میلی آمپر هست با استفاده از lm2596 ولتاژ مورد نیاز ماژول sim800 رو تامین میکنیم اما جریان مورد نیاز ماژول هم آیا تامین میشه با همین رگولاتورlm2596 ؟؟

      1. حسین قاسمی گفت:

        وقتتون بخیر
        پیشنهاد میکنم ورودی مبدل dc به dc رو به ورودی ولتاژ بدید
        آداپتور رو که به آردوینو متصل میکنید پایه Vin هم ولتاژ آداپتور رو میگیره ورودی + مبدل رو به این پایه متصل کنید مشکلتون حل میشه

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

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

در حال اعتبار سنجی لطفا منتظر بمانید ...