0

I use Arduino for comunication between sensors and my C# application using a serial port. Is there any possibility to access digital components directly such as Force Sensitive Resistor - Square, from a USB port?

Do I have to write a driver for that?

I drew a semi-schematic diagram to exemplify:

enter image description here

4

3 回答 3

4

没有办法通过 USB 直接读取模拟传感器,因为它是数字总线。您需要某种处理将模拟信号转换为数字信号并通过总线正确通信。

于 2013-03-24T13:19:29.540 回答
0

从力敏电阻的外观来看,这是一个模拟元件;电阻和电容随着施加在传感器上的力而变化。如果您查看 FSR 安装指南文档,建议的电气接口从第 16 页开始。

我会推荐第一个电路,将 Vout 连接到 Arduino 上的模拟输入。从那里您需要将 ADC 计数转换为电压,然后使用 Arduino 中的查找表函数根据图 9 从电压转换为力。此时,您有一个包含施加到传感器的力的变量。从这里您可以像任何其他值一样通过 USB 串行总线传输值。然后,您的 C# 应用程序需要读取串行数据,并解析出该值。

于 2013-03-24T14:43:35.090 回答
0

为了从任何传感器采样信息,您需要一个中介。Arduino 使用 FTDI 芯片将 UART(串行)转换为 USB。当您通过此连接读取数据时,您正在通过 USB 串行接口读取数据。我的建议是坚持使用 Arduino 或其他微控制器。

如果您真的想通过 USB 直接读取它(而不是通过 USB 串行转换器),您将不得不在支持 USB 的设备中实现某种协议,例如Stellaris LaunchpadAtmega32U4 AKA Arduino Lenardo。您还必须编写一个驱动程序来描述如何与此 USB 设备进行通信。除非您能够将其实现为已知的设备,例如键盘或串行端口(是的,我们在那里绕了一圈)。

简而言之,目前还没有制造出的芯片可以将来自传感器的模拟(或数字)值转换为任何操作系统本机可以理解的东西。由于USB 是一种类似于IP的协议,因此您将无法使用谨慎的设备。您将不得不使用带有 USB 堆栈的微控制器。

同样,我的建议是通过现有的串行(通过 USB)端口通过 USB 传递传感器值。这非常简单,并且无需整个 Arduino 即可轻松重现。

于 2013-03-25T05:50:52.053 回答