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);
}
この記事が気に入ったらサポートをしてみませんか?