1

我对电子学的了解不多。我想使用程序打开/关闭连接到 USB 端口的 LED。USB 端口由 4 根线组成(数据+、数据-、电压、接地),如果我将电压和接地线连接到 LED,它会发光。我一直在互联网上搜索这个问题,我发现无法使用程序控制连接到 USB 的 LED,因为通过 datapin 的供应太低,不能用来关闭 LED。

但是如果我将我的 LED 连接到 vol 和接地引脚并控制 USB 端口的整个电源,我想可以使用程序控制 LED。有一种方法可以通过 USB 端口禁用和启用电源。

我也想知道遵循这种方法是否不好。它是否会损坏 USB 控制器以频繁启用/禁用电源。

Algo :

      a = Get_input_from_user() ;
      if(a=="ON")
           turn power supply of usb port ON.
          else
           turn power supply of usb port OFF.

这件事当然可以使用额外的硬件,我不想使用任何额外的硬件。

4

3 回答 3

1

计算机 USB 端口的电源通常不是软件可控的。在大多数情况下,USB 端口的电源引脚直接连接到电源的 5V 导轨(通常通过 polyfuse),因此无法打开和关闭它们。

一些有源 USB 集线器确实支持为其端口切换电源,但您说您不想使用任何额外的硬件,所以您不走运。

于 2013-05-31T15:36:51.557 回答
1

您可以使用任何基本的Arduino板来执行此操作,有一个完整的免费IDE和大量示例代码,可以立即执行您想要的操作

阿杜诺在此处输入图像描述

您也可以使用 COOL 板。

青少年 3.0

Arduino 兼容代码可用于 Teensy

软件开发工具在这里

于 2013-07-06T01:37:37.337 回答
0

您可以使用带有电阻的外部电源 ( the Vcc and GND pins of the USB port in this case) 为二极管供电,并在中间连接一个用作中断器的晶体管。然后,将底座和发射器连接到 USB 端口的 de data+ 和 data-。

这个页面不允许我上传图片。

很抱歉绘图的质量,但我在电脑上只有油漆。为了获得更稳定的性能,请确保将 R1 设置得足够低,以便在数据引脚打开时晶体管处于饱和模式,但不要太低以至于晶体管被烧毁(我真的不知道 USB 端口上数据引脚的电压电平是多少, 对不起)。要选择合适的 R2 值,您需要知道为二极管供电所需的电流。根据欧姆定律计算:

Idiode = (Vcc - Vce,sat - Vd) / R2.

其中 Vce,sat 是晶体管处于饱和模式时集电极和发射极之间的电位差(可在制造商网页上的晶体管数据表中找到,通常约为 0.2V),Vd 是二极管的归一化电位差(相同,但这次大约为 0.6V)。

请注意,数据和 GND 引脚已连接。我 99% 确信这不会损害您的 USB 端口,但使用它需要您自担风险。

无论如何,我会先使用另一个外部电源对其进行测试,以确保您正确连接了所有东西。

于 2013-12-27T10:35:55.753 回答