2013-05-31 46 views
0

我沒有太多的電子知識。我想打開/關閉使用程序連接到USB端口的led。 usb端口由4條線(數據+,數據,電壓,地)組成,如果我將電壓和地線連接到led,它會發光。我一直在互聯網上搜索這個問題,我發現它不可能控制led連接到USB使用程序,因爲數據庫供應過低,無法用於關閉領導。使用c或任何編程語言控制USB端口的電壓供應

但是如果我將我的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. 

這件事情當然可以使用額外的硬件,我不想使用任何額外的硬件。

+0

這將完全取決於您使用的平臺。另外,你爲什麼要這樣做? –

+1

像這樣連接LED就相當於短路。需要一個電阻來限制電流。在再次發生損壞之前,請在electronics.stackexchange.com上提出有關此問題的問題 –

回答

1

計算機USB端口的電源通常不受軟件控制。在大多數情況下,USB端口的電源引腳直接連接到電源的5V電源軌上(通常通過polyfuse),因此無法將它們打開和關閉。

Some powered USB hubs do support switching power to their ports,但你說你不想使用任何額外的硬件,所以你運氣不好。

1

你可以使用任何基本Arduino板要做到這一點有一個完整的IDE自由的sample code很多,會做你想要的開箱什麼

Arduinoenter image description here

你也可以使用一個COOL板。

Teensy 3.0

的Arduino兼容的代碼可用於Teensy

軟件開發工具HERE

0

您可以使用外接電源(the Vcc and GND pins of the USB port in this case)與電阻供電二極管和連接晶體管在中間作爲中斷者工作。然後,將基座和觸發器連接到USB端口的數據+和數據。

this page犯規讓我上傳圖片。

對不起圖紙的質量,但我所有的計算機上油漆。 對於更穩定的表現確保使R1足夠低,使得晶體管的飽和模式時數據引腳爲開啓狀態,但沒有如此之低,晶體管被燒燬(我真的不知道什麼是數據引腳上的USB電壓等級港口,抱歉)。 要選擇R2的一個適當的值,你需要知道你需要你的電源二極管的電流。它的計算acording歐姆定律:

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

其中的Vce,坐着是colector和emisor之間potencial性差異時,晶體管是在飽和模式(這是在製造商網頁上的晶體管數據表中發現,一般在0.2V)和Vd是二極管的標準化電位差(相同,但是這次大約爲0.6V)。

請注意,數據和GND引腳已連接。我99%確定這不會損害您的USB端口,但使用它需要您自擔風險。

我會首先使用另一個外部電源對它進行測試,以確保連接正確。