ARMマイコンが搭載されたマイコンボードを使って、LEDを点滅(Lチカ)させます。「mbedとは何か?」から、mbedでのプログラム開発を初心者向けに書いた入門記事です。
mbedとは
mbedとは
mbed(エンベッド)はプロトタイプ向けのマイコンボード、およびそのデバイスのプログラミング環境のことをいいます。Arduinoに近いですが、開発環境をローカルPC環境にインストールせず、インターネット上での開発が可能な点が大きく違います。
mbedでは、ブラウザ上で開発を行い、サーバでプログラムのコンパイルを行います。コンパイルが完了したら、ローカルPCに接続されたmbed デバイスに書き込みを行います。
デバイスの書き込みも非常に簡単で、mbed デバイスをPCに接続すると、メモリーカードのように認識されるため、コンパイル済みの実行ファイルを書き込むだけです。
では、実際にmbedで開発してプログラムをマイコンに書き込んでみます。作るプログラムは、LEDを点滅させるだけの簡単なものです。
用意するもの
mbedで開発を行うのに最低限必要なものは、以下のものだけです。
・mbed対応のマイコンボード
・USBケーブル
mbed対応のマイコンボードは、STM32 Nucleoを使います。
Arduino UNO R3と互換性があるため、Arduino向けのシールドも一部流用が可能です。
また、価格が2000円以下と安いため、入門用に簡単に使えるARMマイコンのボードであるといえます。
USBケーブルはminiBを用意します。うちに余っているものを使用すればOKです。
アカウント登録
LEDを点滅する簡単なプログラムを実行して、mbedでの簡単な開発を体験してみます。
まずはmbedデバイスをusbケーブルでpcに接続します。デバイスが認識されるとディスクとして、表示されます。
その中にmbedというファイルがあるので、開いてmbedサイトにアクセスします。
mbedのサイトにアクセスしたらユーザー登録を行います。
Sign upを選択し、新たにアカウントを作成しましょう。
メールアドレスとユーザー名、姓名、パスワードを入力して、登録します。
登録確認のメールがくるので、指定されたURLを開いて登録完了です。
登録が完了すると、接続したデバイスが登録済みのボードとして表示されています。
動作確認でLED点滅(Lチカ)
LEDを点滅させて、ボードの動作確認をしてみます。
mbedのページにログインして、compilerを開きます。
ブラウザ上に開発環境が開きます。
開発環境が開いたら、「New Program」を選択して、プログラムを作成します。
新規で開発する場合は、Empty Programを選択すればよいですが、LEDを点滅させるテンプレート「Blinky LED test for the ST Nucleo boards」があらかじめ用意されているため、それを選択します。
テンプレートを開くと、プログラムがすでに準備されていますが、ST Nucleo F401REのLEDはLED2しか点滅を確認できないようなので、LED1→LED2と変更して、プログラムを修正します。
修正が完了したら、Saveでプログラムを保存して、Compileを実行します。
プログラムのコンパイルが完了すると、ダウンロードが自動的に始まります。
ダウンロードしたプログラムを、ドライブとして認識されたmbedデバイスに書き込む完了です。書き込みが終わるとプログラムが実行されます。
LED2が点滅するところを確認できたら完了です。
Mac(Yosemite)で書き込みできない問題
Mac(Yosemite)では、mbedデバイス接続時に読み取り専用ディスクになって書き込みができないことがあります。いづれ解消されるかもしれませんが、mbedのフォーラムに回避方法が記載されているため、それを使用させてもらいます。
Yosemite file copier for HDK-based mbed
上記のスクリプトでは、ドライブに直接ドラッグアンドドロップする代わりに、ファイルをドラッグアンドドロップするとmbedデバイスに書き込んでくれるようです。