نمایش نتایج: از 1 به 10 از 47
Like Tree12 لایک

موضوع: ماژول جی پی اس Ublox NEO-6M

Hybrid View

  1. #1
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط hosein47 نمایش پست ها
    سلام دوستان عزیز

    من چون فقط اطلاعات ساعت رو نیاز دارم فیلد 1 به برنامه اضافه کردم #include <SoftwareSerial.h>

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

    char sentence[sentenceSize];

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

    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)
    {
    //$GPRMC,002454,A,3553.5295,N,13938.6570,E,

    Serial.print("Time is: ");
    getField(field, 1); // Time

    Serial.println(field);


    /* 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';
    }


    دقیقا کدها مثل کد های بالایی است حال من میخوام اطلاعات ساعت دریافتی رو به وقت تهران دریافت کنم یعنی اطلاعات ساعت رو با +3:30 دقیقه جمع کنم لطفا راهنمایی کنید
    ممنونم
    شما متغیر field رو از نوع آرایه کاراکتری تعریف کردید اگر بخواید بهش یه عدد اضافه کنید اول باید داده رو تغییر متغیر بدید . ساعتش رو جدا کنید
    دقیقه رو هم جدا کنید و به صورت جداگانه به هر کدومش مقدار 3 و 30 رو اضافه کنید.
    لایک کردن

  2. #2
    Junior Member
    تاریخ عضویت
    May 2016
    نوشته ها
    6
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    شما متغیر field رو از نوع آرایه کاراکتری تعریف کردید اگر بخواید بهش یه عدد اضافه کنید اول باید داده رو تغییر متغیر بدید . ساعتش رو جدا کنید
    دقیقه رو هم جدا کنید و به صورت جداگانه به هر کدومش مقدار 3 و 30 رو اضافه کنید.
    سلام
    ممنون از پاسخ شما بله قاعدتا باید روال کار همین باشد که شما فرمودید لطفا اگه امکانش هست در این زمینه کمک کنید چون من خیلی وارد نیستم
    ممنونم

  3. #3
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    شما متغیر field رو از نوع آرایه کاراکتری تعریف کردید اگر بخواید بهش یه عدد اضافه کنید اول باید داده رو تغییر متغیر بدید . ساعتش رو جدا کنید
    دقیقه رو هم جدا کنید و به صورت جداگانه به هر کدومش مقدار 3 و 30 رو اضافه کنید.
    این تاپیک convert a char array of numbers into an integer دقیقا داستانش اینه که میخواد از یه آرایه کاراکتری که ترکیبی از حرف و عدده مقدار عددش رو بکشه بیرون
    میتونید از این ایده بگیرید.

کلمات کلیدی این موضوع

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

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

SEO by vBSEO