محل تبلیغات شما

حالت های کاری ماژول Sim800L


برای ارسال و دریافت پیامک در ماژول Sim800L دو حالت کاری مشخص شده است که عبارتند از حالت Text و حالت PDU) PDU مخفف Protocol Data Unit می باشد). برای تعیین حالت کاری ماژول از دستور (AT+CMGF=(0 or 1 استفاده می شود. اگر برابر یک قرار بگیرد ماژول در حالت Text عمل میکند و اگر برابر با صفر قرار بگیرد ماژول در حالت PDU عمل خواهد کرد. در مدل های قدیمی ماژول های GSM برای ارسال پیامک فارسی باید ماژول در حالت PDU راه اندازی می شد. اما سری جدید ماژول هی شرکت SIMCOM مانند ماژول Sim800L این قابلیت را دارند که پیام های یونیکد یا UCS2 را بدون رمز گذاری PUD ارسال کنند و برای ارسال پیامک فارسی فقط کافی است Unicode ها را به رشته HEX تبدیل  کرده و سپس ارسال نمایید.

برای ترجمه ی متن مورد نظر خود به Unicode  می توانید از جدول زیر استفاده نموده و یا از برنامه موجود در لینک استفاده کنید.

farsi-unicode

 

اتصالات مدار

  • پایه ۷ میکروکنترلر به قطب مثبت ولتاژ ۵ ولت.
  • پایه ۸ میکروکنترلر به قطب منفی ولتاژ ۵ ولت.
  • پایه ۱۴ میکروکنترلر با استفاده از یک مقاومت به قطب مثبت و همچنین همانند تصویر به کلید متصل می شود.
  • پایه شماره ۲ میکروکنترلر به پایه TX ماژول.
  • پایه شماره ۳ میکروکنترلر به پایه RX ماژول.
  •  پایه VCC ماژول به قطب مثبت و همچنین پایه GND به قطب منفی متصل میشود.

اتصالات ماژول Sim800l ارسال پیامک فارسی - دیجی اسپارک

پیشنهاد می شود برای تامین ولتاژ میکروکنترلر و ماژول Sim800L  از ماژول مبدل تغذیه LM2596 استفاده نمایید. توجه داشته باشید که قبل از متصل کردن ولتاژ خروجی تغذیه به مدار آن را روی ۵ ولت تنظیم کنید.

لوازم مورد نیاز

  1. میکروکنترلر ATmega8
  2. ماژول GSM Sim800L
  3. ماژول مبدل تغذیه LM2596
  4. مقاومت ۱۰ کیلو اهم
  5. کلید فشاری Push Button

 


کد AVR در CodeVision


جهت اجرای کدها باید در نرم افزار کدویژن، کدها را آماده کرده و سپس پروگرام کنید. چنانچه این روش را نمی‌دانید به آموزش نحوه ی ساخت پروژه جدید و پروگرام کردن میکروکنترلر مراجعه کنید. پس از ساخت پروژه‌ی جدید در نرم افزار کدویژن CodeVision کدهای زیر را داخل آن کپی کنید. سپس تراشه میکروکنترلر Atmega8 را پروگرام کنید.

 

#include #include #include #define key PINB.0 const char enter=13,ctrlz=26,double_quote=34; char send[128]; void main(void) { DDRB=0x00; PORTB=0x01; UCSRA=(0<

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

#include

#include

#include

 

#define key PINB.0

 

const char enter=13,ctrlz=26,double_quote=34;

char send[128];

 

void main(void)

  {

  DDRB=0x00;

  PORTB=0x01;

  UCSRA=(0<

  UCSRB=(0<

  UCSRC=(1<

  UBRRH=0x00;

  UBRRL=0x33;

  delay_ms(12000);

  while (1)

    {

    if(key==0)

      {

      sprintf(send,"AT+CMGF=1%c",enter);

      puts(send);

      delay_ms(500);

      sprintf(send,"AT+CSCS=%cHEX%c%c",double_quote,double_quote,enter);

      puts(send);

      delay_ms(500);

      sprintf(send,"AT+CSMP=49,167,0,8%c",enter);

      puts(send);

      delay_ms(500);

      // در دستور زیر بجای ستاره ها شماره موبایل مورد نظر خود را وارد نمایید.

      sprintf(send,"AT+CMGS=%c09*********%c%c",double_quote,double_quote,enter);

      puts(send);

      delay_ms(1000);

      // پیام مورد نظر ترجمه شده به مقدار HEX.

      puts("0633064406270645060C00200627064A06460020067E064A06270645002006270632002006450627069806480644002000530069006D00380030003000200627063106330627064400200634062F0647002006270633062A002E000D062F064A062C064A002006270633067E062706310643");

      delay_ms(5);

      putchar(ctrlz);

      while(key==0);

      }

    }

  }

 


ارسال پیامک فارسی ماژول Sim800L


کتابخانه ها:

در ابتدا کتابخانه های مورد نیاز را به برنامه اضافه می کنیم.این کتابخانه ها عبارتند از:

mega8.h : برای دسترسی به رجیستر های میکروکنترلر Atmega8 باید این کتابخانه را به برنامه اضافه نمایید.

delay.h : این کتابخانه برای استفاده از تاخیر ها است که دو تابع ()delay_ms و ()delay_us داخل این کتابخانه قرار دارد.

stdio.h : تابع sprintf در این کتابخانه موجود است و برای پیکربندی رشته‌ها مورد استفاده قرار می‌گیرد.

در ادامه پایه شماره ۱۴ میکروکنترلر را با نام key معرفی شده است. سپس کد اسکی کاراکتر های enter ، ” و ctrl+z را با نام های مناسب تعریف شده. رشته ای با نام send برای ارسال دستورات از درگاه USART به ماژول Sim800L تعریف شده است.

 

تابع main

در تابع اصلی برنامه (main) ابتدا پایه شماره ۱۴ میکروکنترلر بعنوان ورودی معرفی شده است و درگاه USART میکرو فقط به صورت فرستنده فعال شده است. یک تاخیر ۱۲ ثانیه (برای مدت زمانی که نیاز است تا ماژول Sim800L وارد شبکه شود) بکار رفته است. سپس در حلقه بینهایت شرطی قرار داده شده که در زمان وصل بودن کلید متصل به پایه ۱۴ میکروکنترلر ، پیامک ارسال شود.

 

تنظیمات ماژول Sim800L

داخل شرط ابتدا با استفاده از دستور AT+CMGF=1 ماژول Sim800L را در حالت Text قرار داده و سپس با استفاده از دستور AT+CSCS=”HEX نوع داده های ارسالی را به صورت HEX تعریف می کنیم. در ادامه با استفاده از دستور AT+CSMP=49,167,0,8 مقدار DCS صحیح (Schedule Data Coding) را برای پیام های Unicode مشخص می کنیم که مقدار ۰x08 می باشد. می توان این مقدار را با تغییر پارامتر چهارم دستور AT+CSMP به ‘۸’ تنظیم کنیم. با استفاده از دستور *********AT+CMGS=09 شماره ای که باید پیام برای آن ارسال شود را مشخص کرده و  با استفاده از دستور ()puts پیام تبدیل شده به مقدار HEX را به ماژول ارسال می کنیم و پس از آن برای ارسال شدن پیام، کد اسکی ۲۶ که معادل ctrl+z است را ارسال میکنیم. دستور (while(key==0 به این منظور نوشته شده است، که اگر کلید به صورت مداوم وصل باشد فقط یک بار دستورات داخل شرط اجرا شود و چند پیام متوالی ارسال نشود. توجه داشته باشید درهنگام پروگرام کردن کد روی میکروکنترلر AVR، فیوزبیت‌ها بر روی ۸ مگاهرتز تنظیم شود.

 

عملکرد مدار

نحوه عملکرد مدار به این صورت است که پس از وصل کردن ولتاژ مدار و وارد شدن ماژول Sim800L به شبکه، با هر بار فشردن کلید پیامک برای شماره تعریف شده داخل برنامه ارسال می شود.

 

منبع مطلب سایت

آموزش و پروژه اتصال به اینترنت از طریق GPRS از طریق ماژول SIM800C

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

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

ماژول ,حالت ,پایه ,میکروکنترلر ,قطب ,استفاده ,به قطب ,میکروکنترلر به ,در حالت ,ماژول در ,قطب مثبت ,ارسال پیامک فارسی ,برای ارسال پیامک ,قرار بگیرد ماژول

مشخصات

تبلیغات

محل تبلیغات شما

آخرین ارسال ها

برترین جستجو ها

آخرین جستجو ها

شهید قاسم سلیمانی