TroykaGPS Выходит Ошибка. Помогите исправить плз.

Тема в разделе "Arduino & Shields", создана пользователем k0de, 22 окт 2017.

  1. k0de

    k0de Нерд

    Взял модуль TroykaGPS. Хотел залить пример с вики амперки, но во время проверки выдает ошибку:

    Код (C++):
    gpsTest:5: error: 'Serial1' was not declared in this scope
    GPS gps(Serial1);
             ^
    ...TroykaGPS-master\TroykaGPS-master\examples\gpsTest\gpsTest.ino: In function 'void setup()':
    gpsTest:27: error: 'Serial1' was not declared in this scope
       Serial1.begin(115200);
       ^
    exit status 1
    'Serial1' was not declared in this scope
    Жалуется на строчку кода здесь:
    Код (C++):
    // создаём объект класса GPS и передаём в него объект Serial1
    GPS gps(Serial1);
    Что это может быть? Как исправить?
     
  2. brokly

    brokly Гик

    Очень просто исправить, выбрать плату ардуино МЕГА, а не то что у вас установлено.
     
    Последнее редактирование: 23 окт 2017
  3. k0de

    k0de Нерд

    Изменил. Та ошибка вроде ушла, но теперь другая:
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programmer
    Произошла ошибка при загрузке скетча
     
  4. Arduino_man

    Arduino_man Гик

    Плата не коннектится, т.е. не отвечает. Переподключите или возьмите другой кабель
     
  5. Arduino_man

    Arduino_man Гик

    Может быть и Leonardo!
     
  6. brokly

    brokly Гик

    Почитайте что нибудь для начинающих про ардуино IDE, у вас не правильно установлен программатор
     
  7. brokly

    brokly Гик

    Может, но тогда бы в тексте скетча не было бы второго сериала, точнее нулевого, ТС же дал ссылку.
     
  8. Arduino_man

    Arduino_man Гик

    У меня такое было и прошло!
     
  9. Arduino_man

    Arduino_man Гик

    Нулевой сериал - по usb для общения с компом, Serial1 - для общения с датчиком через порты 0 и 1. Простой сериал - не через порты, а через штатный usb. И в уроке, на который тс дал ссылку, используется Iskra Neo - аналог Arduino Leonardo.
     
  10. brokly

    brokly Гик

    Да да, может быть и леонардо.
     
  11. k0de

    k0de Нерд

    Если выбираю МЕГА, то ошибка такая:
    Код (C++):
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programmer
    Произошла ошибка при загрузке скетча
    А если выбираю Leonardo, то такая:

    Код (C++):
    Found programmer: Id = ""; type = а
        Software Version =
    У меня используется Arduino Uno, Troyka Shild и GPS Troyka Модуль.
    Тесты:
    1. Заливаю тестовый скетч (мигание диода) на Arduino Uno, без насаженной на него Troyka Shild - всё хорошо.
    2. Заливаю тестовый скетч (мигание диода) на Arduino Uno, c насаженной на него Troyka Shild - всё хорошо.
    3. Заливаю тестовый скетч (мигание диода) на Arduino Uno, c насаженной на него Troyka Shild , с насаженной на Troyka Shild модулем GPS Troyka- выскакивает ошибка.
    Код (C++):
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x17
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x17
    Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload .
     
  12. brokly

    brokly Гик

    Этот пример на уно работать не будет, у уно только один последовательный порт, вы же пытаетесь одним портом читать данные с GPS модуля, а другим выводить в терминал, для наблюдения.

    Я бы предложил бы вам воспользоваться библиотекой SoftwareSerial, но это потребует чтение мануалов и примеров уже к библиотеке.
     
  13. issaom

    issaom Гуру

    Прекрасно там все будет работать на UNO/NANO Serial1 - меняем на Serial - заливаем скетч - потом подключаем GPS тройка модуль (Арудуино Rx - GPS модуль Tx) - только один провод на передачу данных от GPS модуля в Ардуино (нам же в сам модуль ничего писать не нужно) модуль передает данные в Ардуино а Ардуино транслирует их в ПК
     
    k0de нравится это.
  14. brokly

    brokly Гик

    Я написал "'этот" пример, То что предлагаете вы, уже не этот пример. Работать будет, но не прекрасно, потому как командовать GPS модулем уже не получится. Этот финт ушами имеет смысл "на просто посмотреть" :)
     
  15. issaom

    issaom Гуру

    Дак ТС вроде как и хотел пример с вики-амперки залить чисто на посмотреть - на посмотреть более чем достаточно и Уно ))) понятно что если управлять модулем желателен хардварный сериал (ещё бы где нибудь найти управляющие команды) - смотря что собирать из него планируется - может тс хочет часики или gps трекер запилить - для этого управлять модулем не нужно )))
     
  16. brokly

    brokly Гик

    Ну вам виднее, только вот мне кажется , что он запутается теперь еще больше ;)
     
  17. issaom

    issaom Гуру

    Патомучто у вас и gps модуль и usb разьем через который вы заливаете скетч используют один и тот же аппаратный сериал который на uno всего один. Если нету платы с несколькими аппаратными сериалами никаких девайсов на входах rx tx в момент заливки скетчей на uno быть подключено не должно (это не только к этому модулю относится но и ко всем другим работающим по uart)
     
  18. k0de

    k0de Нерд

    Да. Такой вариант прокатил.
    Правда спутников пока не видит. Но это позже.
    У меня есть плата Ardiuono Mega, Troyka Shield и Troyka Mega Tail Shield.
    Если я эти модули насажу на Mega, то получиться? У Mega по описанию 4 аппаратных serial-портов. Это так?
    Значит я смогу по одному заливать скетч, а по другому работать с GPS Troyka модулем?
     
  19. brokly

    brokly Гик

    Конечно с мегой будет работать. Шилд на Serial1, а с Serial1 (USB) читаем репорты, заливаем скетчи.
     
  20. issaom

    issaom Гуру

    Я так понимаю что из амперковских железок собрать такой бутерброд не получится - он нахлабучивается на плату UNO а у Меги аппаратные UART находятся ниже - и на Troyka Shield нет соответствующих штырьков для подключения
    DSC_0577.JPG