【问题标题】:How to use an Arduino Uno as an FTDI programmer? [closed]如何使用 Arduino Uno 作为 FTDI 程序员? [关闭]
【发布时间】:2013-08-21 16:30:37
【问题描述】:

晚上好,我有一个 Arduino Uno 板,我最近想购买一个 Ethernet Shield 扩展,以便设置一个小型网络服务器。不幸的是,我订购了错误的物品,现在得到了一个单独的 Arduino Ethernet 板,它不像 Arduino Uno 板那样容易编程,需要单独使用。

如下图所示,我无法从我的 Uno 板上拔下/移除 atmega,如互联网上的一些教程所示,因此我还不能将其用作 ISP。

我的问题是我是否可以使用这个 Arduino Uno(R3 修订版)板来对以太网进行编程,而不必在某种 FTDI 编程器(或编程器电缆)上花费额外的钱?

我尝试连接电路板的 RXTXGND5V 引脚,因为它们是显然是通过 RX/TX 编程的,但那次尝试失败了。

也许有人可以帮助我。

当前设置:

(缩小为网页视图,全尺寸图片here

【问题讨论】:

  • 用于网络服务器的 arduino?你是一个勇敢的人。只需购买 35 美元的树莓派,哈哈。
  • 大声笑是的,我想那会更便宜,也更容易,但我已经有了这个 Uno 板,所以我想为什么不使用它。实际上不是一个真正的网络服务器,但我有一个 GSM 网关,并希望使用这个“网络服务器”来接收消息,以便人们稍后可以通过我的网站发送短信。所以最终不会有太多的负载。
  • 我的 Arduino 还没有进步那么远。我可以对其进行基本编码,但类似的事情将是一些研究。然而,我确实让我的树莓派启动并作为网络服务器运行。那很容易。 sudo apt-get install apache2 大声笑
  • Uhm 会在树莓等小型硬件上使用 lighttpd。它的方式......更轻。 ;-) 但是OT:你不想帮助我:(

标签: arduino


【解决方案1】:

您可以使用 UNO 的 FTDI。但它不像 @John b 提到的 Arduino ArduinoISP 那样有文档或典型。

为此,请移除 ATmega328。然后将 Rx(D0) 和 Tx(D1) 连接到目标串行连接器。但是,仅使用 Shield Header 到 Header 之间的跳线,而不是串行端口到 Header 之间的跳线可能更简单。您的图片看起来基本正确的地方。 Rx(D0) 到 Tx(D1) 和 Tx(D1) 到 Rx(D0)。连同电源和GND。

但同样重要的是,将 RESET 连接在一起。您上面的图片没有显示重置或正在使用的绿线。 IDE 将切换串行端口 RTS,从而导致 BootLoader 复位。当您的 IDE 状态正在上传时,您可以尝试计时此线的接地,或按下目标重置按钮。但是跳RESETS会更简单。


为UNO的FDTI DTR添加跳转点PCB(RESET源,在Cap C5之前)。 Uno 的 SMT FTDI 带 RESET 的 PCB 布局突出显示

在您的 UNO SMD 上添加 DTR 的图片

hmmm...我看到最新的 cad 文件略有不同,然后你的版本。在目标区域旁边有第二个帽子。我怀疑我圈出了正确的帽子。正确 Cap 的另一端连接到 Reset-EN Cut/Jump。

【讨论】:

  • 这是写入 Arduino 的一种很酷的方式。但是@Beta 不能删除 ATmeag328,(他有一个 SMD 版本)。如果串行总线尝试编程时正常的Arduino仍在运行,它将无法正常工作。
  • 错过了。而是将 UNO 的 RESET 跳线到 GND,以禁用 ATmega328。并在正确的时间手动按下 Arduino 以太网的 RESET。这就是最初的 ArduinoBLueTooths 的制作方式。或者,可以暂时将目标的重置焊接到 C5(朝向 FTDI),以便自动重置。
  • 我按照您的指示成功编程!但只有一次。第二次尝试上传我的草图后,它说“程序员没有响应”。现在我有 UnoTx->EthRx、UnoRx->EthTx、UnoGnd->UnoReset、Uno5V->Eth5V、UnoGnd->EthGnd、UnoReset->EthReset。所以我可能误解了一些东西。
  • 所以你很接近了。我怀疑问题出在 UnoReset->EthReset 上。它应该是 UnoDTR->EthReset。 FTDI 的 DTR 不在标头上。我已经添加了可以从哪里跳转的图片。
  • 感谢您非常详细的回答!我现在将此问题更改为赏金问题,并将在 23 小时内发送 +50。 :)
