معرفی و راه‌اندازی ماژول GSM با آردوینو

دوشنبه, 24 اسفند 1394 16:14
این مورد را ارزیابی کنید
(18 رای‌ها)

این مطلب قسمت هفتم از مجموعه آموزش جامع اینترنت اشیا با آردوینو است. در این قسمت قصد داریم در مورد ماژول GSM صحبت کنیم. جذاب‌ترین نوع اینترنت اشیای زمانی به وجود می‌آید که دستگاه‌های مختلف واقعا بتوانند با یکدیگر و با انسان‌ها حرف بزنند. چطور می‌توان چنین چیزی را به وجود آورد؟ برای رسیدن به چنین شرایطی اجزای زیادی باید با هم همزمان کار کنند که تاکنون در مورد بسیاری از آنها صحبت کرده‌ایم اما تصور کنید که چیزی داشته باشید که در صورتی که شخصی وارد منزل‌تان شد پیامکی را به تلفن همراه شما بفرستد. یا اینکه مثلا با یک تماس تلفنی بتوانید شیرهای گاز خانه را ببندید! دقیقا انگار که یک خدمتکار در خانه دارید که می‌توانید با او تماس بگیرید و خیلی از کارهای خانه را به او واگذار کنید. تمام این کارها با استفاده از ماژول GSM انجام می‌شود.

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

 

برد آردوینو و کابل رابط 

1 عدد

ماژول SIM800

1 عدد

رگولاتور LM2596

1 عدد

منبع تغذیه

1 عدد

مقاومت 10KΩ

3 عدد

خازن 1000µF

1 عدد

خازن 100nF

1 عدد

باتری LiPo

1 عدد

بردبورد

1 عدد

سیم جامپر

1 بسته

 


معرفی ماژول GSM

ماژول SIM800 یک قطعه کوچک و پرکاربرد است که تقریبا تمام قابلیت‌های یک تلفن همراه مانند ارسال و دریافت پیامک، برقراری تماس صوتی و ارتباط به اینترنت از طریق GPRS را در اختیار شما می‌گذارد.

راه اندازی ماژول GSM با آردوینو

این ماژول از سیستم GSM برای برقراری ارتباط استفاده می‌کند. GSM یا Global System for Mobile Communication یک استاندارد مخابراتی است که از پروتکل نسل دوم موبایل یا 2G استفاده می‌کند. این استاندارد برای اولین بار امکان برقراری ارتباط موبایل به روش دیجیتال را معرفی کرد. از طریق GSM اتصال به اینترنت با موبایل به روش‌های GPRS و EDGE فراهم شد. سیستم نسل دوم گسترده‌ترین روش مخابراتی موجود برای موبایل در جهان است. به همین دلیل امکان دسترسی به شبکه از طریق آن بسیار بیشتر از نسل‌های بعدی است.

ماژول SIM800 قابلیت‌های زیر را دارد:

  • برقراری و دریافت تماس صوتی
  • دریافت و ارسال پیامک
  • قابلیت کار در تمام شبکه‌های GSM بر پایه 2G
  • استفاده از ۴ باند فرکانسی 800، 900، 1800 و 1900 مگاهرتز
  • امکان برقراری ارتباط GPRS
  • امکان برقراری ارتباط FM
  • ارتباط سریال با میکروکنترلر با سرعت 1200bps تا 115200bp
  • پشتیبانی از دستورات AT
  • پشتیبانی از سیم‌کارت‌های ابعاد میکرو

ماژول SIM800 از چند بخش کلی تشکیل شده است. این ماژول یک برد ١ اینچی است که بر روی آن یک تراشه GSM قرار گرفته است. در دو طرف ماژول تعدادی جای پین قرار دارد که تغذیه، برقراری ارتباط با میکروکنترلر، ارتباط با اجزای جانبی و آنتن به این قسمت متصل می‌شود. زمانی که ماژول را تهیه می‌کنید معمولا قسمتهای آن جدا از هم است و احتمالا لازم دارید تا پین‌های هدر و آنتن را به آن لحیم کنید.

راه اندازی ماژول GSM با آردوینو

برای اینکه بتوانید از ماژول SIM800 استفاده کنید نیاز به یک آنتن خواهید داشت. بر روی برد ماژول دو امکان برای اتصال آنتن در اختیار شما گذاشته شده است. حالت اول استفاده از آنتن مارپیچ شکلی است که معمولا به همراه ماژول فروخته می‌شود. این آنتن را باید به پین NET بر روی ماژول لحیم کنید. برای استفاده از ماژول در شرایط معمولی و اگر می‌خواهید مصرف برق ماژول‌تان کاهش پیدا کند، این آنتن گزینه مناسبی است.

راه اندازی ماژول GSM با آردوینو

حالت دوم استفاده از آنتن مخصوص است. این آنتن از طریق یک درگاه u.fl به ماژول متصل می‌شود. این نوع آنتن کیفیت ارتباط را بهبود می‌دهد و طبیعتا مصرف برق بالاتری دارد. از آنجا که این نوع آنتن سیم انعطاف‌پذیر دارد، می‌توانید ماژول را در جعبه قرار داده و آنتن را بیرون آن جانمایی کنید.

راه اندازی ماژول GSM با آردوینو

تغذیه ماژول SIM800 اهمیت زیادی دارد. ولتاژ کاری برای این ماژول 3.4V تا 4.4V است و بنابراین باتری LiPo گزینه مناسبی برای تغذیه آن است. اگر تغذیه ماژول به طور مناسبی تامین نشود، ممکن است کار نکند یا باعث شود که آردوینو آسیب ببیند. ماژول GSM در شرایط مختلف مصرف برق متفاوتی دارد. برای مثال در حالت Stand By حدود 18mA و در حالت تماس صوتی حدود 216mA جریان مصرف می‌کند. با این وجود این ماژول می‌تواند در شرایط خاص به صورت لحظه‌ای تا 2A جریان بکشد.

 

شرایط کاری

جریان مصرفی

Sleep Mode

1mA

Stand by

18mA

Call

216mA

GPRS

453mA

 

از آنجا که ماژول GSM مصرف بالایی دارد نمی‌توانید از تغذیه آردوینو استفاده کنید و نیاز به یک منبع تغذیه خارجی دارید. این منبع باید بتواند ولتاژی بین 3.4V تا 4.4V و جریانی تا 2A را تامین کند. برای این کار دو راه وجود دارد. اولین حالت همان طور که گفتیم استفاده از یک باتری LiPo است. هر سلول باتری‌ LiPo ولتاژی در حدود 3.7V داشته و جریان‌های بالا را به راحتی تامین کرده و بنابراین برای این کار بسیار مناسب است.

راه اندازی ماژول GSM با آردوینو

انتخاب دوم استفاده از یک منبع تغذیه متغیر یا یک منبع تغذیه ثابت به همراه رگولاتور ولتاژ است. رگولاتور LM2596 توانایی تامین ولتاژ و جریان مورد نظر را دارد و به خوبی با ماژول SIM800 کار می‌کند.

راه اندازی ماژول GSM با آردوینو

توجه داشته باشید که همیشه قبل از اتصال سیم VCC سیم GND را وصل کنید و قبل از سیم GND سیم VCC را جدا کنید.

ماژول SIM800 ١٢ پین اتصال دارد اما برای استفاده ساده از آن نیاز به همه آنها ندارید. برای استفاده از ماژول حداقل ۴ پین آن را باید وصل کنید: پین‌های تغذیه یعنی VCC و GND و پین‌های ارتباط سریال یعنی Tx و Rx. توجه داشته باشید که این ماژول در محدوده ولتاژ گفته شده کار می‌کند و بنابراین نمی‌توانید پایه‌های دیجیتال آردوینو که ولتاژ 5V دارند را به آن وصل کنید. برای اینکه به ماژول آسیب نرسد، پایه Rx ماژول را از طریق دو مقاومت تقسیم‌کننده ولتاژ به Tx آردوینو وصل کنید. پایه Tx ماژول را به Rx آردوینو، VCC را به منبع تغذیه و تمام GND ها را به هم وصل کنید. علاوه بر آن یکی از دو نوع آنتن گفته شده را به ماژول وصل کنید. اگر از آنتن مارپیچی استفاده می‌کنید باید آن را نیز به ماژول لحیم کنید. ماژول GSM جریان‌های لحظه‌ای زیادی می‌کشد، به همین دلیل برای پایدار کردن عملکرد آن می‌توانید دو خازن با ظرفیت 1000µF و 100nF به پایه‌های تغذیه ماژول وصل کنید.

