USB as Output

Тема в разделе "Arduino & Shields", создана пользователем Neon Mind, 12 дек 2013.

  1. Neon Mind

    Neon Mind Нуб

    пожааалуйста, убирайтесь из темы, если нечего написать по делу ... спасибо
     
  2. fr0ster

    fr0ster Гик

    Вам по делу все написано.
     
  3. Unixon

    Unixon Оракул Модератор

    fr0ster, Megakoteyka, хватит уже придираться к человеку. Ну с первого-второго поста непонятно было чего хочет, ну ладно, но с третьего то дошло же, наверное, о чем речь идет. Да, хотелка весьма "нестандартная", но вполне забавная. BTW, битбанг тут не поможет. Чтение даташита на ATmega32U4 приводит к мысли, что на оригинальной Arduino Micro реализовать желаемое вряд ли получится, нужна модифицированная железка.
     
    -Mark- нравится это.
  4. Megakoteyka

    Megakoteyka Оракул Модератор

    Никто не придирается. Все разжевали уже, а толку ноль. К нестандартной хотелке неплохо было бы приложить желание хоть немного разобраться в предмете, а вместо этого мы видим поток хамства.
     
  5. Neon Mind

    Neon Mind Нуб

    Unixon, спасибо !
    извините за глупость, но не сработает, потому что импульс короткий ?...
    1 проблема - заставить ардуину послать команду в порт
    2 проблема - длина импульса ... как "размазать" сигнал без использования дополнительных компонентов на стороне светодиода ... вот тут да...

    или ещё что-то упускаю ?
     
  6. Festour

    Festour Нерд

    Neon Mind, можете пояснить что именно вы имеете в ввиду? Я лично так и не понял. Вы хотите узнать как передавать нужную вам последовательность байтов через USB порт? Хотите узнать как сделать устройство которое будет зажигать светоиды после того как ему будет отправлено через USB нужная вам последовательность байтов?
    P.S. Критиковать знания человека, который имеет прямое отношение к программированию космических аппаратов, вы уверены что вам не следует извиниться?
     
  7. Neon Mind

    Neon Mind Нуб

    Festour, уверен... надо было или почь или пройти мимо, а не ввинчивать "бред" и "зачем" без объяснений...
    тем более не знания критикую, а динозавровую непробиваемость и нежелание читать ...

    не совсем верно вы поняли ... сейчас нарисую ... строго не судите) вопрос: что нужно сделать, чтоб иметь возможность подключать вот так вот светодиод (сейчас хотя бы один) ...и возможно ли это впринципе
    arduino.jpg
     
  8. Festour

    Festour Нерд

    А где именно тут светоид? Те разноцветные палочки? Или Arduino Micro?
     
  9. Unixon

    Unixon Оракул Модератор

    Festour et al., ТС интересуется, можно ли управлять выводами контроллера D+ D-, предназначенными для работы с шиной USB, как обычными GPIO, коих по периметру платы тьма. Да вот же ж беда то какая! Они не выведены на единственный супер-крутой-компактный разъем microUSB, а те, что выведены - "D-" и "D+" - не имеют прямого управления или второй функции, как многие другие GPIO. Вон, RESET и тот, какой бы он важный ни был, можно фьюзами забодать и превратить его в обычный GPIO, а тут ни в какую. Драма, однако. :D

    Ответ - нет, нельзя, для этого в чипе ATmega32U4 много чего не предусмотрено, зато для работы с USB предусмотрено много чего другого, что в таком перпендикулярном взгляде на использование выводов МК ну никак не помогает.
     
    Последнее редактирование: 13 дек 2013
  10. Neon Mind

    Neon Mind Нуб

    Unixon, ещё раз спасибо ) хоть мне и нужно только GPO, но наверное действительно не стоит это того ...
    значит надо искать супер-компактный разъем ...
     
  11. -Mark-

    -Mark- Гик

    Прошу топик стартера прощения за оффтоп! Но свои 5 копеек я обязан вставить. Я далек от мысли оспаривать или подвергать сомнению тот факт, что МегакотЭ программирует (и вполне успешно) какие-то там космические аппараты, но вот манера его пояснений и разъяснений - оставляет желать лучшего. У меня у самого не раз возникало желание ему нахамить (вроде даже и хамил :oops:;))
     
  12. Megakoteyka

    Megakoteyka Оракул Модератор

    При отправке в порт числа светодиод очень быстро (настолько, что незаметно будет) моргнет несколько раз и потухнет. А для экономии ног используются сдвиговые регистры.
    Если так уж важно использовать именно этот разъем, можно отпаять от него контроллер USB и вместо него кинуть перемычки с GPIO. Но прошивать придется программатором по SPI.
     
  13. geher

    geher Гуру

    Для решения задачи, поднятой в данной теме существует только одно гарантированное решение, требующее физической модификации платы arduino.
    Необходимо выпаять USB разъем (по крайней мере в UNO от припаян так, что к ножкам иначе не подобраться), и между платой и разъемом поставить переключатели, позволяющие выбирать, к чему подключен разъем - к последовательному порту платы с преобразователем (для прошивки и прочей связи с ПК) или к управляемым пинам. Т.е. от каждого переключателя провод к прежней точке подключения разъема, к соответствующему управляемому пину и к самому разъему. Тогда получится управлять аж тремя светодиодами (земля и три сигнальных в режиме подключения к пинам).

    Если оставлять старое подключение. то на USB имеется четыре контакта.
    +5V - скорее всего с платы ничего не приходит (проверять лень). В любом случае не управляется. Преобразователь USB-serial не позволит.
    GND - земля, она и в африке земля. Мало того, что управляемость аналогичная, так еще и к земле припаян, т.е вечный 0.
    RX - по определению с платы не управляется, преобразователь не попустит.
    TX - тут можно попробовать что-то выжать, причем никакой гарантии на получение хоть какого-нибудь положительного результата никто не даст, а желающих проверять, похоже, не предвидится (я однозначно пас).
    А конкретно можно попробовать, манипулируя содержимым передаваемой в последовательный порт посылки устроить что-то, весьма и весьма отдаленно напоминающее ШИМ.
    В итоге в лучшем случае имеем управление только одним светодиодом, в худшем - ни одним (считаю более вероятным последнее).
     
  14. fr0ster

    fr0ster Гик

    А что мешает тогда просто взять ЮСБ-коннектор и соединить с выводами ардуино?
    Все едино это не будет протокол ЮСБ, всего лишь использование разьема.
     
  15. geher

    geher Гуру

    Мешает условие задачи - использовать именно "родной" USB ардуины ("не хочется транжирить место в корпусе ещё одним разъемом") для прямого подключения светодиодов.
    Задача представляется мне весьма надуманной, но как поставлена, так поставлена, и нормальных решений она просто не имеет.
     
    Festour нравится это.
  16. -Mark-

    -Mark- Гик

    Имхо, предлагаемый переключатель ничем не отличается от "транжирить место в корпусе еще одним разъемом" )) Решений нет
     
  17. Unixon

    Unixon Оракул Модератор

    Подсказываю еще одно решение: изготовить модифицированный вариант этой ардуины со всеми необходимыми изменениями. Т.е. реализовать на плате такого же формата еще и переключение функции USB разъема некоторой цепью (в простейшем случае - перемычками).
     
  18. geher

    geher Гуру

    Все же несколько отличается. Совсем не обязательно делать тумблеры (после перепрочтения моего текста они, кстати, мне и представились) Можно сваять интеллектуальный электронный переключатель, который булет в случае подачи внешнего питания 9V переключать на режим "светодиод", а при отсутствии оного - на "USB".
    Детали переключателя вполне можно приткнуть где-то так, чтобы не выходили за габариты выступающих элементов платы.

    Впрочем, я бы все равно не назвал это полноценным решением проблемы. Как мне кажется, не стоит овчинка выделки. И разработка модифицированной платы того не стоит. Затраты не оправдываются.

    Уж лучше взять Mini и припаять USB разъем любого типа сразу к нужным управляемым контактам. И задача совмещения функций USB разъема на ардуине сразу сама собой отпадет.
     
    Festour нравится это.
  19. Pi-Tone

    Pi-Tone Нерд

    Я так понял задача такова: Нужно включать и выключать светодиод от родного порта USB.
    Я не уверен но попробуй постоянно слать SerialPrintln а к порту USB попробуй подключить светодиод шунтированный конденсатором, думаю он смажет высокую частоту импульсов.
    PS это всего лишь теория, сам не пробовал.
     
  20. Unixon

    Unixon Оракул Модератор

    С нештатным использованием USB есть одна проблема: USB очень очень сильно не любит, когда на линии между концами висит что-либо и портит сигнал, контроллеры не будут всеми силами преодолевать помехи, они просто отвалятся и будт ждать пока проблема не исчезнет.