星期五, 4月 11, 2014

用Arduino Uno燒錄Arduino Pro Mini (Use Arduino Uno to burn Arduino Pro Mini without remove MCU!)

In above article we can use Uno to burn Pro Mini, but we should remove mcu on Uno first, for smd version Arduino it is unrecoverable.
Even in DIP package version, it is not easy if you don't have corrected tool and skill!

I found a method can keep mcu on the board, and burn to Mini success!

  1. Connecting the pin with Uno and Mini
    1. Uno 5V to Mini Vcc
    2. Uno Ground to Mini Ground
    3. Uno Rx to Mini Rx
    4. Uno Tx to Mini Tx
  2. Connect Uno's Reset to Ground
  3. Plug USB to UNO
  4. Compile and upload Sketch, when Arduino IDE show "Uploading...",press the Mini's Reset button one or twice.
  5. If press in right timing, IDE will show "Done uploading", then Sketch is uploaded!

會玩Arduino的人手上一定不會只有一片板子, 基本的Arduino Uno一定會來一片, 然後再視情況來個附加功能的Arduino yun, 或者縮小版本的Arduino  Nano~~~~

我也一樣, 為了縮小體積, 先後購入了Arduino Nano、Atiny85開發版(相容Digispark),  還有最近到手的Arduino Pro Mini。Nano其實體積還是有點大, Atiny85的腳位對我而言又不足, Pro Mini看起來是一時之選。
但是Pro Mini拿掉了USB to TTL, 無法接上USB直接upload sketch, 是最大的問題, 但也因此能降低成本縮小體積。因此再接上一片FTDI的USB to TTL是大部分人會採用的解決方案。

我比較反骨, 想要連USB to TTL也省下來, 而且之前看到這篇文章 Arduino as an USB to TTL adapter , 把Uno拿來控制HC-05藍牙模組, 確定Uno也可以當作USB to TTL Adapter(Uno上面就有一顆ATmega16u2作為USB to TTL)。但是搞了許久卻不得其門而入, 無法讓Uno燒錄Sketch到Pro Mini去... 找中文資源並沒有完全相同議題的文章, 英文方面的討論也都模糊不清。最後終於找到完全一樣議題的文章, 有兩篇:

http://www.instructables.com/id/Uploading-sketch-to-Arduino-Pro-Mini-using-Arduino/
http://www.instructables.com/id/Arduino-Examples-2-Use-an-Arduino-as-a-FTDI-Progr/
這兩篇的方法基本上是一樣, 但是第一篇較清楚。
細節請自己點下連結去看, 在此就不做翻譯了。

但上述提的方法需要把Uno上面的ATMEGA328P先拔掉, 讓Uno的ATmega16u2可以直接透過TX/RX接到Mini Pro, 個人覺得有點麻煩, 難道燒錄的時候還要先拆掉MCU...如果拆時不小心折到腳不就哭出來了...
最後發現控制HC-05時要把Reset接到Ground, 讓MCU進入Reset Mode, 可以讓Uno板上的Rx/Tx直接接到ATmega16u2, 但是又需要Reset接到Pro Mini的DTR作通知傳輸的動作, 造成兩難, 所以最後總結的方案就是:


  1. 接好Uno與Pro Mini之間的接腳
    1. Uno 5V到Mini Vcc
    2. Uno Ground到Mini Ground
    3. Uno Rx到Mini Rx
    4. Uno Tx到Mini Tx
      (Rx對Rx..Tx對Tx...就是這樣接沒錯, 若是Rx對Tx的方式接, 會失敗, 千萬注意!)
  2. 把Uno的Reset接到Ground
  3. Uno接上USB, 此時Uno與Mini都會上電
  4. 編輯好Sketch, 編譯並且上傳, 當Compile完成之後, Arduino IDE會出現"Uploading..." 此時按1~2下Mini的 Reset, 代替原本的DTR, 就會開始Upload.
  5. 若按下Mini的 Reset時機正確, IDE顯示 "Done uploading", 完成!
    按下的時機要多測試幾次.
雖然每次Upload都要按下Reset有點麻煩, 不過若是偶爾拿Uno應急, 也不用去拔掉MCU, 算是一個折衷的方案! 提供給大家試試!!!




沒有留言:

Mr.Color飛機模型用Color 與 水性AQUEOUS HobbyColor 對照表

          最近跟兒子一起研究長谷川的飛機模型, 其中說明書中採用的模型漆色號以Mr.Color硝基漆為主, 水性漆AQUEOUS 為輔. 很多Mr.Color有的顏色, AQUEOUS 都沒有, 前100的色號大致上都有對應到, 但Mr.Color 300號以後的都是特...