はじめに
昨今においては、AmazonやAliExpressからArduinoNanoの互換品をかなり安価に入手できるようになりました。
私がAmazonで確認した最安値だと300円前後といったところです。
しかし、どうにも互換品のNanoで書き込みができないといった相談を受けます。
※追記:純正品のArduinoNanoでもロットによっては同じような症状がでます。
の解決方法を記述します。
症状
- 延々と「書き込んでいます」状態。書き込みが終わらない。
- 書き込み時に「avrdude: stk500_recv(): programmer is not responding」 といった、呪いのエラーが出る
解決方法
ArduinoIDEのツール>プロセッサを開き、
ATmega328P ( Old Bootloader )を選択してください。
それでもエラーが出るよ
基本的な確認が多いですが、一個ずつ丁寧にチェックしましょう!
ソースコードに誤りが無いかをチェックする
書き込むプログラムのコンパイルが通っていることを確認しましょう。
「ライブラリが複数見つかりました」などといったエラーはプログラムのどこかがおかしいということなので、もう一度コードを見直してみましょう。
USBを抜いて差してみる
なぜかこれで解決することが多いです。
一回やってみると良いでしょう。
ボード、プロセッサ、ポートを確認する
ポート番号が適切に設定されていないミスは「あるある」です。
Arduino のボードの種類(UNOやNano)や、前述のようなプロセッサ、COMポートが正しく選択されているかを確認してください。
「ボード情報を取得」からテストをしてみるのも良いでしょう。
「不明なボード」という表記でも問題ありません。認識されています。
D0、D1ピンに接続がないことを確認する
D0,D1ピンは、ArduinoとPCのUSB接続に使用されます。
そのため、他の回路に接続されているとエラーになる場合があります。
D0,D1ピンを使用する場合は、書き込み時は線を抜き、書き込みが終了したら再び接続をすればOKです。
さいごに
ArduinoNano用の新ブートローダーをボードに書き込む方法もあります。
今後機会があれば記事にしたいと思います。