FRDM-KL25Z mbed

はじめに

¥1,730+送料で購入できるFRDM-KL25Zには下記のようなメリットがあります。

秋月電子でArduinoUnoRev3が¥2,940(2015年1月現在)ですから、30%OFFで入手できます。mbedはC++言語ベースですので、修得すればWindousAPIやIphone、アンドロイドなどのアプリケーション開発にも役立ちます。mbedの書き込みインターフェースはopenSDKとして動作し、パソコンからは外部記憶装置(USBメモリーなど)として認識されるので、USBケーブルで接続したFRDN-KL25Zはドライブとして表示されます。
更にopenSDKをOSBDMに書き換える事が可能で、FreescaleのKinetis専用開発環境KinetisSDKを利用してEclipsベースの本格的なプログラム開発とデバッグが可能です。

購入したFRDM-KL25Zがどの様な動作をするか?下のビデオをご覧ください。


更に完成しているデモプログラムを使ってFRDM-KL25Zのプログラムを書き換えの様子をビデオにしてみました。


ArduinoUnoとFRDM-KL25Zコネクタピン配置の互換性

下図はFRDM-KL25ZとArduinUnoの外観を比較した図です。ArduinoUnoが1列のコネクタに対して、FRDM-KL25Zは2列です。外側のピンがArduinoUnoと互換があります。プログラムで使用するピンの名前も互換があるのでArduino用に製作したプログラムの移行も容易になっています。FRDM-KL25Zにロープロピンソケットを取り付けておけば、外側に標準ピンヘッダ、内側にロープロピンヘッダを使用する事で2段構成が可能となり、多くのGPIOを有効に利用する事が可能でしょう。

   

下の写真がFRDM-KL25Zに秋月電子のロープロピンソケットを実装した物です。右のユニバーサル基板は同じく秋月電子のArduino用ユニバーサル基板ガラスコンポジット(一枚\200)です。

mbedのサインアップ

”mbed入門”で検索すれば複数のサイトでサインアップ方法が紹介されていますので、最新の情報でサインアップを行う事をお勧めします。
mbedの公式サイトはhttp://mbed.org/ですが、日本語化されたサイトがmbed 日本語リファレンス (私家版)が便利でしょう。右上のLogin or signupをクリックすれば登録画面が表示されます。一度サインアップしたらこのボタンはLoginボタンとなります。

下がログイン画面です。サインアップすればユーザー名とパスワード入力でログインできます。サインアップ右側のSignupボタンをクリックします。


再度アカウントが有るか質問してきますので右側のNo, I haven't created an accoount beforeをクリックします。

↓これがサインアップ情報入力画面です。メールアドレスを入力し、ユーザー名はアルファベットで好きな名前にしてください。パスワードは忘れないようにしっかり控えておいてください。ファーストネームは名前、姓は名字をアルファベットで入力します。全て入力したらSignupボタンをクリックして終了です。登録してもメール等は来なかったような気がします。間違っていたら申し訳ありません。m(_ _)m

mbedへログイン

mbed日本語リファレンス(私家版)でログインして、右上にCompilerというボタンが有りますのでクリックすると。下の図のような開発環境が表示されます。
何もインポートされていないのでMy Programsだけが表示されているでしょう。右上にFRDM-KL25Zと表示されているのがプラットフォーム、つまりマイコンボードの選択です。

FRDM-KL25Zと表示されていない時はまず、クリックしてください。AddPlatformというボタンが左下にありますのでクリックしてください。下図のようにプラットフォームが表示されますのでFRDM-KL25Zをクリックしてください。これでmbedは自動的に設定されます。

プラットフォームを選択すると次からは説明などが表示されますので見てください。下図はIOコネクタの各ピンに割り当てられた名前を表しています。例えば左下の緑でA0と表示されているピンはデジタル入出力ピンとして”A0”で指定する事が出来ます。A0 = 1;とプログラムに記述するとこのピンは3.3vを出力します。A0はArduinoと互換性を持たせるために付けられているようです。また、同じぴンに青色でPTB0と示されていますのでPTB0 = 1;と記述しても同様の動作になります。三色発光のLEDにも名前が付いています。LED1が赤、LED2が緑、LED3が青色LEDになります。

   

それでは早速、プログラムをインポートして見ましょう。下図の@インポートボタンをクリックし、AProgramタブをクリックします。少し待つとリストにインポート可能なプログラムが表示されますので一番上のmbed_blinkyを選択するとこの行だけが青くなります。

CのInportボタンをクリックすると確認画面が表示されますのでImportをクリックしてください。Import Nameを書き換えれば好きなプログラム名に変更できますが、Import後でも変更できるので今はそのままでOKです。

左側のツリー表示にmbed_blinkyが表示されその下にmain.cppが表示されますのでクリックしてください。

表示されたmain.cppがプログラムです。行番号が表示されているので順番に説明します。プログラムは命令を順番に記述した命令リストのような物です。約束に従って命令を記述すればマイコンが順番に実行してくれます。記述言語はC++ですから命令を”関数”と呼びます。
1行目 #include "mbed.h" はmbed標準のライブラリ(関数が沢山記述されている)を使用する事を宣言しています。
3行目 DigitalOut myled(LED1); デジタルアウト関数を呼び出して、LED1のポートを出力に設定し、myledと呼ぶ。
5行目 int main(){ はプログラムの始まりです。プログラムはここから始まります。
6行目 while(1) { はwhile関数で、括弧の中の値が1ならば繰り返すという関数です。括弧の中は1ですから永久に繰り返すことになります。このような場合をループと呼びます。
7行目 myled = 1; 赤LEDをOFFにします。
8行目 wait(0.2); wait関数を呼び出します。括弧内の数値(秒)だけ待機します。この場合0.2秒間待機します。
9行目 myled = 0; 赤LEDをONにします。
10行目 0.2秒間待機します。
11行目 while(1);に戻ります。

FRDM-KL25Zに書き込むには画面上の左から5番目Compile(コンパイルボタン)をクリックします。
エラーが無ければmbed_blinky.binというファイルがダウンロードされますので保存します。
ダウンロードフォルダに格納されたmbed_blinky.binをドラッグ&ドロップでFRDM-KL25Zフォルダにコピーすれば直ちに実行されます。
ドラッグ&ドロップの方法はFRDM-KL25Zマイコンボードお試し1をご覧ください。

赤いLEDが点滅したでしょうか?プログラムのLED1の部分をLED2に書き換えてコンパイルすると緑LEDの点滅になります。LED3は青です。LED OFFの後のwait時間を0.2から0.5に変えると消灯時間が長くなります。LED ONの後のwait時間を長くすれば点灯時間が長くなります。数値を変えて色々試してみてください。