壊れたArduinoを中途半端に直すの続きの話。
nonamelaboratory 13年度ロボカップ7 Arduinoが故障したはずだったを読んで、試してみました。
ふつーにUSBのケーブルでArduino UNOをつないで、抵抗の足とかでここの2本のピンをちょっとだけショートさせてすぐに放します。
PCケース用のプッシュスイッチとか、ジャンパーがあればよりベター。
(以下、Windows7での場合です)
デバイスマネージャを見ると、認識しているデバイスが「ポート→Arduino Uno」から
↓
「Atmel USB Devices→ATmega16U2」に代わっています。
これが代わっていない場合、多分そのArduinoは(少なくともUSB経由で使うのは)もうダメです。AVRISP mkIIから使うようにするか、諦めましょう。
次に、AtmelのサイトからFlipをダウンロードしてきて、インストールします。
Flipを起動。
左上の「Select a Target Device」ボタン押して、リストの中から「ATmega16U2」を選択。
その隣の「Select a Communication Medium」を押して「USB」を選択。
「USB Port Connection」ダイアログが出てくるので「Open」を押します。
Openに成功すると、Arduino UNOのRX/TXのLEDが点灯します。まぶしい。
GitHubから「Arduino-usbserial-atmega16u2-Uno-Rev3.hex」をダウンロードしてきます。
Flipの「Load HEX File」ボタンを押して、今ダウンロードしてきた「Arduino-usbserial-atmega16u2-Uno-Rev3.hex」を選択。
後は、左下にある「Run」ボタンを押して書き込みを実行。
Erase→Program→Verifyが行われて、下に「Verify PASS」と出ればOKです。
ここでRXのLEDが消えて、TXのみになりました。
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=0x00avrdude done. Thank you.
直りませんでした。南無三ッ!
……ひょっとしたら直る人もいるかもしれないので、とりあえず備忘録として残しておきます。