سایر پایه‌های ماژول شامل دو پایه برای میکروفون، دو پایه برای بلندگو، پایه زنگ تماس، پایه حالت Sleep و پایه ریست سخت‌افزاری است که در صورت نیاز می‌توانید از آنها استفاده کنید.   


آماده‌سازی اولیه ماژول GSM

ماژول SIM800 با دستورات AT کار می‌کند. در مورد دستورات AT قبلا در آموزش راه‌اندازی ماژول‌های وایرلس با آردوینو توضیح دادیم. همچنین در آموزش استفاده از ماژول بلوتوث با آردوینو نیز از این دستورات استفاده کردیم. برای کار با این ماژول باید دستورات آن را بشناسید. توصیه می‌کنم که راهنمای دستورات AT برای ماژول SIM800 را مطالعه کنید. در این راهنما تمام دستورات موجود به همراه نحوه استفاده و پاسخ‌های ماژول به دستورات آورده شده است. در این آموزش بعضی از دستورات مهم ماژول را استفاده خواهیم کرد.

دانلود راهنمای دستورات AT برای SIM800

برای اینکه بفهمید که ماژول درست کار می‌کند یا نه می‌توانید برنامه زیر را بر روی آردوینو آپلود کرده و نتیجه را ببینید.

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#include <SoftwareSerial.h>
SoftwareSerial SIM800(2, 3); //SIM800L Tx >> 2 & Rx >> 3

void serialReadWrite()
{
  delay(500);
  while (Serial.available())
    SIM800.write(Serial.read());
  while (SIM800.available())
    Serial.write(SIM800.read());
}

void setup()
{
  Serial.begin(9600);
  SIM800.begin(9600);
  Serial.println("Initializing...");
  delay(1000);
  SIM800.println("AT");
  serialReadWrite();
  SIM800.println("AT+CSQ");
  serialReadWrite();
  SIM800.println("AT+CCID");
  serialReadWrite();
  SIM800.println("AT+CREG?"); 
  serialReadWrite();
  SIM800.println("AT+COPS?");
  serialReadWrite();
}

void loop()
{
  serialReadWrite();
}

در این برنامه از کتابخانه SoftwareSerial استفاده شده است:

#include <SoftwareSerial.h>
SoftwareSerial SIM800(2, 3); //SIM800L Tx >> 2 & Rx >> 3

برای ساده‌تر شدن کد، یک برنامه به نام()serialReadWriteتعریف شده است که پاسخ ماژول را روی سریال مانیتور نوشته و اگر دستوری در سریال مانیتور وارد کنید، به ماژول ارسال می‌شود.

void serialReadWrite()
{
  delay(500);
  while (Serial.available())
    SIM800.write(Serial.read());
  while (SIM800.available())
    Serial.write(SIM800.read());
}

دستورات AT که در این برنامه استفاده شده‌اند، وضعیت ماژول و اتصال آن به شبکه را نشان می‌دهند. پس از ارسال این دستور، اگر اتصال ماژول به آردوینو برقرار باشد، پاسخ OK داده می‌شود:

SIM800.println("AT");

دستور زیر قدرت سیگنال دریافتی را می‌دهد. قدرت سیگنال عددی بین ٠ تا ۳۱ است:

SIM800.println("AT+CSQ");

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

SIM800.println("AT+CCID");

دستورهای زیر نیز وضعیت اتصال ماژول به شبکه و اپراتور را مشخص می‌کنند:

SIM800.println("AT+CREG?");
SIM800.println("AT+COPS?");

