【问题标题】:Easiest way to get a wired signal into a PC?将有线信号输入 PC 的最简单方法是什么?
【发布时间】:2018-09-28 15:40:36
【问题描述】:

对于原型,我们需要有一个硬件开关(例如,瞬时按钮)触发在 PC 上截取屏幕截图并将其保存到文件中。编写一些windows软件截屏并保存是很简单的,稍微棘手的部分是如何为软件获取电信号(我们可以选择电压,并根据需要提供电源)。我们绝对希望尽可能保持简单(即没有 labview 或任何东西)和可靠。我看到像这样的小模块盒

https://labjack.com/products/u3?gclid=EAIaIQobChMI-MXkjcbB2gIVxVYNCh3C6AODEAQYAiABEgK_OvD_BwE

可用,但有更简单的解决方案吗?我正在考虑(但没有花时间测试)可能是一个并行端口到 USB 转换器(它类似于更常见的 RS232 到 USB 转换器,但可能允许检测单个高/低(只是一个猜测,从未使用 Windows 的并行驱动程序)),或类似的东西。只是在我花时间购买东西和测试之前询问想法。谢谢!

【问题讨论】:

    标签: windows port gpio


    【解决方案1】:

    这可以通过 Arduino Leonardo、Micro 和 Due 模块轻松完成。这个page 有一个与您的项目非常相似的示例:

    // use this option for OSX:
    char ctrlKey = KEY_LEFT_GUI;
    // use this option for Windows and Linux:
    //  char ctrlKey = KEY_LEFT_CTRL;  
    
    void setup() {
      // make pin 2 an input and turn on the 
      // pullup resistor so it goes high unless
      // connected to ground:
      pinMode(2, INPUT_PULLUP);
      // initialize control over the keyboard:
      Keyboard.begin();
    }
    
    void loop() {
      while (digitalRead(2) == HIGH) {
        // do nothing until pin 2 goes low
        delay(500);
      }
      delay(1000);
      // new document:
      Keyboard.press(ctrlKey);
      Keyboard.press('n');
      delay(100);
      Keyboard.releaseAll();
      // wait for new window to open:
      delay(1000);
    }
    

    【讨论】:

    • 感谢您的回复。我认为这将是我发送链接的模块的自定义版本,对吗?所以我认为,如果我们想包括一个外部盒子,我们会购买现成的类似的东西(我们的工作更少)。有意义吗?
    • 我的下一步(来自这篇文章的待定想法)是调查这样的事情:newegg.com/Product/…-12-119-243--Product 以查看驱动程序是否允许检查个人水平。
    • 我建议花一些时间了解 Arduino。这是一个非常易于使用的原型板。使用我引用的上述 API 作为示例,您甚至不需要编写自定义 Windows 软件。只需使用Keyboard.press 方法来模拟按下PrtScn 按钮。
    猜你喜欢
    • 1970-01-01
    • 2019-04-21
    • 2010-10-06
    • 1970-01-01
    • 2010-10-06
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    相关资源
    最近更新 更多