北東北 LabVIEWユーザー会

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ESP32のBluetoothSerialとLabVIEW

ESP32はArduino IDEでもプログラムが書き込めるWiFiとBluetoothを内蔵したマイクロコントローラです。

ESP32と小さなカラーLCDにリアルタイムクロック、加速度ジャイロセンサやマイクロフォン、LEDなどがコンパクトに収められていて、しかもバッテリーまで入って2000円程度で購入できるM5StickCを使ってみました。

3軸加速度データを、ブルートゥースを使った仮想シリアルポートでWindows PCに送り、LabVIEWで受け取って表示します。

 

フロントパネル.png

 

ブロックダイアグラム.png

 

 

Arduinoプログラム

-------------------------------------------------------------

#include <M5StickC.h>
#include "BluetoothSerial.h"

float accX = 0.0F;
float accY = 0.0F;
float accZ = 0.0F;

BluetoothSerial SerialBT;

void setup() {
Serial.begin(115200);
Serial.println("M5_Acc.ino");

SerialBT.begin("ESP32");

M5.begin();
M5.IMU.Init();
M5.Lcd.setRotation(3);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextSize(2);
}

void loop() {
M5.IMU.getAccelData(&accX,&accY,&accZ);
//Serial.printf("%7.4f, %7.4f, %7.4f\n", accX, accY, accZ);
SerialBT.printf("%7.4f, %7.4f, %7.4f\n", accX, accY, accZ);
M5.Lcd.setCursor(20, 5);
M5.Lcd.printf("X: %7.4f", accX);
M5.Lcd.setCursor(20, 30);
M5.Lcd.printf("Y: %7.4f", accY);
M5.Lcd.setCursor(20, 55);
M5.Lcd.printf("Z: %7.4f", accZ);
delay(10);
}

 

-----------------------------------------------------------------------

 

 

 

 

 

(編集中)

メッセージ1/5
4,542件の閲覧回数

編集ができなくなったので継続します。

 

Bluetoothでデータを受け取っているPCの前でM5StickCを振りながら撮影しました。デーブルがあるとデータが取りにくい状況では役に立つのではないでしょうか。

 

M4070474 2.JPG

 

VI「BT_M5-Acc.vi」はLabVIEW2014ですので、機会があれば活用ください。

 

Windows側では「Windowsの設定 > Bluetoothとその他のデバイス」でM5StickCとペアリングする必要があります。Arduinoプログラムの中で"ESP32"という名前で通信していますので、ESP32とペアリングすることになります。

 

 

bluetooth.png

 

ペアリングに成功するとBluetoothリンク経由のCOMポートがあらわれます。

デバイスマネージャー.png

 

通信設定はプロパティでできるようです。VIでボーレートが合っていなくとも

通信できていたので不思議ですが、このあと少し調べないといけません。

プロパティ.png

 

M5StickCが面白そうだと

興味を持っていただければありがたいです。

(終了)

メッセージ2/5
4,523件の閲覧回数

かさいです。

運動不足対策用に購入した室内バイクにM5StickCを取り付けて

ケイデンスモニタ(クランクの回転数計)を作るプロジェクトを始めました。

 

IMG_4548.JPGIMG_4547.JPG

 

おおはしさんのVIを基にしてデータ保存機能を追加て実測データを取り、

測定データを見ながらケイデンス算出アルゴリズムを設計します。

収録ソフト.png収録データ表示ソフト.png

収録用VI(BT_M5_Acc&Log.vi)                                          収録データファイル表示用VI(AccLogReader.vi)

 

実際に測定を行ってデータを見ると、最初に考えていた単純な処理ではうまくいかないことが分かってきました。

現在アルゴリズム再検討中です。

実測データの収集や可視化が簡単にできるのがLabVIEWのいいところですね。

そして工作無しでこんなデータが取り出せるM5StickCはすごいです。これが2000円程度で買えるとは!

M5StickC紹介してくださって感謝です😉

すべてをダウンロード
メッセージ3/5
4,432件の閲覧回数

かさいさん こんにちは、

 

室内で使う無線ならではの良いアプリケーションだと思いました。

 

何にM5StickCを取り付けるにせよ、BT_M5-Acc&Log.viは便利にログが取れそうですね。紹介ありがとうございました。

 

LabVIEW Community EditionとM5StickCはすごく面白いと思いますね。

日本語版もあるNXGでももちろん使えますから、中高生向きに良いんじゃないかな。

 

0 件の賞賛
メッセージ4/5
4,428件の閲覧回数

倒立振子は制御のチャレンジとして人気があります。ただし、ハードとソフトが適度に融合しないと見た目以上に難しいような気がします。

 

最近、Micro:bitに興味が出て触っているのですが、ついでにM5StickCを使った倒立振子のキットを購入しました。

 

bala.c.jpg

 

重心が低くて、センサーが高い位置にあって、大きなタイヤなので、見た目は好感が持てました。

Arduinoのサンプルプログラムをダウンロードすると安定して直立を維持しています。

https://github.com/m5stack/M5-ProductExampleCodes/tree/master/App/BalaC/Arduino 

 

M8250017s.JPG

 

動作を勉強するのにちょうど良いので、センサーとモーターへの信号をBluetoothSerialでLabVIEWに取り込んでみました。

 

M8280027s.JPG

 

手軽に無線でデータ通信できるのがBluetoothSerialの便利なところです。

 

メッセージ5/5
4,226件の閲覧回数