نمایش نتایج: از 1 به 2 از 2

موضوع: اردینو

  1. #1
    Member
    تاریخ عضویت
    May 2016
    نوشته ها
    94

    اردینو

    برای این که جی اس ام ( sim900a) اطلاعات جی پی اس ( lat , long ) را به موبایل ارسال کند در کد زیر چه تغییراتی باید انجام داد ؟


    کد :


    #include <SoftwareSerial.h>

    SoftwareSerial gpsSerial(10, 11); // RX, TX (TX not used)
    const int sentenceSize = 80;

    char sentence[sentenceSize];

    void setup()
    {
    Serial.begin(9600);
    gpsSerial.begin(9600);
    delay(5000);
    }

    void loop()
    {
    static int i = 0;
    if (gpsSerial.available())
    {
    char ch = gpsSerial.read();
    if (ch != '\n' && i < sentenceSize)
    {
    sentence[i] = ch;
    i++;
    }
    else
    {
    sentence[i] = '\0';
    i = 0;
    displayGPS();
    }
    }
    }

    void displayGPS()
    {
    char field[20];
    getField(field, 0);
    if (strcmp(field, "$GPRMC") == 0)
    {
    Serial.print("Lat: ");
    getField(field, 3); // number
    Serial.print(field);
    getField(field, 4); // N/S
    Serial.print(field);

    Serial.print(" Long: ");
    getField(field, 5); // number
    Serial.print(field);
    getField(field, 6); // E/W
    Serial.println(field);
    }
    }

    void getField(char* buffer, int index)
    {
    int sentencePos = 0;
    int fieldPos = 0;
    int commaCount = 0;
    while (sentencePos < sentenceSize)
    {
    if (sentence[sentencePos] == ',')
    {
    commaCount ++;
    sentencePos ++;
    }
    if (commaCount == index)
    {
    buffer[fieldPos] = sentence[sentencePos];
    fieldPos ++;
    }
    sentencePos ++;
    }
    buffer[fieldPos] = '\0';

    Serial.println("AT");
    delay(1000);
    Serial.println("AT+CMGF=1");
    delay(1000);
    Serial.println("AT+CMGS=\"09356256637\""); //CHANGE TO DESTINATION NUMBER
    delay(1000);
    Serial.print( " hi" );
    Serial.write(26);
    delay(1000);
    }

    کد جی اس ام و جی پی اس .....................


    لطفا لطفا تطفا >>>>>>

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,027
    چی پی اس و سیم هر دو از ارتباط سریال استفاده می کنن
    بنابراین بهتره با دوتا softwarserial کار کنید
    این نکته اولش

    نکته دوم این که شما یه تابع بنویسید که بهون مقدار gps رو بده و ک تابع دیگه برای اسال sms بنویسید جداگانه

    . هر دوی این توابع باید به تنهایی کار کنن
    بعد بیاید بهتون بگم با اون دو تابع چیکار کنید.

    این کدی که گذاشتید زیاد جالب نیست.

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO