Arduinoに使われているUSB端子は、USB Mini-Bとなっており、今やArduino専用のケーブルと化している方も多いと思います(昔はデジカメに使っていたけどデジカメ自体を使っていない…)。そこで、Type-Cの互換性Arduinoを購入したときのトラブルを紹介します。同じような症状で悩んでいる方の参考になれば幸いです。
購入したArduino互換機とトラブル
私が購入したのは、「Arduino nano atmega328P 互換品 Type-C」という製品です。見た目やサイズ感は従来のNanoとほぼ同じで、違いはUSBポートがType-Cに変更されていることくらい。しかし、いざ書き込みをしようとすると、なぜかうまくいかない。ボードの選択も合っているし、接続も確認済み。それでもエラーが出続け、「これは不良品では…?」と半ば諦めかけていました。
発生したエラー内容
Arduino IDEでスケッチをコンパイルまでは問題なくできましたが、書き込みの段階で以下のようなエラーが発生しました。
avrdude: ser_open(): can't set com-state for ".\COM8"
スケッチ書き込み中にエラーが発生しましたCOMポートは適切に選んでいたつもりで、「COM8」に表示されていたArduinoを選択していました。しかし、COM番号を変えても、再起動しても、ドライバーの更新をしても、同様のエラーが出続けました。
解決のカギはCH340チップのドライバー!
いろいろと調べた結果、問題の原因はUSBシリアル変換チップ(CH340C)にあることが分かりました。このチップは、PCとArduino互換機との通信を仲介するもので、CH340シリーズは中国製の互換機でよく使われています。
WindowsなどのOSには最初からこのドライバーが入っていない場合が多く、自分でインストールする必要があります。つまり、ドライバーが入っていない=PCがArduinoを正しく認識できない=書き込みできないという構図になっていたのです。
CH340ドライバーのインストール方法
以下のリンク先から、CH340のドライバーをダウンロードし、インストールするだけでOKです。
インストール後は、デバイスマネージャーでポートに「USB-SERIAL CH340」などと表示されるようになり、Arduino IDEでも正常に書き込みができるようになりました。トラブルがまるで嘘のように解消され、あっけないほど簡単でした。
結論
USB Type-Cのドライバーをインストールするだけ。でした。。。私の場合は、USBの変換にCH340Cチップが搭載されていたため、ドライバーをインストールすることで解決しました。


コメント