スケッチを組んでいざArduinoに書き込んで動かしてみようと思ったのにエラーが出て書き込めない時に確認/試すポイント。
接続を確認する
ArduinoがPCに認識されているか確認する。通常、認識されていればツールメニューのシリアルポートの選択先にArduinoが認識されているシリアルポートが出てくる。
たまに正しく認識されていないのに選択肢に表示される事がある。Windowsであればデバイスマネージャーのポートを確認する事でOSに正しく認識されているか確認する。
認識がおかしい場合、以下の事を試してみる。
- USBを抜き差しする
- USBを別のUSBポートに差し替える
- Arduino IDEを一度閉じてから開きなおす
- USBケーブルを交換する
- PCを再起動する(一度電源を完全に落とす事も試してみて下さい)
設定を確認する
ボードとシリアルポートが正しく選択されているか確認する。マイコンボードの種類が正しく選択されていないと、スケッチのビルドも正しく行えず書き込みも出来なくなる。
Arduino Nanoの場合、2018年1月にブートローダーが新しくなっており、製造時期によりブートローダーを正しく選択する必要がある。古いArduino Nanoの場合、プロセッサとして「ATmega326P (Old Bootloader)」を選択する。
プロセッサの選択肢にOld Bootloaderが出てこない場合、Arduino IDEが古い可能性があるので、Arduino IDEが最新ではない場合更新する。
周辺デバイスを外す
周辺デバイスが接続されていると書き込みに失敗する事がある。特に、D0(RX)/D1(TX)ピンやRSTピンを別の用途や別のデバイスと接続している場合失敗しがち。
周辺デバイスを外した状態(出来るだけArduino素の状態)でUSB接続してみる。電力を多く消費する周辺デバイスが接続されている場合も失敗しがち。
Arduino本体を疑う
Arduinoはマイコンと、USBシリアル変換のチップ構成になっている。USBデバイスとして認識されていても、USBシリアル変換のチップが生きているだけで、マイコンの方が異常となっているケースもある。
マイコンが異常となっているケースとしては
- マイコンが完全に壊れてしまっている
- データ消失などでブートローダーが消えるか異常になっている
- 製品出荷時ブートローダーが書き込まれていない(中国の互換品で良くあります)
などがある。
マイコンは生きていてブートローダーが無い状態であれば、マイコンにブートローダーを書き込み直す事で復旧する可能性がある。マイコンのブートローダー異常に確認方法や復旧方法は別の記事に記載予定。
その他試してみる事
トラブルシューティングは問題の切り分けが大事。どこに、どちらに問題があるのか? Arduino側か、PC側か。予備のArduinoがあれば、Arduinoを交換してみる。他に使えるPCがあれば、PCを変えてみる。