بر روی ماژول یک LED وجود دارد که نوع چشمک زدن آن وضعیت ماژول را نشان می‌دهد. بر این اساس سه حالت وجود دارد:

هر ثانیه یک بار: اتصال ماژول به شبکه برقرار نیست

هر دو ثانیه یک بار: ارتباط GPRS برقرار است

هر سه ثانیه یک بار: ماژول آماده دریافت و ارسال پیام و برقراری مکالمه است


ارسال و دریافت پیامک با آردوینو

شاید کاربردی‌ترین مورد استفاده از ماژول GSM ارسال و دریافت SMS با استفاده از آن باشد. برای استفاده از این قابلیت تنها کافیست که دستورهای مربوط به آن را بدانید. برنامه زیر یک پیامک را به شماره شما ارسال می‌کند:

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#include <SoftwareSerial.h>
SoftwareSerial SIM800(2, 3); //SIM800L Tx >> 2 & Rx >> 3
String number = "+98xxxxxxxxxx";

void sendSMS()
{
  SIM800.println("AT+CMGF=1");
  delay(1000);
  SIM800.println("AT+CMGS=\"" + number + "\"\r");
  delay(1000);
  String SMS = "Hello! I am Arduino.\nNice to meet you";
  SIM800.println(SMS);
  delay(100);
  SIM800.println((char)26);
  delay(1000);
}

void setup()
{
  delay(5000);
  Serial.begin(9600);
  SIM800.begin(9600);
  Serial.println("Initializing Successful !");
  delay(1000);
  sendSMS();
}
void loop()
{
}

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

String number = "+98xxxxxxxxxx";

در حلقه setup سریال مانیتور و ماژول را فعال می‌کنیم. برای جلوگیری از ارسال مکرر پیام، تابع()sendSMSرا در اینجا و نه در حلقه loop فراخوانی می‌کنیم:

Serial.begin(9600);
SIM800.begin(9600);
Serial.println("Initializing Successful !");
delay(1000);
sendSMS();

تابع()sendSMSیک پیامک به شماره مورد نظر شما ارسال می‌کند. برای ارسال پیام باید دستورات زیر را به ترتیب اجرا کنید. دستورات زیر ابتدا ماژول را در حالت متنی قرار داده، سپس پیام ارسال شده و در نهایت اتمام ارسال پیام با ارسال مقدار ۲۶ به ماژول تعیین می‌شود:

void sendSMS()
{
  SIM800.println("AT+CMGF=1");
  delay(1000);
  SIM800.println("AT+CMGS=\"" + number + "\"\r");
  delay(1000);
  String SMS = "Hello! I am Arduino.\nNice to meet you";
  SIM800.println(SMS);
  delay(100);
  SIM800.println((char)26);
  delay(1000);
}

برای دریافت پیام از طریق ماژول نیز می‌توانید برنامه زیر را اجرا کنید:

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#include <SoftwareSerial.h>
SoftwareSerial SIM800(2, 3);

void getSMS()
{
  Serial.println("Switching to SMS read mode");
  delay(1000);
  SIM800.println("AT+CNMI=2,2,0,0,0"); 
  delay(1000);
}

void setup()
{
  delay(7000); 
  Serial.begin(9600);
  SIM800.begin(9600);
  Serial.println("Initializing ...");
  delay(1000);
  getSMS();
}
void loop()
{

  if (SIM800.available() > 0)
    Serial.write(SIM800.read());
}

در این برنامه تابع()getSMSبرای فعال کردن حالت دریافت پیام تعریف شده است. این کار با استفاده از دستور AT+CNMI=2,2,0,0,0 انجام می‌شود:

SIM800.println("AT+CNMI=2,2,0,0,0"); 

کد حلقه loop به محض اینکه پیامی دریافت شود در سریال مانیتور نمایش می‌دهد:

if (SIM800.available() > 0)
  Serial.write(SIM800.read());

برقراری تماس صوتی با آردوینو

