بسم الله الرحمن الرحیم

سلام مجدد خدمت اساتید بزرگوار. اینبار میخوایم در مورد ماژول کاربردی و جالب SIM800L صحبت کنیم ماژولی که با قابلیتهای پیامک و تماس صوتی در اکثر پروژه ها جای SIM900 رو گرفته و طرفداران زیادی داره. در این پروژه ما با میکرو کنترلر AVR و یا آردوینو تست شبکه میگیریم تا در پستهای آینده با تماس و SMS و رله لوازم منزل رو کنترل کنیم و نمونه ای از دنیای اینترنت اشیا رو آموزش بدیم. این ماژول محصول شرکت SIMCOM هست و عملکرد استیبل و با ثباتی رو به پروژه میده ولی متاسفانه قیمت این ماژولها خیلی بالا رفته! قبلا 15 تومن بود الان به 60 تومن هم رسیده! یادتان هست پیاز نداشتید ملت ایران!؟ علی برکت الله!!!

توضیح تصویر

نکته اول و شاید مهم ترین نکته ای که در مورد این ماژول هست اینه که خیلی روی تغذیه حساس هست و برخی دوستان به دلیل اینکه تغذیه مناسبی براش نذاشتن به مشکل خوردن! بهترین عملکردش با 4.2 ولت(3.7 تا 4.4 جواب میده ولی 4.2 عالیه) 2 آمپر حاصل میشه و چون لحظه اتصال به شبکه 2 آمپر بصورت لحظه ای میکشه نمیتونید با یه دیود ولتاژ اردوینو رو پایین بیارید و بهش بدید! چون اون جریانش در حد چند صد میلی آمپر هست. شما میتونید به راحتی با رگولاتور های 2 آمپر قابل تنظیم مثل LM2596 و یا باتری لیتیوم یون که راه ارزون تری هست راه اندازیش کنید.

توضیح تصویر

بنده پیشنهاد میدم برای بخش میکرو کنترلر یه اردوینو مینی پرو بخرید که ارزونه و با میکرو اتمگا 328P خودش کارتونو راه میندازه و یا اگر به الکترونیک علاقه دارید میتونید با کریستال 16 مگاهرتزی، 2 تا خازن 22 پیکوفاراد، یه مقاومت 10 کیلو ،یه مدار تغذیه رگلاتور 5 ولت + خازن 104 و میکرو اتمگا 328P رو تبدیل کنید به یه اردوینو. این پروژه جالب رو هم بعدا در مطلبی جداگانه ان شا الله اموزششو میذارم. توجه بفرمایید قبل از کد نویسی نکاتی رو خواهم گفت که خیلی رو عملکرد طولانی مدت مدارتون تاثیر میذاره و باعث بهبودش میشه.

باید پایه RX مجازی در آردوینو رو به TX ماژول و بالعکس TX مجازی آردوینو رو به RX ماژول ببندید(اینجا 10 و 11 آردوینو رو در نظر گرفتیم) و توجه کنید چون آردوینو و کلا میکرو AVR این کلاس با 5 ولت تغذیه میشه و SIM800L با 4.2 ولت پس باید این رو یه جوری در پایه RX یعنی ریسیو دیتا ماژول SIM 800L کاهش بدیم تا آسیب نبینه. خوب میتونید با تقسیم مقاومتی این کار رو انجام بدید نقشه زیر رو ببینید :

توضیح تصویر

خوب مدارتون رو ببندید و آماده تست شبکه بشید. برای تست شبکه بعد از اضافه کردن کتابخانه مربوطه و آپلود کد به سریال مانیتور کامپایلر آردوینو برید و دستور AT با حروف بزرگ رو وارد کنید و اگر همه چیز درست بود OK میده و بعد اگر AT+CSQ رو بزنید مقدار آنتن دهی رو نشون میده که اونم بین 10-15 مناسب هست. در جاهایی که آنتن خوبی نداره از آنتن جانبی خوب استفاده کنید هرچند با لحیم کردن یه سیم به پایه انتن هم خوب کار میکنه. در مورد LED روی ماژول اینکه وقتی ماژول رو روشنش میکنید باید پشت سر هم چشمک بزنه و وقتی به شبکه متصل میشه 3 ثانیه یک بار چشمک میزنه. شما اگر دیدین 3 ثانیه یه بار چشمک زد بدونید سیمکارت به شبکه متصل هست.

دانلود کتابخانه SIM800L

#include <SoftwareSerial.h>
String txt1,txt2;

SoftwareSerial gsm(10,11); //10=RX 11=TX به صورت ضربدری به ماژول

void setup()  {
    Serial.begin(9600);
    Serial.println("Testing Gsm SIM800L");
    gsm.begin(9600);
    
}
 void loop() {
  if(gsm.available())
  {
    txt1 = gsm.readString();
    Serial.println(txt1);
  }
  if(Serial.available());
  {
  txt2 = Serial.readString();
  gsm.println(txt2);
 }
 }

منتظر قسمت های بعدی هم باشید روشن و خاموش کردن پمپ و سیستمهای آبیاری هوشمند با SMS، اتوماسیون سالنهای قارچ و مرغداری و... کیت های آموزش هم در صورت نیاز ارسال میشه تا ان شا الله انجمن IRDEVS.COM بستر مناسبی بشه برای آموزش مباحث اینترنت اشیا.