
Arduino 101
Arduino 101 が Maker Faire Rom 2015展示会で発表されたことを聞いたことがあるかもしれませんが、たまたまこの素晴らしいイベントに参加して、自分の目でプレゼンテーションを見ました。
Arduino 101について最初に言いたいことは、このデバイスは小型で低価格であるにもかかわらず、十分に装備されているということです。 つまり、32ビットのIntel Quarkマイクロコントローラーを備えているため、経済的です。 384 Kbのフラッシュメモリ、80 KbのSRAM(24 Kbがスケッチに使用可能)があります。 Arduino 101には、DSPセンサーハブ、Bluetooth LE、および加速度計とジャイロスコープを備えた6軸複合センサーが装備されています。 これはすべてIntel Curieモジュールのおかげです。
そこで、Arduino 101を実験して、デジタルおよびアナログデバイスを操作する機能を試してみることにしました。ジャイロセンサー(IMU)とBluetooth LEモジュール(BLE)で何ができるかを確認します。
ハローワールド
それでは、どこから始めますか? 開始するには-USBケーブルを使用してArduino 101をコンピューターに接続し、 Arduino IDEの最新バージョン(1.6.7。私の場合)をダウンロードし、ボードマネージャーを使用して必要なパッケージをインストールします。

ボードマネージャーを起動

パッケージのインストール
インストールが完了すると、メニューに「Arduino 101」という新しいボードが表示されます。

メニューのArduino 101
開始する前に、ボードが関連付けられているCOMポートを指定する必要があります。

COMポートの選択
開発環境がインストールされ、ボードがコンピューターに接続されました。次に、最初の例「Blink」を試してみましょう。
追加のデバイスの例を実行するには、ボードに接続する必要はありません。 内蔵のLEDを使用して、すべてが正常に動作すると点滅します。 対応するメニューから例をダウンロードしてください。

メニューからのロード例
エディターでコードが開いたら、「アップロード」ボタン(矢印が描かれています)をクリックして、そこから収集したスケッチをボードにアップロードする必要があります。

スケッチをボードにアップロードする
ボタンをクリックすると、コードがコンパイルされ、USBを介してボードにアップロードされます。 すべてが正しく行われると、数秒後にArduino 101のLEDが点滅し始めます。 コードを変更することができます。たとえば、LEDの点滅期間を変更できます。 その後、ボード上で再度アンロードし、変更されたバージョンの作業を評価します。
アナログセンサー
そこで、点滅するLEDを見つけました。次に、何らかのセンサーをボードに接続しますが、これを行う前に、Arduino 101に拡張カードを取り付けます。
Grove Starter Kit Plusがあり、そこからセンサーを選択し、簡単なものから始めることにしました。 たとえば、グローブのドキュメントでは「回転角センサー」と呼ばれるポテンショメーターがあります。 センサーをアナログコネクタ、つまりA0に接続してから、リアルタイムで読み取り値を読み取ります。

ポテンショメーターの接続
メニューから「AnalogReadSerial」の例をダウンロードします。

ダウンロード例
ボード上のスケッチをアンロードし、「ツール」メニューからシリアルポートモニター(「シリアルモニター」)を開きます。

ポテンショメーターの測定値
これで、モニターウィンドウにポテンショメーターのデータが表示され、ノブを回すと変化します。
また、もう1つの便利な機能があります-シリアルプロッターツール([ツール]メニューにあります)を使用してアナログデータを使用してグラフをプロットします。 グラフはリアルタイムで表示されます。

データの可視化
デジタルセンサー
アナログセンサーがあり、デジタルセンサーがあります。 デバイスのドキュメントには、この手順と1つまたは別のセンサーの使用方法に関する情報が記載されています。
Groveキットの簡単なタッチセンサーを試してみましょう。 D2デジタルコネクタに接続し、DigitalReadSerialサンプルをロードします。

タッチセンサー接続
スケッチをボードにダウンロードすると、シリアルポートモニターにゼロと1が表示されます。 「0」-タッチなし、「1」-タッチあり。 ここには他に何も表示されません。 問題は、データがバイナリデジタルセンサーから取得されることです。

