Программный светодиод только с USB-портом

Я хочу управлять светодиодом с помощью C#, используя только USB-порт. Я не хочу подключать любое другое устройство с USB. Я просто хочу подключить светодиод непосредственно к выводам USB-порта и запрограммировать его (мигать и т. Д.). Как я могу это сделать? Я новичок в аппаратном программировании, и это будет моя первая программа.

РЕДАКТИРОВАТЬ: я могу сделать это уже (мигать светодиод), используя printer port прикрепив один светодиодный штифт к data pin и другие, чтобы ground, Как я могу сделать то же самое с USB-портом? Моя материнская плата не имеет порта принтера. USB является единственным вариантом.

6 ответов

Решение

Это невозможно.

4 usb pins

| | | |  
| | | |  
1 2 3 4

1: +5V
2: D-
3: D+
4: Ground

To trun on LED connect with 1 and 4

Ток на контактах данных слишком низкий, поэтому светодиод никогда не включится при подключении к 5V и любой контакт данных. Следовательно, светодиод не может управляться напрямую с помощью выводов данных на USB-порту

Вы действительно не можете этого сделать. Вы можете сделать это с параллельным портом, потому что у вас есть индивидуальный контроль над контактами данных. С USB вы можете контролировать только те данные, которые используются в верхней части протокола USB. Вероятно, что протокол в микропрограмме запускается микропрограммой на материнской плате, так что, скорее всего, нет способа сделать то, что вы хотите сделать, короткое подключение светодиода через выводы питания и переключение питания шины USB, что НЕ ДОЛЖНО сделать по целому ряду причин.

Просто возьми Arduino или что-то в этом роде. В конечном итоге это будет намного проще и будет более гибким.

Многие материнские платы будут постоянно снабжать USB-порты током.

Теоретически вы можете перевести контроллер USB в режим ожидания и обратно, но это плохо.

Вам понадобится какой-то контроллер для приема команд через USB, а затем некоторые дискретные элементы, чтобы открывать / закрывать ток от постоянного источника USB и позволять ему достигать вашего светодиода.

Я могу сделать это уже (мигать светодиод) с помощью порта принтера...

Хорошо, так почему бы не купить дешевый USB-порт для принтера и использовать его? Поскольку у вас уже работает код порта LPT, это дает вам прозрачное решение.

Вы можете использовать микроконтроллер PIC. Серия 18f может напрямую взаимодействовать со светодиодом через USB. Также можно кодировать с помощью C# и использовать только USB-порт для управления светодиодом. Я предполагаю, что вы на самом деле хотите контролировать светодиод, а не просто зажечь его.

Если вы можете очистить мотив управления светодиодом с помощью USB, то будет очень полезно ответить на вопрос:

Другие вопросы по тегам