Arduino NANO 33 BLEをArduinoIDEで使えるようにする方法

#Arduino NANO 33 BLEとは？
最近、ArduinoからBLEをするにはかなり良さげなボードが発売されました。詳細は以下のURLをみてください
[Switch Science紹介記事](https://mag.switch-science.com/2019/05/21/a-new-nano-family/)
[Arduino本家サイト](https://store.arduino.cc/usa/nano-33-ble)

このボードにはArduinoNANOのサイズにublox社製NINA B306と呼ばれるモジュールが搭載されており、そのモジュールにはNordic社製nRF52832（Arm Cortex-M4F）というblutoothチップが搭載されています。また９軸センサーも搭載されています。

また、私は購入しませんでしたが色々なセンサーが搭載されたArduino Nano 33 BLE Senseという姉妹品も存在しています。


#ArdinoIDEでのセットアップ
大まかな流れとしてはボードのインストールとBluetoothライブラリ、９軸センサーライブラリのインストールです。

まずツール→ボード→ボードマネージャと移動し、検索欄にBLEと入力すると
`ArduinoCore-nRF528x-mbedos`
というボードが出てくるのでこれをインストールします。
![スクリーンショット 2019-08-17 15.22.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/139a72a0-c9f6-db2a-57f1-b7c6f3ecd72a.png)

次にBluetoothの機能を使うためにArduinoBLEライブラリを導入します。
スケッチ→ライブラリをインクルード→ライブラリマネージャ
と移動し、検索欄に`ArduinoBLE`を入れましょう。

![スクリーンショット 2019-08-17 15.25.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/c4c44a1e-1fed-0029-4c45-53eb2c3c69de.png)
インストールのボタンでインストールします。

最後に９軸センサーのライブラリを導入します。
スケッチ→ライブラリをインクルード→ライブラリマネージャ
と移動し、検索欄に`Arduino_LSM9DS1`を入れましょう。
![スクリーンショット 2019-08-17 15.52.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/a1e3df0e-e03f-980e-d788-b4fa6c5a674f.png)
インストールのボタンでインストールします。

#Bluetooth機能のチェック
ツール→ボードの一覧からArduino 33 BLEを選択してボードを変更しましょう。
![スクリーンショット 2019-08-17 15.29.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/eaba9703-bd01-6e93-74b4-99ce47780ac0.png)

次にサンプルスケッチを開きます。
![スクリーンショット 2019-08-17 15.30.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/4e4e8eb7-880d-c53f-fbc3-c3434ad59e6e.png)
今回はButtonLEDを選びました。

それを書き込んでシリアルモニターを開くと
![スクリーンショット 2019-08-17 15.34.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/137be565-96e3-5c8d-1cfe-3819265bd066.png)
このように表示されているとOKです。

次は手持ちの端末で実際に確認してみましょう。
スマートフォンにnRF Connectをインストールして確認します。

このようにButtonLEDというデバイスが表示されるので接続しましょう。
![Screenshot_2019-08-17-15-35-41-917_no_nordicsemi_android_mcp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/a1be19a7-558f-6f27-34ac-b66d082e6d06.png)

接続するとサービス一覧が表示されます。
LED Characteristicとして定義されている19b10011で始まるCharacteristicに値を書き込みます。
![Screenshot_2019-08-17-15-36-51-216_no_nordicsemi_android_mcp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/d65458ec-3a14-c42e-f14f-f2e2d1deee7c.png)

0x00と入力するとオレンジのLEDが消えます。
![Screenshot_2019-08-17-15-36-57-095_no_nordicsemi_android_mcp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/c383e2e0-cc7f-4001-3456-fb88c5ac4962.png)


これでBlutoothの動作確認は終了です。

# 9軸センサーのチェック
サンプルスケッチからSimpleGyroscopeを選んで書き込みましょう
![スクリーンショット 2019-08-17 15.52.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262314/db33a6ee-b15d-92b4-034c-6671536f4bfa.png)

シリアルモニターに値がズラーっと出てくるとOKです。

いっぱいこのボードを使って遊んでいきましょう:relaxed:

#リンク集
[ArduinoBLEのリファレンス](https://www.arduino.cc/en/Reference/ArduinoBLE)
[ArduinoCore-nRF528x-mbedos GitHub](https://github.com/arduino/ArduinoCore-nRF528x-mbedos)
[ArduinoBLE GitHub](https://github.com/arduino-libraries/ArduinoBLE)
[Arduino_LSM9DS1 GitHub](https://github.com/arduino-libraries/Arduino_LSM9DS1)