見出し画像

M5StickC-PlusのBluetoothを使用する

こんにちは、ロック204チャンネルです。
今回は「M5StickC-PlusのBluetoothを使用する」と題しお送りします。

最初にプログラムの概要について説明します。
今回はM5StickC-Plusに内蔵された加速度センサーのデータを
Bluetoothシリアルを使ってパソコンにデータを送るプログラムを作成しましたので解説します。

こちらがプログラムの全体を表します。
プログラムはArduino IDEを使用し作成しております。

プログラムの最初の部分の説明をおこないます。
1行はM5スティックの動作に必要なインクルードファイルの取り込みです。
2行目はBluetoothシリアルに必要なインクルードファイルの取り込みで、このファイルを使用してデータをPCに出力して行きます。
4行はBluetoothシリアルをbtsとして設定します。
5行目は加速度データを入れる配列を用意しています。

次にstup部分について説明して行きます
7行でM5Stickの使用を開始します。
8行では、Bluetoothシリアルの名前として”M5StickCPlus”と宣言し、この名前でPCよりペアリングできるように設定します。
9行は、M5Stickに内蔵されたセンサーを初期化しています。
以降10行から14行にかけてはM5Stickに表示される文字の設定を行っています。

こちらがループ部分となります。
18行の” M5.IMU.getAccelData(&acc[0], &acc[1], &acc[2])”は加速度センサーのx軸の値、y軸の値、z軸の値を取得する命令となります。
この命令により取り込まれたデータは最大値が1となり小さい値となるので20行で1000倍して値を大きくして整数部分のみを取り変数valueに代入しています。
この値を21行でM5Stickに表示し、22行でBluetoothシリアルをとおし出力を行っています。
23行は100mm秒プログラムを停止しループの先頭に戻ります。
以上がプログラムの説明となります。

Arduino ideを用いプログラムを書き込む場合はUSBケーブルをつなぐとポートが表示されますので、そのポートを用いてプログラムを書き込みます。
またプログラムを実行すると二つのポートが追加されます。これはBluetoothシリアルのポートとなります。
プログラムからのデータを受信するには、追加されたポートのどちらかにチェックを入れ受信状態を確認してください。
受信状態の確認はシリアルモニターを通じ行います。

シリアルモニターとM5Stickの通信速度が合致しない場合は受信できないことがありますので
パソコンのデバイスマネージャーを開きポートのプロパティを確認し通信速度を設定してください。

シリアルモニターにおいても通信速度の設定欄がありますので、ここで同様に設定を行うと受信することができます。


こちらはシリアルplotterを使用した受信状態を表します。
それではプログラムの実行状況を見て行きましょう。



プログラムの実行状況


#include <M5StickCPlus.h>
#include "BluetoothSerial.h"//bluetoothを使用したシリアル出力に使用

BluetoothSerial bts;
float acc[3]; //加速度を取り込む配列
void setup() {
  M5.begin();
  bts.begin("MSStickCPlus");//接続するBlutoothに表示される
  M5.Imu.Init();//センサーを初期化する
  M5.Lcd.setTextColor(WHITE);
  M5.Lcd.setTextFont(4);
  M5.Lcd.setTextSize(3);
  M5.Lcd.setRotation(1);
  M5.Lcd.setTextDatum(4);
}

void loop() {
  M5.IMU.getAccelData(&acc[0], &acc[1], &acc[2]); // 加速度の取得
  M5.Lcd.fillScreen(BLACK);
  int value=acc[0]*1000; //加速度のx軸成分をmGに変換
  M5.Lcd.drawNumber(value, 20, 50);
  bts.println(value);//加速度データを出力
  delay(100);
}


この記事が気に入ったらサポートをしてみませんか?