日々是好日

日記とかそういったもの

arduino micro

2014-03-08 18:49:17 | 電気・電子・PC

最近は、短文投稿サイトwのようなちょろっとした季節の話題などしか書いていないので、たまにはなにか実のあることを書かねばいかんでしょう。そういうことで、最近いじり始めたarduino microの立ち上げのところをちょっとだけ書いておきます。

いままでarduino unoという、まあ標準的というか入門的なものをつかっていたのですが、仕事で使う装置の制御として組み込むにはちょっと大きいかなと思いましてより小型のarduino microというものを(とりあえず私費で)購入してみました。unoからmicroに乗り換えるにあたって少々ごたごたがありました。なにか解決事例などないものかとネット検索してみましたが、でてくるのはunoの話ばかりでmicroの情報はありませんでした。結局自力で解決してしまったので、その解決法をここにメモをしておきます。

とりあえず、arduinoのプログラムに使う統合環境(IDE)のバージョンが古いとmicroのプログラムは出来ません。いま使っているIDEがmicroに対応しているかどうかはIDEの「ツール」メニュー内の「マイコンボード」で一覧をだしたときにArduino microと言う項目があればOKで、なければArduinoの公式サイトから新しいバージョンのものをダウンロード&インストールしてください。

あとはArduino microをPCにUSB接続するとデバイスが見つかったと言われるので、Arduino IDEをインストールしたフォルダ(c:\program files\arduino)の中にあるdriverフォルダを指定すればあとは勝手にやってくれます。うまく行ったかどうかは、デバイスマネージャー内のポートという項目の中に、Arduino micro(COMx)のような表示があればバッチリです。COMxのxはシステムによって違います。Unoも同様でして、このポート番号xをIDEの方でArduinoを指定する際に使うのですが、これがすごいクセモノでした。

ここまでできてしまえば、あとは実際にテストするだけなんです。ですから、IDEの「ファイル」メニュー→「スケッチの例」→「01.Basic」→「Brink」を選びます。Brinkは言わずもがなで、Arduinoのデジタルポート13番に実装されているLEDを点滅させるというまさにHellow world!的なスケッチ(arduinoではプログラムのことをスケッチと呼ぶ)なんです。このBrinkを呼び出して、書き込みボタンを押せばコンパイルされてArduinoにアップロードされるはずなんです。しかし、そうならなかった。

どうもコンパイルはできて実際に書く段階になると、WindowsがUSBデバイスを抜き差しするときに発するピンポン音を2回だすし、メッセージは書き込んでいます、進捗を示すバーは終了直前まで進んで止まってしまうという現象に見舞われた。Arduinoが切り離されているのかと見れば、デバイスマネージャーにはきちんとCOM8ポート(自分の場合)を介してつながっていると表示されている。ここで「arduino micro 書き込めない」などと単語を変えながら他の人が同じ問題を報告していないか探したのですがこの問題どころかArduino microそのものの情報もないという状況でした。結局、他人に頼れないなら自力でということでいろいろやってみました。

わかったことを書いていきます。まず、Arduino microの特徴として公式に宣伝されているようにArduino microはUSB接続をソフトウエア的にエミュレートしているんです。UnoはUSB通信用のICをARMマイコンとは独立して持っている。ここでどうやってプログラムしているかというと、ソフトウエアリセットなり、基板上のリセットボタンなりを押すと、しばらくの間書き込み動作に入れるモードになるようです。そして書き込み動作が終了すると再度マイコンはUSBをつかったシリアル通信のエミュレートに戻るようです。デバイスの抜き差し音が2回するのはこの動作に関係してのようです。今回の書き込めない問題の原因はここにありました。

デバイスマネージャーを開きながらArduinoのリセットボタンを押すと、Arduino Boot なんちゃらがCOM7で立ち上がって、その後COM7がなくなり、Arduino microがCOM8として再表示されていました。つまり、リセット直後のプログラム書き込みを待つ時はCOM7、実際に動作している時はCOM8とポート番号を使い分けていたのです。それなのに、IDEでは動作時の8番をArduinoのCOMポートとしていたから制御が迷子になっていたのです。

結局、デバイスマネージャーからArdino micro→右クリック→「プロパティ」→「詳細設定」とすすんでCOMポートの割り当てを7番に変更して、IDEのボードのポートも7番にすることで無事に書き込みできるようになりました。

まとめると、書き込みが終了しない問題に遭遇した場合、Arduinoがデバイスマネージャーで見られるCOMポート番号と違う番号で書き込み待ちをしている可能性がある。そのようなときはデバイスマネージャーを開いたままArduinoのリセットボタンをおすと、もう1つのCOMポート番号が見える時がある。その番号をIDE上でボード指定に使うとうまく書き込める。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« minecraft PE | トップ | ごろごろりん »
最新の画像もっと見る

コメントを投稿

電気・電子・PC」カテゴリの最新記事