タッチセンサー測定値
ジャイロセンサー
Arduino 101はIntel Curieモジュールを使用しているため、ジャイロセンサーが使用されています。 この実験では、センサーがすでに組み込まれているため、ボードに接続する必要はありません。
「RawIMUDataSerial」の例を開いて、ボードにアップロードし、シリアルポートモニターを起動してデバイスを振ってみましょう。 モニターでは、6つのグループのインジケーターを観察できます。 センサーは、加速度計とジャイロスコープの組み合わせであるため、6つの自由度があります。

生センサーデータ
このデータは、動きが、たとえば、ステップまたはストロークであるかどうかを調べるために、ボードによって処理できます。 モニターへの影響に関する処理済みデータを表示する「ShockDetect」の例を見てください。

ボード上で実行されたセンサー測定値の分析
他の例が必要ですか? こちらをご覧ください 。
Bluetoothファイル
Intel Curieモジュールのおかげで、Arduino 101にはBluetooth LEが搭載されています。 Bluetoothの使用は非常に簡単で、外部BTトランスミッターは必要ありません。
「BatteryMonitor」の例をダウンロードして、ポテンショメータなどのアナログコネクタA0に接続します。 スケッチでは、ポテンショメーターのデータが取得され、Bluetooth LEメッセージとして送信されます。 例として、それらは特定のバッテリーの充電レベルとして解釈されます。 Bluetooth LEには、たとえば、心拍数やバッテリーレベルデータ用の標準プロファイルがあります。 後者を使用します。
サンプルが開始されると、ボードはBLEデバイスとのペアリングを期待します。 ここでは、Bluetooth LEをサポートするスマートフォンまたはラップトップを使用して、そこからBatteryMonitorSketchとのペアリングを開始できます。

Bluetooth接続を開始する
ペアリング中に、デバイスの名前(Genuino 101)が表示されます。

Genuino 101とのペアリング
そのため、デバイスはWindowsのラップトップに接続されます。 ここで、バッテリ充電センサーをエミュレートするスケッチによって生成されたデータを読み取るためにBLEライブラリが使用するアプリケーションが必要です。 Windows App Storeから「Newbit BLEツール」をインストールしました。 次に-「* 180f *」というIDのBLEデバイスとサービスを選択しました。 このようなIDは、バッテリー充電センサーに接続されていることを意味します(サービス識別子の例のリストは、ウィンドウの左側に表示されます)。

サービス選択
すべての準備が整ったので、右にスクロールして、スケッチが生成するデータを確認できます。 さらに、このインジケーターの変更を受信するようにサブスクライブし、更新時にデータを受信できます。

Bluetoothセンサーの測定値
結論
Arduino 101とも呼ばれるArduino 101は、Arduino互換デバイスに期待されるように、使いやすいです。 Arduino IDEを使用してスケッチを作成できますが、Arduino用のセンサーやその他のモジュールのセットが適しています。 さらに、Arduinoはデバイスと開発環境であるだけでなく、知識と経験を喜んで共有する愛好家のコミュニティでもあることを覚えておく価値があります。
Arduinoボードの標準機能に加えて、Arduino 101には非常に興味深い組み込みモジュールがあります。BluetoothLEと、ジャイロスコープと加速度計の組み合わせです。
上記のことから、Arduino 101は、マイクロコントローラーをベースにしたデバイスの開発をマスターし始めたばかりの人にとって優れた選択肢になります。 しかし、私たちが話している掲示板は、初心者向けではありません。 さらに、プロ向けの強力なプラットフォームでもあるため、モノのインターネット向けのインテリジェントデバイスのプロトタイプをすばやく組み立てることができます。
Arduino 101で構築されたプロトタイプが正しく機能する場合、同じアイデアに基づいて、Intel Curieプラットフォームを使用して独自の製品を作成できます。 このプラットフォーム上のデバイスには、Arduino 101と同じマイクロコントローラーが搭載され、同じ通信機能を備えています。その結果、Arduino 101のおかげで、プロトタイプからIoTソリューションの大量生産に移行するためのシンプルで高速かつ安価な方法が得られます。