使用c或任何编程语言控制USB端口的电压供应
我没有太多的电子知识。 我想打开/关闭使用程序连接到USB端口的led。 usb端口由4条线(数据+,数据,电压,地)组成,如果我将电压和地线连接到led,它会发光。 我一直在互联网上搜索这个问题,我发现它不可能控制led连接到USB使用程序,因为数据库供应过低,无法用于关闭领导。
但是如果我将我的led连接到vol和ground引脚并控制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.
这件事情当然可以使用额外的硬件,我不想使用任何额外的硬件。
计算机USB端口的电源通常不是软件可控的。 在大多数情况下,USB端口的电源引脚直接连接到电源的5V电源轨上(通常通过polyfuse),因此无法将它们打开和关闭。
一些供电的USB集线器确实支持将电源切换到其端口,但是你说你不想使用任何额外的硬件,所以你运气不好。
你可以使用任何基本的Arduino板来做到这一点,有一个完整的IDE免费和很多示例代码,可以做你想要的东西
你也可以使用一个COOL板。
Arduino兼容代码可用于Teensy
软件开发工具在这里
您可以使用一个外部电源( the Vcc and GND pins of the USB port in this case
)和一个电阻来驱动二极管,并在中间连接一个晶体管作为中断器。 然后,将基座和触发器连接到USB端口的数据+和数据。
此页面不允许我上传图片。
对于绘图的质量抱歉,但我在电脑上的所有内容都是油漆。 为了获得更稳定的性能,请确保使R1足够低,以便在数据引脚为ON时晶体管处于饱和模式,但不能太低以致晶体管烧毁(我真的不知道USB端口上数据引脚的电压电平是多少,抱歉)。 要选择适当的R2值,您需要知道需要为二极管供电的电流。 根据欧姆定律计算:
Idiode = (Vcc - Vce,sat - Vd) / R2.
当晶体管处于饱和模式时(在制造商网页上的晶体管数据表中发现,通常在0.2V左右),Vd是二极管归一化的电位差(Vc,sat,这次大约0.6V)。
请注意,数据和GND引脚已连接。 我99%确定这不会损害您的USB端口,但使用它需要您自担风险。
无论如何,我会首先使用另一个外部电源对其进行测试,只是为了确保您正确连接所有设备。
链接地址: http://www.djcxy.com/p/81297.html上一篇: Controlling voltage supply on usb port using c or any programming language
下一篇: Android USB OTG: programmatically turn off power to the port