از کارهای جالبی که می‌توانید با ماژول GSM انجام دهید برقراری تماس صوتی است. اگر می‌خواهید از این امکان استفاده کنید، باید یک میکروفون و یک بلندگوی مناسب به پین‌های MIC و SPK وصل کنید. همچنین می‌توانید یک بازر به پین Ring ماژول وصل کنید. با برنامه زیر می‌توانید یک تماس صوتی برقرار کنید:

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#include <SoftwareSerial.h>
SoftwareSerial SIM800(2, 3);
String myNumber = "+98xxxxxxxxxx"; 

void callMe()
{
  SIM800.print(F("ATD"));
  SIM800.print(myNumber);
  SIM800.print(F(";\r\n"));
}

void setup()
{
  delay(7000);
  Serial.begin(9600);
  SIM800.begin(9600);
  Serial.println("Initializing ...");
  delay(1000);
  callMe();
}
void loop()
{
  if (SIM800.available() > 0)
    Serial.write(SIM800.read());
}

در این برنامه تابع()callMeبرای برقراری تماس تعریف شده است:

void callMe()
{
  SIM800.print(F("ATD"));
  SIM800.print(myNumber);
  SIM800.print(F(";\r\n"));
}

سیستم نظارت هوشمند با آردوینو

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

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#include <SoftwareSerial.h>
SoftwareSerial SIM800(2, 3); //SIM800L Tx >> 2 & Rx >> 3
String number = "+98xxxxxxxxxx";
int pirPin = 8;
int lastState = LOW;

void sendSMS()
{
  SIM800.println("AT+CMGF=1");
  delay(1000);
  SIM800.println("AT+CMGS=\"" + number + "\"\r");
  delay(1000);
  String SMS = "Something is moving.\nMaybe someone is here!\nI will call you now";
  SIM800.println(SMS);
  delay(100);
  SIM800.println((char)26);
  delay(1000);
}

void callMe()
{
  SIM800.print(F("ATD"));
  SIM800.print(number);
  SIM800.print(F(";\r\n"));
}

void setup()
{
  pinMode(pirPin, INPUT);
  digitalWrite(pirPin, LOW);
  delay(5000);
  SIM800.begin(9600);
  delay(1000);
}
void loop()
{
  if (digitalRead(pirPin))
  {
    if (!lastState)
    {
      sendSMS();
      delay(15000);
      callMe();
      lastState = !lastState;
    }
  }
  else
  {
    if (lastState)
    {
      lastState = !lastState;
    }
  }
}

توابع ارسال پیام و برقراری تماس مانند قبل است. پین ٨ را به یک سنسور PIR وصل کنید و آنرا در حلقه setup تعریف کنید:

#include <SoftwareSerial.h>
SoftwareSerial SIM800(2, 3); //SIM800L Tx >> 2 & Rx >> 3
String number = "+98xxxxxxxxxx";
int pirPin = 8;
int lastState = LOW;

در حلقه loop اگر سنسور PIR حرکتی را حس کند، به شماره تلفن همراه شما پیام داده شده و سپس ماژول با شما تماس می‌گیرد:

if (digitalRead(pirPin))
{
  if (!lastState)
  {
    sendSMS();
    delay(15000);
    callMe();
    lastState = !lastState;
  }
}
else
{
  if (lastState)
  {
    lastState = !lastState;
  }
}

تا اینجا به طور مستقیم با ماژول GSM کار کردیم. این کار باعث می‌شود تا درک بهتری از عملکرد ماژول‌ها پیدا کنید. روش دیگری نیز برای کار با این ماژول وجود دارد و آن استفاده از کتابخانه مخصوص SIM800 است. درون این کتابخانه مشابه همان دستوراتی که قبل از این استفاده کرده بودیم وجود دارد. به کار بردن کتابخانه در کد باعث کوتاه شدن کد و سادگی کار با آن می‌شود. خوشبختانه کتابخانه این ماژول به خوبی نوشته شده و کار با آن ساده است. کتابخانه‌های دیگری نیز برای ماژول GSM نوشته شده اما کامل‌ترین و کاربردی‌ترین آنهاSIM800lاست.

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

