壊れたArduinoが直る?(場合もあるかもしれない)

壊れたArduinoを中途半端に直すの続きの話。
nonamelaboratory 13年度ロボカップ7 Arduinoが故障したはずだったを読んで、試してみました。

ふつーにUSBのケーブルでArduino UNOをつないで、抵抗の足とかでここの2本のピンをちょっとだけショートさせてすぐに放します。
PCケース用のプッシュスイッチとか、ジャンパーがあればよりベター。
atmega16u2_pin

(以下、Windows7での場合です)
デバイスマネージャを見ると、認識しているデバイスが「ポート→Arduino Uno」から
Device_ArduinoUNO

「Atmel USB Devices→ATmega16U2」に代わっています。
Device_ATmega16u2
これが代わっていない場合、多分そのArduinoは(少なくともUSB経由で使うのは)もうダメです。AVRISP mkIIから使うようにするか、諦めましょう。

次に、AtmelのサイトからFlipをダウンロードしてきて、インストールします。
Flipを起動。
左上の「Select a Target Device」ボタン押して、リストの中から「ATmega16U2」を選択。
flip_1

その隣の「Select a Communication Medium」を押して「USB」を選択。
flip_2
「USB Port Connection」ダイアログが出てくるので「Open」を押します。
flip_3

Openに成功すると、Arduino UNOのRX/TXのLEDが点灯します。まぶしい。
rxtx_led

GitHubから「Arduino-usbserial-atmega16u2-Uno-Rev3.hex」をダウンロードしてきます。

Flipの「Load HEX File」ボタンを押して、今ダウンロードしてきた「Arduino-usbserial-atmega16u2-Uno-Rev3.hex」を選択。
flip_4

後は、左下にある「Run」ボタンを押して書き込みを実行。
Erase→Program→Verifyが行われて、下に「Verify PASS」と出ればOKです。
ここでRXのLEDが消えて、TXのみになりました。
flip_5
Flipは閉じます。

一旦USBケーブルを引っこ抜いて、接続し直して、Arduino IDEからてきとーなスケッチ(Blinkとか)を書き込みに行きます。

Using Port : \\.\COM3
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Recv: . [00] avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done. Thank you.

直りませんでした。南無三ッ!

……ひょっとしたら直る人もいるかもしれないので、とりあえず備忘録として残しておきます。

コメントを残す