代码之家  ›  专栏  ›  技术社区  ›  FlyingStreudel

使用USB激活MOSFET/继电器

  •  3
  • FlyingStreudel  · 技术社区  · 14 年前

    我正在进行一个个人项目,包括通过USB将简单的信号从我的电脑发送到一个电路。基本上,我使用的USB信号作为门信号的MOSFET,这将反过来激活继电器打开/关闭各种交流外设。例如,如果我想每分钟打开一个灯泡5秒钟,我会在每分钟的前5秒钟向第一根电线发送一个1。

    这是我的问题:我不知道如何手动将0/1发送到USB电缆上的特定导线,甚至根本不知道如何与USB端口交互:(

    谢谢!

    编辑

    6 回复  |  直到 14 年前
        1
  •  3
  •   Jander    14 年前

    USB不适合任何在另一端没有USB接口的设备。如果你不想建立自己的USB设备,我建议你买一个USB到串行适配器,它给你两个直接可控的输出线(流量控制线),或USB到并行适配器,它给你超过8线。

    SETDTR , CLRDTR , SETRTS ,和 CLRRTS 是您的流控制行切换(分别用于DTR和RTS行)。

    就硬件而言,流量控制线路上的“1”(设置)值为+3至+15伏,而“0”值为-3至-15伏。实际电压可能因设备而异;请测量以确定。(编辑;我把1和0搞混了。控制行使用与数据行相反的约定。)

    以下是维基百科网页 voltage characteristics pinouts .

    编辑: 在对USB到并行适配器做了更多的研究之后,我认为它们不会提供所需的控制级别。为了获得最佳效果,您需要一个PCI或PCMCIA并行卡,或者主板内置一个并行端口。

    this library 可能有助于从Windows控制并行端口的行。

        2
  •  3
  •   Chris Johnson Thomas M. DuBuisson    14 年前

    对于该应用程序,最简单的方法是使用串行端口模拟,可以使用USB串行电缆,也可以使用硬件设备中的USB串行转换器芯片(例如FTDI FT232)。

    here 在Windows中如何在C++中实现这一点

        3
  •  3
  •   Ben Voigt    14 年前

    $27 at digikey

    the datasheet 会比UART模式好得多(UART产生几千赫兹的脉冲,你想让电压保持在你设定的水平)。

    希望您的MOSFET将打开一个3V信号,因为FTDI将输出约3.1-3.2V的高输出。

    the latest drivers from FTDI ... 几年前,他们有驱动程序(WHQL甚至认证)导致频繁的BSOD,我经常发现硬件附带的驱动程序cd已经过时好几年了。

        4
  •  1
  •   Scott Chamberlain    14 年前

    this is what I used (我有一个U421,他们完全适合在一个面包板的中心线,401工程与面包板也很好,如果你没有分裂的一个。

    http://img201.imageshack.us/img201/9316/u421.png

    他们给你一个动态链接库,你只要用你的代码链接到它。这就像给WriteA和WriteB打个电话向mosfet设备写一样简单。请注意,逻辑电平线并不是用来驱动电流的,所以如果你期望任何一种中到大的电流流动,你需要把它连接到晶体管上。请参阅usbmicro站点菜单的应用程序说明中的App1,以查看正确的连接方法。

        5
  •  0
  •   rwong    14 年前

    使用USB原型板。它通常附带一个软件SDK。

        6
  •  0
  •   Sina    11 年前

    1.您可以使用usb到串行转换器。你只需要知道 here 2.您可以使用编程直接访问usb,但对于这个,您必须为您的设备安装一个驱动程序。详情如下: here