به عنوان نمونه می‌توانید کد زیر را بر روی آردوینو آپلود کنید که مشابه قبل یک پیام به شماره تلفن همراه شما فرستاده و با شما تماس می‌گیرد:

/*
SanatBazar
Arduino Tutorial Series
Author: Davood Dorostkar
Website: www.sanatbazar.com

*/

#include <Sim800l.h>
Sim800l SIM800;
char *myNumber = "+98xxxxxxxxxx";
char *SMS = "Hello, I am Arduino Uno.\nNice to meet you!";

void setup()
{
  SIM800.begin();
  delay(8000);
  SIM800.sendSms(myNumber, SMS);
  delay(3000);
  SIM800.callNumber(myNumber);
}

void loop()
{
}

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

#include <Sim800l.h>
Sim800l SIM800;
char *myNumber = "+98xxxxxxxxxx";
char *SMS = "Hello, I am Arduino Uno.\nNice to meet you!";

در حلقه setup کافیست که ماژول را راه‌اندازی کرده و دستورهای()sendSmsو()callNumberرا فراخوانی کنید:

SIM800.begin();
delay(8000);
SIM800.sendSms(myNumber, SMS);
delay(3000);
SIM800.callNumber(myNumber);

راه اندازی ماژول GSM با آردوینو

راه اندازی ماژول GSM با آردوینو


نتیجه‌گیری

در این آموزش با ماژول GSM و نحوه کار با آن آشنا شدید. این ماژول به خصوص در مواردی که سایر روشهای ارتباطی مثل وایرلس امکان‌پذیر نیست، یک روش کارآمد و مطمئن است.

در آموزش بعدی نحوه راه‌اندازی ماژول‌های وایرلس را توضیح خواهیم داد.

نظرات شما باعث بهبود محتوای آموزشی ما می‌شود. اگر این آموزش را دوست داشتید، همین‌طور اگر سوالی در مورد آن دارید، از شنیدن نظراتتان خوشحال خواهیم شد.

خواندن 28342 دفعه
داوود درستکار

داوود درستکار دانش‌آموخته کارشناسی مهندسی مکانیک از دانشگاه صنعتی اصفهان و کارشناسی ارشد از دانشگاه تهران است. وی همچنین عضو تیم تحقیقاتی مرکز سیستمها و فناوریهای پیشرفته دانشگاه تهران (CAST) است. داود مسلط به طراحی و تحلیل سیستم‌های دینامیکی، طراحی و ساخت ربات، کنترل سیستم‌های غیرخطی و پیاده‌سازی سیستم‌های هوشمند با استفاده از آردوینو است. مهمترین علاقه او در حوزه رباتیک، پرنده‌های بدون سرنشین، رباتهای توانبخشی و ساخت تجهیزات هوشمندسازی و کنترل می‌باشد.

کاربرانی که در این گفتگو شرکت کرده اند

نظرات (81)

  1. حمیدرضا

سلام،
جریان مصرفی ماژول در مد کم مصرف با دستور AT+CFUN=0 ، بنابر دیتاشیت باید حدود ۱ میلی امپر باشد، اما خیلی بیشتر است، بنظر شما علت چیست؟

 
  1. پشتیبانی    حمیدرضا

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

 
  1. بهزاد جدی

عالی اقا عالی
کلی دستتون درد نکنه

 
  1. محمد امین هدایتی

سلام مهندس جان وقت بخیر
بنده از این ماژول استفاده میکنم وکد های تست ماژول شمارو روی یونو آپلود کردم در سریال مانیتور بعد از روشن شدن آردوینو Initializing...
Initializing... نمایش داده میشه ولی زمانی که بنده دستورAT رو ارسال میکنم هیچ تغییری اتفاق...

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

ادامه مطلب
 

سلام دوست عزیز
برد آردوینو یونو فقط یک جفت پورت سریال دارد و اگر شما بخواهید از ATcommand استفاده کنید بایستی از کتابخانه softwareserial هم بهره ببرید تا بتوانید دو اتصال سریال همزمان داشته باشید. همچنین چک کنید که سرعت baudrate شما 115200 یا...

