Программный светодиод только с 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, то будет очень полезно ответить на вопрос: