【问题标题】:How to on/off an electric bulb via computer's usb port using C language program如何使用 C 语言程序通过计算机的 USB 端口打开/关闭电灯泡
【发布时间】:2015-05-01 06:40:56
【问题描述】:

我想用 C 语言编写代码来通过 USB 端口打开/关闭电灯泡。 USB 端口提供 5 伏电压,所以我希望灯泡可以从计算机的 USB 端口获取电源。

有可能吗?

【问题讨论】:

  • 那个灯泡是 5 伏的。
  • @ArunA.S - 你可以使用 relay 来做到这一点。
  • 什么“灯泡”?迷你LED,当然。灯塔氙气灯,并非没有额外的执行电子/机电。
  • 可在 5V 上工作的 LED。

标签: c operating-system kernel hardware-interface


【解决方案1】:

使用 USB 完成这项任务有点复杂,常用的方法是使用一些 (ftdi) USB 转串口转换器。 要切换灯泡或电机,您需要在 USB 电缆的另一侧安装微控制器。

事实上,arduino-pcb 内置了 USB 转串口转换器,因此您可以使用 arduino 通过 USB 端口打开/关闭某些东西。

如何读/写串口取决于你的操作系统,但每个操作系统都有很多例子

【讨论】:

  • USB转串口有什么帮助?只需获得一个 USB 微控制器。串口转换器中的芯片已经比你实际需要的更强大了。
  • @Potatoswatter USB 微控制器实际上包含一个 USB 到串行转换器。 USB转串口有帮助,因为它比USB简单得多。使用 USB-to-Serial 桥接器,您不必编写设备驱动程序,您只需选择正确的 com 端口。我写他应该用微控制器来切换灯泡和USB转串口与微控制器通信,而不是使用USB转串口来切换灯泡。我试图先给出一个抽象的解决方案,然后是一个实际的例子。 (Arduino 是一个非常用户友好的 USB 微控制器)。
  • 不,USB 微控制器包含 USB 端点硬件。给定一个带有 USB RS232 的微控制器,您可以实现一个转换器。但是到底为什么你需要 RS232 来控制一盏灯呢?根据定义,这会增加复杂性,无论 RS232 是否更简单。你已经把一个单片机问题变成了两个单片机问题。包括主机 PC,现在有一个运行三个不同程序的网络……
  • @Potatoswatter 我在哪里提到了第二个微控制器或三个不同的程序?我在评论中找不到那部分。澄清一下:我谈到了带有 USB 调试端口(例如 arduino)和 pc 主机的微控制器。微控制器通过串行连接(uart)从 pc 主机接收命令(打开/关闭)。 USB 微控制器通常在其 PCB 上或嵌入控制器中包含某种 USB 转串行桥接器。查看 Arduino 规范:arduino.cc/en/Main/ArduinoBoardLeonardoarduino.cc/en/pmwiki.php?n=Reference/Serial
  • PC 运行程序。 USB 串行转换器包含一个运行程序的微控制器。串行微控制器运行程序。那是三个。
【解决方案2】:

似乎没有简单的方法可以直接切换 USB 端口的电源。至少,在普通 PC 上。所以你需要某种中继。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-30
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多