Работа с GPS модулем по USB.
- Войдите на сайт для отправки комментариев
Всем добрый день. У меня имеется GPS модуль с выходом USB B-типа на базе TIM-4H с RS232->USB преобразователем CP2102 и Arduino UNO (+экран для вывода).
Теперь собсвтенно вопрос: Возможно ли управлять (считывать) сигнал с USB GPS модуля в USB Arduino? Как бы оба устройства предназначены для работы "с хостами". При подключении GPS к компьютеру, каждую секунду в последовательный порт приходят сообщения с координатами на скорости 9600. Так же, если подключить джампер Tx1 (на фото стрелка) к последовательному входу Arduino, удается считывать значения на той же скорости 9600.
НО, при подключении USB->USB ничего не удается считать, не могу разобраться в чем причина. Питание на USB подаю, т.к. понял, что при питании Arduino от внешнего источника, на входе USB напряжение отсутствует. Соответственно и к GPS модулю тоже питание идет - контролирую его работу, считывая с Tx1 в Rx на Arduino.
Также есть небольшая отдельная микросхемка USB->RS232 на точно таком же CP2102. При ее подключении вместо USB Arduino и считывании в Rx тоже ничего не происходит...
Подскажите куда копать...
Надо взять для ардуины шилд юсб хост, так как сама ардуино не является хостом. Если конечно у вас не мегаАДК последняя со встроеным хостом
А что за модуль гпс, где брали?
Даже представления не имею, что за модуль GPS. Есть только документация к его TIM-4H.
Скажем так, возможности купить шилд USB хоста нету, нужно реализовать это програмно. Либо просто убедиться, что это невозможно и забыть :) По сути там надо просто считать данные... управлять не надо, GPS сам посылает значения в порт. (Если только я не ошибаюсь... в ближайшее время доберусь до осцилографа, чтобы убедиться в этом)
Просто я не знаю в какую сторону копать...
Причина в том CP2102 это SLAVE девайс. И ардуина - тоже. Как на них питание не подавай ардуина Master не станет.
Вообщем USB<->USB теоретически возможно, но ОЧЕНЬ теоретически (без покупки USB шилд-а).
Его возможно можно попробовать эмулировать програмно (смотреть в сторону V-USB библиотеки), но не факт что у ардуины хватит тогда сил на что-то еще кроме самого USB. Так же встанет вопрос "написать драйвер serial-порта...."
Так же, в теории, можно попробовать использовать "железную" реализацию. На ардуино UNO, вместо FT232 для связи с компом используется АTMega8U2, у которой есть железная реализация USB. Теоретически ее можно перепрограммировать.... но пока похоже никто это не осилил...
Вообщем если задача связать ардуину конкретно с этом модулем намного реальней про USB просто забыть и связывать их через найденные вами RX, TX. Вы же вроде смогли получать данные в ардуину из модуля? Или "без компа" он ничего не хочет передавать ардуине?
Я правильно понимаю, что любой slave девайс можно в теории подцепить к Arduino Mega ADK?
В теории - да. Подцепить-то вы подцепите, но ведь тут как и с большим компом. "Железо поддерживает", но нужные еще драйвера которые знают как управлять этим устройством. Если это что-то стандартное типа "мышь- клавиатура", то скорее всего получится найти что-то готовое, а вот если это "слон с пропеллером", то откуда производителю было знать что вы подключите ТАКОЕ и что с ним нужно/можно делать?