M5StickCによるジェスチャ認識(1)~インストールから加速度取得まで
11484 ワード
M5StickCによるジェスチャー認識
- 今回M5StickCを購入(約2,000円)だったので、ジェスチャーなどを簡単に認識できるということで、やってみた。
-
[ここ]で購入できます。
M5StickC系のプログラム関連記事
-
M5StickCによるジェスチャ認識(1)~インストールから加速度取得まで(この記事)
- M5StickCによるジェスチャ認識(2)~サンプルコードによるジェスチャ認識
- M5StickCによるジェスチャ認識(3)~Wi-Fi接続と学習データの生成
- M5StickCによるジェスチャ認識(4)~オリジナルデータによるジェスチャ認識
- M5StickCによる音声認識
※現状の予定になります
開発環境・インストール
- 開発環境:PlatformIO
- OS: Windows10
PlatformIOのインストール
- 詳細な手順については割愛しますが、[ここ]やここなどを参考にするといいかと思います。
-
VSCodeインストーラーを各自のOSに応じてダウンロードする
- とくにインストールをする場合のフォルダの指定ですが、日本語が入らない様に注意してください。
- VSCodeをインストールしたら、VSCodeを起動し、PlatformIOを入れます。
- M5StickCによるジェスチャ認識(1)~インストールから加速度取得まで(この記事)
- M5StickCによるジェスチャ認識(2)~サンプルコードによるジェスチャ認識
- M5StickCによるジェスチャ認識(3)~Wi-Fi接続と学習データの生成
- M5StickCによるジェスチャ認識(4)~オリジナルデータによるジェスチャ認識
- M5StickCによる音声認識 ※現状の予定になります
開発環境・インストール
- 開発環境:PlatformIO
- OS: Windows10
PlatformIOのインストール
- 詳細な手順については割愛しますが、[ここ]やここなどを参考にするといいかと思います。
-
VSCodeインストーラーを各自のOSに応じてダウンロードする
- とくにインストールをする場合のフォルダの指定ですが、日本語が入らない様に注意してください。
- VSCodeをインストールしたら、VSCodeを起動し、PlatformIOを入れます。
↑図の参照:https://dandydot.no-ip.biz/~dot/presen/advtech/seminars/iot_hands_on/install_platformio_ide/README.md.html
- 一度、VSCodeを再起動する。すると、以下のように、PlatformIOのアイコンが出ていればOK
M5StickCで開発できるように
- PlatformIOをインストールしたら、M5StickCで開発できるように設定する。
- 「Platforms」から、「Espressif 32」を検索し、インストールする。
- 次に「Libraries」から、「M5StickC」を検索し、インストールする
サンプルプログラム「Hello World」の作成
- プログラム関係で、一番最初にやるHello Worldを作ってみましょう。
- M5StickCにもともと入っていたものは上書きしますので注意
プロジェクトの作成
- 「PIO Home」の「New Project」から作成する。Nameは適当に「Test01」など、Boardは「M5Stick-C (M5Stick)」を選択する。
プログラムの作成
- プロジェクトが作成されれば、srcの中にあるmain.cppを編集する。基本的にここに書いていく(Arudinoなどで慣れている人は大体わかるはず)
- setup():最初の1回だけ呼ばれるメソッド。初期化などの処理を書く
- loop():継続的に処理をするメソッド。
main.cpp
#include <M5StickC.h>
void setup(){
M5.begin();
M5.Lcd.setRotation(3); //回転
M5.Lcd.setCursor(0, 0, 4); //位置やサイズ
M5.Lcd.print("Hello World"); //表示する文字
}
void loop() {
}
書き込み関連の設定
- 次に、書き込みするための設定を変更する。「platformio.ini」を開いて「upload_speed = 1500000」を追加する。
platformio.ini
[env:m5stick-c]
platform = espressif32
board = m5stick-c
framework = arduino
upload_speed = 1500000
実行
- M5StickCをパソコンとつなげておく
- プログラムを書き終えたら「Build」を押して、ビルドする。エラーがなければ、そのまま「Upload」すると、Hello Worldが表示される。
main.cpp
#include <M5StickC.h>
void setup(){
M5.begin();
M5.Lcd.setRotation(3); //回転
M5.Lcd.setCursor(0, 0, 4); //位置やサイズ
M5.Lcd.print("Hello World"); //表示する文字
}
void loop() {
}
platformio.ini
[env:m5stick-c]
platform = espressif32
board = m5stick-c
framework = arduino
upload_speed = 1500000
- もし書き込みがうまくいかない場合は、COMポートが自動で正しく検出されていませんので、明示的にすることで対応します。
platformio.ini
[env:m5stick-c]
platform = espressif32
board = m5stick-c
framework = arduino
upload_speed = 1500000
upload_port = COM[XX]
monitor_port = COM[XX]
加速度データの取得
- まずは、加速度のデータが取れることを確認するために、プログラムを作成していきます。
- 加速度のプログラムは様々な人が作成していますので、用途に応じて参考にするといいかと思います。
[1] https://rpubs.com/koyo/M5StickC_200101
[2] https://make-muda.net/2019/09/6932/
[3] https://pages.switch-science.com/letsiot/vibration/
プログラムの作成
- New Projectから新しいプログラムを作成する。名前は適当に
main.cpp
#include <M5StickC.h>
float accX = 0.0F;
float accY = 0.0F;
float accZ = 0.0F;
void setup() {
M5.begin();
M5.IMU.Init();
}
void loop() {
M5.update();
M5.Lcd.setRotation(3); //回転
M5.Lcd.setCursor(0, 0, 2); //位置やサイズ
// データ取得
M5.IMU.getAccelData(&accX, &accY, &accZ);
//ディスプレイに表示
M5.Lcd.printf("%5.2f,%5.2f,%5.2f\n", accX, accY, accZ);
delay(10);
}
[1] https://rpubs.com/koyo/M5StickC_200101
[2] https://make-muda.net/2019/09/6932/
[3] https://pages.switch-science.com/letsiot/vibration/
main.cpp
#include <M5StickC.h>
float accX = 0.0F;
float accY = 0.0F;
float accZ = 0.0F;
void setup() {
M5.begin();
M5.IMU.Init();
}
void loop() {
M5.update();
M5.Lcd.setRotation(3); //回転
M5.Lcd.setCursor(0, 0, 2); //位置やサイズ
// データ取得
M5.IMU.getAccelData(&accX, &accY, &accZ);
//ディスプレイに表示
M5.Lcd.printf("%5.2f,%5.2f,%5.2f\n", accX, accY, accZ);
delay(10);
}
Author And Source
この問題について(M5StickCによるジェスチャ認識(1)~インストールから加速度取得まで), 我々は、より多くの情報をここで見つけました https://qiita.com/chimamedia/items/7aa8dac10dc178009943著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .