Check! Switch Science mbed TY51822r3 を使い始める

こんにちは、 @dz_ こと大平かづみです。

Prologue - はじめに
====
[スイッチサイエンス](https://www.switch-science.com/ "スイッチサイエンス")社の [mbed TY51822r3](https://www.switch-science.com/catalog/2574/ "Switch Science mbed TY51822r3 - スイッチサイエンス") を手に入れたので、さっそく遊んでみます！

[mbed電子工作レシピ](http://www.shoeisha.co.jp/book/detail/9784798145945 "mbed電子工作レシピ 電子書籍 ｜ 翔泳社の本") という書籍も購入したのでこれを大いに参考にして進めます。

mbed TY51822r3 とは
====
mbed とは
----
[mbed電子工作レシピ](http://www.shoeisha.co.jp/book/detail/9784798145945 "mbed電子工作レシピ 電子書籍 ｜ 翔泳社の本") からかいつまんで引用しますと、mbed は、WebベースのIDE（開発環境）で開発できるマイコンです。

（最近では、mbed OS という新しいプラットフォーム（？）も開発されているようですが、この話はこの記事では取り上げません。）

mbed プラットフォームの仕様が公開されているので、これをベースとした製品が多く作られています。ベーシックなものから、Bluetooth が搭載されていたり、車輪付きのロボット型の mbed など、さまざまな製品があります。仕様が共通なので、基本の使い方を理解していればそれらを用途に合わせて利用することができます。

Bluetooth 搭載の mbed TY51822r3
----
スイッチサイエンス社製 mbed TY51822r3 は、Bluetooth を搭載した mbed マイコンです。

詳細はスイッチサイエンス社の商品ページ [mbed TY51822r3](https://www.switch-science.com/catalog/2574/ "Switch Science mbed TY51822r3 - スイッチサイエンス") をご参照くださいませ。

おおまかな流れ
====

1. mbed の開発者サイトのアカウントを作成する
2. mbed TY51822r3 を対象にしたプロジェクトを作る
3. サンプルプログラム Blinky でLチカする
4. Windows でシリアル通信をする

手順
====
mbed の開発者サイトのアカウントを作成する
----
[mbed開発者サイト](https://developer.mbed.org/ "Development Platform for Devices | mbed") で sign up しましょう。確認メールが届きますので、メール上の URL をクリックして承認してください。

![20160305_mbed_001.png](https://qiita-image-store.s3.amazonaws.com/0/3812/a3167b53-c203-28cc-825e-d7b1ec24c064.png)
![20160305_mbed_002.png](https://qiita-image-store.s3.amazonaws.com/0/3812/a9fd0bc2-f016-2f59-67af-88833f88dae4.png)

mbed TY51822r3 を対象にしたプロジェクトを作る
----
mbed を PC に接続します。

![20160305_mbed_010.png](https://qiita-image-store.s3.amazonaws.com/0/3812/9230075e-48c7-10cb-6012-0406fcf39c09.png)

mbed を PC を接続すると、「MBED」というドライブが現れます。その中にある `MBED.HTM` を開くとこのボードのページが開きます。さらに、「Open mbed Compiler」をクリックすると、 mbed TY51822r3 のプラットフォームが指定されたプロジェクトを新規作成できます。

![20160305_mbed_005.png](https://qiita-image-store.s3.amazonaws.com/0/3812/c5acfabb-12bb-0723-8ab7-133459b953d9.png)

サンプルプログラム Blinky でLチカする
----
Lチカを試したいので、そのまま「Blinkly LED Hello World」のテンプレートでプロジェクトを作成します。「コンパイル」のボタンをクリックすると、コンパイルされ、実行ファイルがダウンロードされます。

![20160305_mbed_006.png](https://qiita-image-store.s3.amazonaws.com/0/3812/900b6050-451a-d372-23ce-9299c0adc6dd.png)

この Blinky で光らせるのは、 `LED1` ですが、mbed TY51822r3 の `LED1` はオンボードにはなく、ピンが割り当てられています。

mbed 開発サイトの製品ページ [Switch Science mbed TY51822r3 | mbed](https://developer.mbed.org/platforms/Switch-Science-mbed-TY51822r3/ "Switch Science mbed TY51822r3 | mbed") にピン配置があるので確認すると、左下方に `LED1` があります。これに対して配線をしましょう。

![20160305_mbed_012.png](https://qiita-image-store.s3.amazonaws.com/0/3812/17a3aef2-b1b6-4606-c054-84d11b1e64ee.png)

配線がすんだら、先ほどダウンロードしたファイルを「MBED」ドライブにドラッグ&ドロップします。すると自動的に書き込みが始まります。

![20160305_mbed_009.png](https://qiita-image-store.s3.amazonaws.com/0/3812/cba24cea-bfec-5c94-4975-84cc0049ff50.png)

書き込みが終わると一度USBの接続が切れます。基盤中央にあるボタンを押してリセットすると、Lチカが始まります。

![20160305_mbed_011.png](https://qiita-image-store.s3.amazonaws.com/0/3812/3f3d4a29-2181-d232-0e87-fcda9ae91ce3.png)

Windows でシリアル通信をする
----
Windows で mbed とシリアル通信をするには、ドライバが必要です。[Windows serial configuration](https://developer.mbed.org/handbook/Windows-serial-configuration "Windows serial configuration - Handbook | mbed") からインストーラーをダウンロードし、指示に従いインストールしましょう。インストールの際は、mbed をUSBで接続してからインストーラーを実行してください。

![20160305_mbed_007.png](https://qiita-image-store.s3.amazonaws.com/0/3812/a330ae5c-5d86-e6c7-260d-ef6385def61a.png)

mbed でシリアル出力するには、このようにコードを書きます。Blinky のコードに★の行を追加しています。（上記書籍を参考にしました。）コンパイルして、mbed に書き込みましょう。

```cpp:main.cpp
#include "mbed.h"

DigitalOut myled(LED1);
Serial pc(USBTX, USBRX);    // ★ シリアル初期化

int main() {
    while(1) {
        myled = 1;
        pc.printf("LED ON \r\n");   // ★ シリアル出力
        wait(0.2);
        myled = 0;
        pc.printf("LED OFF \r\n");  // ★ シリアル出力
        wait(0.2);
    }
}
```

シリアル出力は、どのソフトでも構いません。私がよく使う Arduino IDE のシリアルモニタでも構いませんし、上記書籍で紹介されている [Roger Meier's Freeware](http://freeware.the-meiers.org/ ”Roger Meier's Freeware”) の「CoolTerm」などのターミナルソフトが利用できます。

![20160305_mbed_008.png](https://qiita-image-store.s3.amazonaws.com/0/3812/b304a301-dad6-23ff-f425-3fa4a2bc2e81.png)


Epilogue - おわりに
====
Lチカとシリアル出力で基本的な動作確認ができました。

この mbed TY51822r3 は Bluetooth を搭載しているので、はやく Bluetooth を使えるところまでたどり着きたいです！