【解决方案2】:

免责声明

我从未使用过 Arduino 以太网板

http://arduino.cc/en/Main/ArduinoBoardEthernet

“可以通过两种方式对 Arduino 以太网板进行编程:通过 6 针串行编程接头,或使用外部 ISP 编程器。” b/c 您没有 6 针串口,您应该尝试使用 ISP(串联编程器)对以太网板进行编程。

您可以使用普通的 Arduino 作为 ISP。这里有一个很好的指南。(我过去成功使用过这个指南。)

http://arduino.cc/en/Tutorial/ArduinoISP

基本上,您将您的普通 Arduino 编程为认为它是一个 ISP,然后通过桥接它们的 SPI 总线、引脚 11、12、13(并将 10 品脱以重置),将您的普通 Arduino 连接到以太网 Arduino。然后你告诉草图通过 ISP 上传到“认为”它是 ISP 的 Arduino。

如果这不起作用或令人困惑,请告诉我。

还有

您可以购买 USB 转串口编程器。 https://www.sparkfun.com/products/9716

【讨论】:

  • 这听起来很棒!今晚我一定会看看这个教程,如果成功与否,我会回复
  • 我试过了,但不幸的是我后来遇到了另一个错误:avrdude: Device signature = 0x000000 avrdude: Yikes!设备签名无效。仔细检查连接并重试,或使用 -F 覆盖此检查。可能是时间问题?我也有几次 Device signature = 0x1a0080 (或类似的东西)。
【解决方案3】:

根据这里的各种回复和图片,我刚刚设法使用(基本上是用可移动的atmega328自行焊接纳米)作为程序员接口到网关(v7.2 )。

Nanode 的 FTDI 连接器与许多 Arduino 不同,黑色朝向电路板中心,绿色朝向边缘。

我使用了http://www.adafruit.com/datasheets/DS_TTL-232R_CABLES_V201.pdf 发布的 FTDI 标准中的颜色编码。

Nanode       ......  Boarduino
------------------------------
Black,Pin1   ......  gnd
Brown,Pin2   ......  gnd
Red,Pin3     ......  5v
Orange,Pin4  ......  RX
Yellow,Pin5  ......  TX
Green,Pin6   ......  RESET

一些我很难解决的技巧:

  1. Nanode 引导加载程序似乎对复位时序非常挑剔。绿色->重置是救命稻草!
  2. 您必须穿过 RX/TX。 Boarduino 上的 RX 连接到 FTDI 头 TX(Orange,Pin4),Boarduino 上的 TX 连接到 FTDI 头 RX(Yellow,Pin5)
  3. 必须从 Boarduino 中移除 atmega328,否则程序将不会保存在任一设备上。
  4. 如果出现“不同步”错误,请选择“Uno”作为板子。

【讨论】:

    【解决方案4】:

    是的,您可以使用任何具有可移动芯片的 Arduino 的板载 USB 串行转换器。从 arduino 中取出芯片并连接一个母连接器,如下图所示。请注意,该草图适用于 5 V 电路;对于 3.3V,使用板上的另一个电源引脚。之后,您可以像常规 Arduino 一样对通过 FTDI 连接的任何内容进行编程。只需在 Arduino IDE 中的 Tools/Board 下选择您要连接的板即可。

    来源:http://www.instructables.com/id/Arduino-Examples-2-Use-an-Arduino-as-a-FTDI-Progr/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多