見出し画像

n秒で組み立てが終わるSlimeVR-Tracker


秒数数えるのやめました

今回の構成はハンダいらず

ATOMS3 Lite&M5Stack用6DoF IMU Proユニット
パッケージから出してケーブル繋いで完成

ファームウェアの書き込みについて

現時点でリリースされておるファームウェアではBMI270はさぽーとされてないので、自作するか、フォークされたものを使えばOKです。
ビルドとアップロードはPlatformIO追加います。搭載されているのは
ESP32-S3FN8ベースとはいえboard はm5stack-atoms3を指定すれば大丈夫です。PIN_IMU_SDAとPIN_IMU_SCLは2と1。batteryは無し。

platformio.ini

[env:m5stack-atoms3]
platform = espressif32
board = m5stack-atoms3
framework = arduino

defines.h

#elif BOARD == BOARD_CUSTOM
  // Define pins by the examples above
   #define PIN_IMU_SDA 2
   #define PIN_IMU_SCL 1
   #define PIN_IMU_INT 255
   #define PIN_IMU_INT_2 255
   #define PIN_BATTERY_LEVEL 255
   #define LED_PIN 255
   #define LED_INVERTED false

LEDについて(光らなくていいならスルー)

SlimeVR-Tracker-ESPはピンに直接接続なLEDに対して m5stack-ATOMS3は、programmable RGB LED (WS2812B-2020) x 1です。FastLEDなどのライブラリを追加してLEDManager.cppを変更すると使えるかもしれないです。
現状:main.cppのsetup() に下のコードいれて光るだけ光らせてます。動作確認ようでloop()に入ったら色変えるだけでも結構やくにたつよ。

    FastLED.addLeds<WS2812B, PIN_LED, GRB>(leds, NUM_LEDS);
    leds[0] = CRGB::Aqua;
    FastLED.show();

動作テスト

ファームウェア書き込むついでに動作テストができます。
SlimeVRSERVERを起動して確認するだけですが、、、

課題

1.バッテリーどうする?
2.ケースどうする?
3.追加センサーつかえるの?

外部バッテリーについて

エネループ3本、推定3.6ボルトにて12時間位稼働しました。あたま、ヒップ、両手、両足、6箇所で使うとして18本を充電するなら運用可能ではあるけどそんなにたくさん電池管理できるのかどうか・・・
プラスとマイナスにそれぞれ100kΩの抵抗をつけてG8に繋いだらADCをつかったバッテリー残量の可視できます。

ケースどうしよ

電池ケースに両面テープでぺた。
センサー側の穴はレゴ互換らしいのでこれを活用してもいいかもです。

追加センサーつかえるのか

方法1。PORT Aを分岐しちゃう
方法2。ヘッダピンのGND,5Vがある4ピンのところにつなぐここでもI2Cが使えるけど、PORT Aとは別系なのでソースの変更必要。

結論!つかえる!

所感

M5Stack用6DoF IMU Proユニットが1月17日に発売されて、これとSTAMPS5でSlimeVR-Trackerが作れそうだなと思って即注文(気になってたATOMS3も合わせて抱き合わせて)。
手元に届いてすぐに組み立て(?)ケーブルつないで(?)ちょこちょこ動作確認しつつBMI270に対応したファーム探して書き込んだらあっさり動きました。バッテリーどうすんの問題は解決せず・・・

M5Capsuleを見つけるに出会う。下参照。

バッテリーが250mAなので2時間位ならトラッカーとして動かせるけどもっと長時間動かしたいってなるとATOMS3+IMU PROにバッテリーを組み合わせるのも選択肢としてはいいかもです。

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