Всем привет! Сейчас активно изучаю Ардуино, все нравится, но также интересен вариант, когда внешние устройства - реле, драйверы моторов, сенсоры подключались бы напрямую к компьютеру, через USB. Поясню подробнее - Ардуино это МК с обвязкой, стоит ~$10. Но также на рынке электроники есть так называемые "медиаплееры", маленькие микрокомпьютеры размером с большую флешку, которые гораздо мощнее Ардуино или других МК. Пришел с Китая вот такой красавец: По характеристикам: 1ГГц частота\1ГБ ОЗУ\видео Mali400\802.11 b\g\n, ОС Android 4 или Ubuntu 10. Такой микрокомпьютер я бы хотел поставить в робота, ведь, согласитесь, компьютер с полноценной ОС Android\Ubuntu может предоставить гораздо больше возможностей для робота. Но есть и "подводный камень" в таком решении с микрокомпьютером - это отсутствие цифровых или аналоговых входов-выходов, как на Ардуино или других МК - для сенсоров, реле, моторов или других модулей. Вот и возник вопрос - существуют ли на сегодняшний день какие-нибудь решения, вроде "платы расширения с USB-входом" или "шины на 64 пина входов-выходов" для подключения внешнего электронного "обвеса"? Конечно, можно применить для этого Ардуино, где она будет выступать как раз такой "платой расширения", но ведь компьютер может и сам обрабатывать цифровые\аналоговые сигналы, поступающие на его USB-порты, без использования еще одного МК. Да и быстрее это получится, чем если сначала Ардуино будет обрабатывать данные, потом через виртуальный COM-порт или HID передавать их на компьютер последовательно, плюс, у Ардуино ОЗУ 2 или 8 килобайт (против 1 гига у микрокомпьютера) и 8 или 12 бит против 32 битов микрокомпьютера (камень Cortex A10). Конечно, часто Ардуино хватает для решаемых задач, но все-таки разница в конфиге очень большая, согласитесь. Пожалуйста подскажите, как решают задачу подключения DIY-устройств, различных модулей, реле, драйверов, сенсоров через USB? Я поискал в китайских шопах такие устройства, но то ли неправильно формулирую название ("usb extension board"), то ли не в том направлении делаю поиск такого устройства. Заранее спасибо!
Не может. По шине USB могут общаться только USB-устройства. В любом случае придется ставить на другом конце какой-то контроллер и придумывать какой-то протокол.
Помнится мне, FT232 умеет работать с некоторыми своими пинами как с I/O А вообще так и решают - ставят контроллер, который умеет USB
Megakoteyka, sanek1337, acos, друзья, большое спасибо за ответы в теме! Если я правильно понял, пошерстив поиск, то такие устройства так и называются - "платы расширения" (extension board, expansion board). И еще новые незнакомые слова, которые сейчас буду гуглить: GPIO, IIC, I2C. Сделайте скидку на то, что я, к сожалению, дилетант в этой теме, простой кодер, "чистый софтверник", с железом никогда не работавший. Из всех знаний - только еще со школы сохранившиеся в памяти "как собрать детекторный приемник на диоде Д9" Такой вопрос - подскажите, а если взять переходник USB-to-LPT и на нем сделать входы-выходы? Ведь раньше применяли LPT, вроде он до 256 пинов может поддерживать? Спасибо!
Если мне не изменяет память, то на плате вашего девайса есть UART, на старых моделях точно был. Вот к нему можно (припаять разьем) прицепить Ардуино и рулить всем, чем хочется. Глючные эти "свистки" поигравшись подарил соседу. Санек в третьем посте правильно подсказал.
Прицепить независимо работающий МК и делегировать ему задачи по работе с голым железом все же намного проще, чем проломиться из юзерспейса многозадачной ОС к тому же самому железу, особенно с соблюдением временных задержек, не говоря уже об имитации встроенной в МК периферии, коей у ЦП компьютера в том же качестве и объеме просто не существует.
Плюс ко всему есть бесценная возможность реализовать некоторую защиту от электрических неприятностей как в том же Ruggeduino.
NE_XT, спасибо! Напрягаю голову, чтобы вариант без Ардуино. Хотя, я тут цены на платы расширения GPIO посмотрел, Ардуино действительно дешевле получается, да еще куча периферии и шилдов расширения, с Ардуино отличный вариант будет geher, точно не скажу, просто в памяти что-то такое закрепилось. Может это виртуальные устройства или расширение через микрухи вроде pl-2303, не знаю Unixon, Вы правы, я сейчас почитал по интерфейсным шинам, покумекал и к такой же мысли пришел - Ардуино\STM32 удобнее получается Народ, всем большое спасибо за активность в теме, очень помогли сделать правильный выбор, вернее, одернули от неправильного решения, Ардуино в качестве "спинного мозга" робота рулит!