2010-07-14 164 views
13

我期待通過USB連接到電腦的簡單繼電器開關控制電源供電的燈。通過USB控制簡單的繼電器開關

繼電器開關甚至不是USB設備,它只是一個簡單的開關,需要USB電壓才能打開它。當電壓下降到閾值以下時,開關將關閉照明燈。

我的問題是我無法控制USB端口的電源輸出。我很高興在Windows或Linux上使用任何語言來完成它(但最好是Java,因爲我習慣了它)。

回答

15

不幸的是,在大多數情況下,您無法控制USB端口的電源。電源通常是硬連線的,不能用軟件切換。您可以send a reset to a USB device,但這不適用於您的情況。

有許多關於指導的項目與您所描述的類似,但不幸的是它們似乎相當複雜或需要昂貴的零件。

編輯:有實際上是目前你想這將不想要的新聞產品,但它似乎並沒有出貨尚未:http://www.pwrusb.com/

EDIT(再次):顯然you can do this with some usb hubsThis post sugggests the Linksys USB2HUB4是一個工程。

EDIT(又一次):顯然有一些類似的問題,但似乎並沒有爲任何更多有用的答案:

+0

P1進行廣泛的編輯並使我們保持最新狀態。 – Caelum 2016-01-24 21:33:20

2

這是一個完整的解決方案。

它使用帶有USB連接(例如Uno)的Arduino板來控制繼電器,並將其與pfod(操作發現協議)www.pfod.com.au結合使用,它可讓您從Arduino控制電路板/繼電器IDE SerialMonitor或終端窗口(TeraTerm)或Java程序。消息協議在{}中封裝了命令,認爲micros的簡化html,並提供了大量的屏幕,菜單,滑塊,文本和數字輸入等。詳細的協議規範可用

有關詳細示例,請參見Garage Door Remote Arduino代碼和一個控制TeraTerm繼電器以及Arduino IDE SerialMonitor的例子。

還有一個Android應用程序,pfodApp,它將通過藍牙,或具有128位安全的WiFi /互聯網進行通用控制。 pfodApp可以完成所有的Android操作,你只需要在你的Arduino代碼中編寫一些簡單的字符串來獲得你想要的任何菜單系統。有關衆多示例,請參閱www.pfod.com.au。

0

我建議放置一個單獨的Raspberry Pi設備,激活喚醒局域網功能,以便您可以將它關閉。

+3

您能否提供有關如何設置喚醒藍牙與Raspberries的文檔或教程? – 2014-02-01 23:19:02

+0

作爲RPi所有者,我不知道由MicroChip [LAN9512](http://ww1.microchip.com/downloads/en/DeviceDoc/9512.pdf)提供的RPi有線局域網連接(2-USB端口B型號)或[LAN9514](http://ww1.microchip.com/downloads/en/DeviceDoc/9514.pdf)(4-USB端口B +型號)在軟件/固件/硬件中連線 - 儘管IC確實有喚醒功能在局域網功能,所以它可能會很有趣,看看它是否可以完成......! – SlySven 2016-08-03 16:03:48

0

您可以通過這兩種產品,結合從Pololu約25 $做到這一點:

  1. Micro Maestro (assembled)
  2. Basic SPDT Relay Carrier with 5VDC Relay (Assembled)

藝術大師主要是伺服控制器,但你可以設置任何的其渠道變成簡單的數字輸出。輸出可以通過Maestro控制中心軟件進行控制,也可以編寫自己的軟件。 Maestro的數字輸出適用於打開中繼載波上的繼電器。繼電器可以通過Maestro通過USB供電;我認爲它可以吸收大約100mA的電流,因此對於大多數USB端口來說可能不是問題,但它不符合USB標準,因爲Maestro和繼電器吸收的總電流將超過100mA。如果您擔心這個問題,您可以爲接力提供自己的電源。

4

大多數USB轉串口或USB轉RS232支持10美元轉換器支持硬件握手。將其中之一用作單通道數字io。

將您的晶體管連接到轉換板上的DTR,並通過轉換器驅動程序命令DTR ON/OFF。

2N7002是一個很好用的晶體管(實際上是FET),因爲它可以工作在3V以下,並且不需要任何電阻。

1

你需要一個USB-GPIO微控制器:

Adafruit的FT232H(約$ 15) enter image description here

Arduino的納米ATmega328(約$ 7) 2

See this answer