0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

M5StickCによるジェスチャ認識(1)~インストールから加速度取得まで

Last updated at Posted at 2020-07-16

M5StickCによるジェスチャー認識

  • 今回M5StickCを購入(約2,000円)だったので、ジェスチャーなどを簡単に認識できるということで、やってみた。
  • [ここ]で購入できます。

M5StickC系のプログラム関連記事

  1. M5StickCによるジェスチャ認識(1)~インストールから加速度取得まで(この記事)
  2. M5StickCによるジェスチャ認識(2)~サンプルコードによるジェスチャ認識
  3. M5StickCによるジェスチャ認識(3)~Wi-Fi接続と学習データの生成
  4. M5StickCによるジェスチャ認識(4)~オリジナルデータによるジェスチャ認識
  5. M5StickCによる音声認識
    ※現状の予定になります

開発環境・インストール

  • 開発環境:PlatformIO
  • OS: Windows10

PlatformIOのインストール

  • 詳細な手順については割愛しますが、[ここ]やここなどを参考にするといいかと思います。
  • VSCodeインストーラーを各自のOSに応じてダウンロードする
  • とくにインストールをする場合のフォルダの指定ですが、日本語が入らない様に注意してください。
  • VSCodeをインストールしたら、VSCodeを起動し、PlatformIOを入れます。

image.png
↑図の参照:https://dandydot.no-ip.biz/~dot/presen/advtech/seminars/iot_hands_on/install_platformio_ide/README.md.html

  • 一度、VSCodeを再起動する。すると、以下のように、PlatformIOのアイコンが出ていればOK

3 - コピー.JPG

M5StickCで開発できるように

  • PlatformIOをインストールしたら、M5StickCで開発できるように設定する。
  • 「Platforms」から、「Espressif 32」を検索し、インストールする。
    1.png
  • 次に「Libraries」から、「M5StickC」を検索し、インストールする
    2.png

サンプルプログラム「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が表示される。

3.JPG

4.jpeg

  • もし書き込みがうまくいかない場合は、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/

  • 今回は、シンプルな[1]からサンプルプログラムを作成したいと思います
  • Switch Scienceのページから、M5StickCの加速度系は以下のようになっています
    5.jpg

プログラムの作成

  • 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);
}
  • プログラムを書き終えたら「Build」を押して、ビルドする。エラーがなければ、そのまま「Upload」すると、加速度がディスプレイに表示される。

  • 今のプログラムでは、特に明示していないが、ディスプレイだと煩わしい場合があるので、シリアル通信(USBを繋いでいる状態)で、明示的にデータを表示したい場合は、シリアル通信のコードを追加し、シリアルモニターを表示したい場合は「View」→「Command Palette」を押して「Serial Monitor」を入力するとシリアルモニターが表示される。同様に加速度がPlatformIOにも表示される。
    6.jpg

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?