Подскажите пожалуйста по GPS

Тема в разделе "Проводная и беспроводная связь", создана пользователем AlexAxel, 1 июн 2018.

  1. AlexAxel

    AlexAxel Нерд

    Имеется модуль GPS NEO 6M, пытаюсь подключить. Скетч из примера библиотеки TinyGPS
    Код (C++):
    #include <SoftwareSerial.h>
    #include <TinyGPS.h>
    TinyGPS gps;
    SoftwareSerial ss(4, 3);
    void setup()
    {  Serial.begin(9600);
      ss.begin(9600);   }

    void loop()
    {  bool newData = false;
      unsigned long chars;
      unsigned short sentences, failed;
      for (unsigned long start = millis(); millis() - start < 1000;)
      {    while (ss.available())
        {      char c = ss.read();
          if (gps.encode(c)) // Did a new valid sentence come in?
            newData = true;    }
      }

      if (newData)
      {
        float flat, flon;
        unsigned long age;
        gps.f_get_position(&flat, &flon, &age);
        Serial.print("LAT=");
        Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
        Serial.print(" LON=");
        Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
        Serial.print(" SAT=");
        Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
        Serial.print(" PREC=");
        Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
      }
      gps.stats(&chars, &sentences, &failed);
      Serial.print(" CHARS=");
      Serial.print(chars);
      Serial.print(" SENTENCES=");
      Serial.print(sentences);
      Serial.print(" CSUM ERR=");
      Serial.println(failed);
      if (chars == 0)
        Serial.println("** No characters received from GPS: check wiring **");
    }
    Подключение:

    ARDUINO GPS
    5V------------>VCC
    GND--------->GND
    D4------------>RX
    D3------------>TX

    По результату не видит данных от GPS. Что делать и как бороться? Штука вроде примитивная по подключению, все просто должно быть...
     
  2. ostrov

    ostrov Гуру

    Просто подключите питание и TX модуля в пин 1 ардуины, запустите монитор порта и смотрите что происходит. Возможно, придется подобрать скорость. Для вычисления координат и времени из приходящих данных потребуется всего лишь парсить эти строчки.
     
  3. AlexAxel

    AlexAxel Нерд

    Я так понимаю, достаточно пустого скетча, чтобы смотреть содержимое порта? Ну, кроме Serial.begin? Или я что-то не так понимаю?:)
     
  4. ostrov

    ostrov Гуру

    Пустой скетч. Ардуино для просмотра нужна как источник питания и адаптер для USB.
     
  5. AlexAxel

    AlexAxel Нерд

    Не, ничего нет. Специально на ночь оставлял на балконе, думал - время нужно чтобы спутники прогрузились. Но нет.
     
  6. ostrov

    ostrov Гуру

    Инфо идет сразу даже без спутников, просто не сразу координаты и время выскакивает. Я вот не поленился собрал еще раз и у меня сразу пошло такое:
    [​IMG]
    Проверьте соединения. TX ---> D1 Скетч пустой. Скорость монитора 9600.
     
  7. sslobodyan

    sslobodyan Гик

    У ублоксов есть настройка какой протокол в какой порт слать. То есть можно так "настроить" модуль, что он не будет выдавать никаких данных. Настраивать в u-center.