4

我有 Firmata 在 Arduino Uno 上工作正常,通过电缆 USB 与 Processing 通信。

我想摆脱电缆,并通过蓝牙传输(使用 BlueSMIRF 模块)运行连接。我不清楚我需要对 Firmata 做什么来告诉它使用 BT 模块而不是(未连接的)USB 电缆接口。特别是,我是否需要破解 Firmata 本身来添加初始化代码

  1. 特定于我正在使用的 BT 模块,或
  2. 更一般地说,需要告诉 Firmata 使用有线 USB 以外的端口吗?

谢谢

D

4

4 回答 4

3

我在 Firmata 方面不是很好,但据我所知,Firmata(在 arduino 上)使用“串行”(引脚 0 和 1,也称为 TX、RX)与主机通信。因此,如果您想使用 BT 模块替换 arduino 上的 USB 电缆,请破解 Firmata 以使用其他引脚,将 BT 连接到引脚 0 和 1。

于 2012-02-22T06:01:45.790 回答
1

您必须在 ino 文件中上传波特率更改为 9600 的标准固件(或使用其他速率测试),然后如前所述连接 BTooth TX>Rx(uno RX) 和 bt RX>Tx(uno TX)发布后,用 arduinoCommander 测试它就像一个魅力!Arduino uno rx tx 是 pin0 和 pin 1。它也不是由 USB pc 供电,而是外部源导致在 USB 上将 BT 置于顶部可能会搞砸事情(通常断开接地从 BT 模块上传草图)。

于 2014-05-17T21:01:33.253 回答
0

您所要做的就是确保仅在将草图上传到 arduino 时才连接 USB,然后在准备好实际运行 Arduino 代码时连接 BlueSMIRF。这样它们都将使用默认的硬件串行端口,您不必修改任何代码。

您可以尝试在 Arduino 中使用 SoftwareSerial.h 来模拟另一个串行端口,但我发现这是有问题的。

于 2012-11-14T20:01:57.550 回答
0

只需将蓝牙连接到 Rx Tx 引脚并上传相同的标准固件。然后通过你正在通过usb电缆传递的蓝牙传递命令......它会工作。

于 2017-01-20T08:05:20.273 回答