سلام دوست عزیز
برد آردوینو یونو فقط یک جفت پورت سریال دارد و اگر شما بخواهید از ATcommand استفاده کنید بایستی از کتابخانه softwareserial هم بهره ببرید تا بتوانید دو اتصال سریال همزمان داشته باشید. همچنین چک کنید که سرعت baudrate شما 115200 یا سرعت مناسب برد مورد استفاده باشد. در لینک زیر توضیحات کار با ATcammand آمده است:
https://www.sanatbazar.com/tech/electronic/item/138
https://www.sanatbazar.com/tech/electronic/item/77

ادامه مطلب
 
  1. AMiR

سلام. میشه از باتری گوشی 3.7 ولت و 1 آمپر استفاده کرد و آیا این که اگر از باتری استفاده کنیم هنگام اتصال به کابل برای آپلود ولتاژ کامپیوتر آسیب نمیزنه به ماژول و مناسب هست؟؟

 
  1. پشتیبانی    AMiR

سلام دوست عزیز
ولتاژ کاری 3.7 ولت برای اتصال خوب هست ولی ایت ماژول گاهی جریان 2 آمپر هم میکشد و اگر باتری شما حداکثر 1 آمپر خروجی میدهد باعث میشود که هر از گاهی مجموعه شما خاموش روشن شود که این قضیه میتواند به ماژول آسیب بزند.

 
  1. Mina

سلام ممنون از آموزشتون
هنگام تست سریال مانیتور کلا پر حروف و اعداد و علائم بی معنی میشه ، ماژول سالمه و باودذیت سریالم ۹۶۰۰ ، علت چی میتونه باشه ؟

 
  1. پشتیبانی    Mina

سلام وقت بخیر
توجه داشته باشید که بادریت از سه قسمت باید روی 9600 تنظیم باشد. اول طبیعتا داخل کدنویسی، دوم داخل سریال مانیتور و سوم از داخل device manager ویندوز که با انتخاب پورت متصل شده می تونید بادریت رو تنظیم کنید.
اگر همه این بادریت ها...

سلام وقت بخیر
توجه داشته باشید که بادریت از سه قسمت باید روی 9600 تنظیم باشد. اول طبیعتا داخل کدنویسی، دوم داخل سریال مانیتور و سوم از داخل device manager ویندوز که با انتخاب پورت متصل شده می تونید بادریت رو تنظیم کنید.
اگر همه این بادریت ها تنظیم بود، داخل سریال مانیتور، قسمت پایین کنار بادریت، چهار گزینه مختلف وجود دارد. هر کدام را به طور جدا گانه امتحان کنید به احتمال زیاد مشکل حل خواهد شد.
موفق باشید

ادامه مطلب
 
  1. امیر امیری

با سلام و تشکر
من در جستجوی ماژولی هستم که خروجی مودم تلفنی را به سیگنال جی اس ام تبدیل و ارسال کند. یعنی دستگاهی که به خط تلفن ثابت وصل می شود و با سرور خود ارتباط برقرار میکند اینکار را بدون اعمال تغییری در دستگاه از طذیق شبکه جی اس ام به...

با سلام و تشکر
من در جستجوی ماژولی هستم که خروجی مودم تلفنی را به سیگنال جی اس ام تبدیل و ارسال کند. یعنی دستگاهی که به خط تلفن ثابت وصل می شود و با سرور خود ارتباط برقرار میکند اینکار را بدون اعمال تغییری در دستگاه از طذیق شبکه جی اس ام به سرورش متصل شود. اگر چنین بردی را معرفی کنید ممنون میشم.

ادامه مطلب
 
  1. پشتیبانی    امیر امیری

سلام دوست عزیز

مودم هایی وجود دارد تحت عنوان GSM mobile network که میتوانید تلفن ثابت را به آن متصل کرده و با سیگنال GSM کار کنید. متاسفانه ارائه ی این نوع مودم ها از محدوده کاری شرکت خارج هست.

 
  1. وحید

ممنون از آموزشتون
من میخام کد اولی که واسه تست هست رو میزنم
ولی وقتی آپلود میکنم این خطا هارو میده
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
...

