В процессе работы над системой ориентирования сошлись с группой на использовании Arduino Mega 2560 и модуля GPS Тройки (https://amperka.ru/product/troyka-gps-glonass-extended-receiver). Закупили всё, и в итоге сидим уже какой день в недоумении, что не так. Пробовали разнообразные примеры, и лучший результат, который получили - минус единицы с редкими нулями в мониторе порта вместо протоколов NMEA. Светодиоды на модуле мигают, говоря, что от и видит спутник, и нашёл себя, и даже иногда при запуске программы что-то принимает от платы. Но ничего не возвращает в ответ. Подключаем его напрямую к плате, как и в примере на вики в пины RX и TX Меги (http://wiki.amperka.ru/products:troyka-gps-glonass-extended-receiver-v2#светодиодная_индикация). Продолжив тестировать разнообразные примеры, использующие как TroykaGPS, так и MiniGPS, поняли, что датчик не отвечает при попытке проверить доступность gps в Serial1, выделенном ему. Возможно я идиот и пропускаю что-то очевидное. Но ни один ресурс, на который я находил в интернете не говорит о подобной проблеме. Надеюсь, у кого-нибудь здесь есть опыт решения подобной ошибки.
Через Serial1, дабы я вывожу данные по USB. А также при подключении через 0 и 1 он перестаёт минуть о том, что нашёл спутники.
Через USB куда? Если данные нужны плате - то схема первая, через Serial1 А если данные для программы на ПК, то по второй
Данные нужны будут плате, но, сейчас - логично, что на компьютер. Лишь бы только заставить датчик работать. Дабы пока что из него никаких данных не получилось извлечь.
Для компа схема вторая, с замкнутым Reset на GND, и данными от модуля на Serial Для программы данные от модуля на любой другой Serial, хоть программный, хоть аппаратный - лишь бы не мешать прошивке контроллера
Ничего не происходит, дабы он пытается вывести информацию в USB, а в Serial подключен датчик. В самой статье, которую я скидывал сказано, что так не будет работать.
Фраза «чтобы он пытается» мне не понятна... Если вам нужно получить данные из программы на ПК, которая работает с модулем, т.е. использует Arduino как USB-TTL, то нужна вторая схема. Если данные получает код на Arduino - то используются другие Serial
Давайте я упрощу свой вопрос. Мне нужно запустить пример "HardwareSerial Mega", представленный в статье, который выводит данные с датчика в монитор порта, просто чтобы убедиться, что он работает, как нужно. При запуске он пишет, что инициализировал порт и молчит после этого, застряв в void loop и проходя мимо if (gps.avaliable()), дабы gps не avaliable.
Тогда почему речь была про какую-то программу на ПК? Возможно, просто нет сигнала от спутников. Попробуйте антенну ближе к окну разместить. Не поможет - звоните в поддержку - может что-то не так с модулем, разберутся
Проблема определённо не в антенне, дабы во-первых светодиод "модуль нашёл себя" мигает и во-вторых он бы сказал, если не нашёл спутников. Хорошо, наверное, подожду до понедельника, когда заработает техподдержка и позвоню им.
Я конечно извиняюсь, но если оба раза подключались как на схемах, то есть нехилый шанс спалить порт на ГПСе.... там приемник с передатчиком попутаны местами. А точнее на схеме с Serial. Если в передатчик на датчике 5v зарядить он выдержит?
Что значит «приемник с передатчиком перепутаны местами»? А чтобы узнать, какое питание нужно модулю, нужно читать документацию на него
Это значит что на Serial схеме RX->RX и TX->TX, а надо немного не так. Докучи при подаче импульсов в низкоомный выход нехилый шанс его спалить. А на схеме с Serial1 все правильно. . Это я к тому, что неопытный товарищ мог и "правильно" подключить... не все понимают, что в данном случае ТХ/RX Меги2560 - это RX/TX другой микросхемы.
А вы в курсе что на выходах UART +5V всегда висит, а эти самые импульсы формируются подтяжкой ножки к земле? Путал выводы 100500 раз при прототипировании - дуни всегда живы оставались ;-)
А где я писал про дуню? оО ... Я ж написал "на ГПСе". Я не смотрел как там организован выход. Вижу, что через какойто преобразователь, но в схему не залезал.