不使用Arduino的USB端口与PC通信?

时间:2016-08-17 14:13:02

标签: arduino

我有一个Arduino Micro通过USB连接到我的计算机并充当操纵杆。我想知道发送的操纵杆信号和远程机器接收的信号之间的延迟,因此我需要从Arduino获取时序数据。但是,由于USB端口已用作HID设备,因此无法通过USB发送此时序数据。

是否可以使用芯片上的一些备用数字引脚进行通信?例如,我可以从数字引脚(作为串行)连接到计算机上的备用USB端口吗?我想知道如何在软件级别和硬件级别上实现这一点(也就是说,如何将数字引脚物理连接到USB端口?)

我确信这是一个已解决的问题,但我找不到任何好的例子。任何人都可以提供一些吗?

1 个答案:

答案 0 :(得分:1)

您需要USB转TTL转换器。在arduino中,只需使用SoftwareSerial库将数据写入串行端口,允许您使用任何数字引脚进行串行通信。然后将USB-TTL连接到您在程序中设置的arduino数字引脚。

例如在arduino:

SoftwareSerial softSerial(rxPin, txPin);
........
........
void Setup()
{
   softSerial.begin(9600);
   softSerial.println("hello");
}

连接:

USB-TTL     Arduino
Tx -------  rxPin
Rx  ------- txPin
Gnd ------- Gnd 

如果您只想在PC上获取数据,那么您可以使用任何终端程序(包括Arduino IDE串行监视器)来显示来自备用数字引脚的数据。但请确保在串行监视器上显示数据,您需要从工具>端口中选择USB-TTL适配器的 com端口