ممنون از آموزشتون
من میخام کد اولی که واسه تست هست رو میزنم
ولی وقتی آپلود میکنم این خطا هارو میده
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM6
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\ARTANT~1\AppData\Local\Temp\arduino_build_630836/sketch_may13a.ino.hex"
avrdude: writing flash (3622 bytes):

Writing | ################################################## | 100% 0.57s

avrdude: 3622 bytes of flash written
avrdude: verifying flash memory against C:\Users\ARTANT~1\AppData\Local\Temp\arduino_build_630836/sketch_may13a.ino.hex:
avrdude: load data flash data from input file C:\Users\ARTANT~1\AppData\Local\Temp\arduino_build_630836/sketch_may13a.ino.hex:
avrdude: input file C:\Users\ARTANT~1\AppData\Local\Temp\arduino_build_630836/sketch_may13a.ino.hex contains 3622 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.44s

avrdude: verifying ...
avrdude: 3622 bytes of flash verified

avrdude done. Thank you.

ادامه مطلب
 
  1. پشتیبان    وحید

سلام دوست عزیز
اینجا پیغام می ده که با موفقیت انجام شده. مشکلی نیست.
موفق باشید

 
  1. دیار

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

 
  1. پشتیبانی    دیار

سلام دیار عزیز
ماژول GSM یک ماژول ارتباطی است که میتواند با استفاده از SMS یا تماس تلفنی دستوراتی از پیش تعریف شده را اجرا کند ولی برای برقراری ارتباط تصویری به یک پروتوکول ارتباطی پیوسته از طریق شبکه یا ارتباط بی سیم نیاز هست که از محدوده کاری...

سلام دیار عزیز
ماژول GSM یک ماژول ارتباطی است که میتواند با استفاده از SMS یا تماس تلفنی دستوراتی از پیش تعریف شده را اجرا کند ولی برای برقراری ارتباط تصویری به یک پروتوکول ارتباطی پیوسته از طریق شبکه یا ارتباط بی سیم نیاز هست که از محدوده کاری این ماژول و این پروژه خارج است.

ادامه مطلب
 
  1. حمید

سلام ، ممنون از مطالب مفیدتون ، یه سوال داشتم ، نمیشه به جای منبع تغذیه متغیر یا باطری ، از یه شارژر ۵ ولت دو یا سه امپر استفاده کرد؟ برای کاهش سطح ولتاژ هم دوتا دیود بزاریم سر راهش که حدود ۱.۴ ولت ازش کم بشه؟

 
  1. پشتیبانی    حمید

سلام حمید عزیز
می تونید از یک آداپتور 5 ولت 2 الی 3 آمپر استفاده کرده و سپس به روشی ولتاژ آن را کاهش دهید. توصیه می شود که این کار را با استفاده از یک پتانسیومتر انجام داده تا بتوانید دقیقا روی ولتاژ دلخواه تنظیم کنید
موفق باشید

 
  1. محمد

سلام. خسته نباشید

موقعی که از تابع getsms() استفاده میکنم این خروجی رو بهم میده و کاراکترها قابل خوندن نیستن
Initializing ...
Switching to SMS read mode
AT+CNMI=2,2,0,0,0

OK
⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
+CMT:...

سلام. خسته نباشید

موقعی که از تابع getsms() استفاده میکنم این خروجی رو بهم میده و کاراکترها قابل خوندن نیستن
Initializing ...
Switching to SMS read mode
AT+CNMI=2,2,0,0,0

OK
⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
+CMT: "+989129359869","","21/04/22,17:53:1118"
!⸮5
⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮

چطوری این مشکل رو حل کنم؟
ممنون

ادامه مطلب
 
هیچ نظری در اینجا وجود ندارد
بارگذاری بیشتر ...

نظر خود را اضافه کنید.

ارسال نظر بعنوان یک مهمان
پیوست ها (0 / 3)
مکان خود را به اشتراک بگذارید

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

ما را دنبال کنید:

Copyright © 2017-2018 | Sanatbazar.com