Seeed XIAO BLE nRF52840 Sense で1軸 姿勢制御モジュール 製作
先日はSeeed XIAO BLE nRF52840 Sense の味見をいたしました。
ここではSeeed XIAO BLE nRF52840 Sense を用いて1軸 姿勢制御モジュールを製作いたしました。
目次
姿勢制御モジュール製作
Seeed XIAO BLE nRF52840 Sense には6軸 IMUセンサが搭載されていますので1軸 姿勢制御モジュール SHISEIGYO-1 Jr.のコントローラにしてみました。
従来のATOM Matrix用基板に一部空中配線で調整しつつ実装し組み上げました。
動作
Seeed XIAO BLE nRF52840 Sense で
姿勢制御モジュール 音声起動#Seeed #xiao #seeedxiao pic.twitter.com/p103zj5st3— HomeMadeGarbage (@H0meMadeGarbage) January 18, 2022
せっかくマイクも搭載されているので音声で起き上がるようにしました。
前回の傾斜計で確認したように姿勢検知には全く問題なさそうです。
モータ回転時にちょっと音がなっているのでブラシレスモータ駆動用のPWM信号の周波数の影響でしょうか?
Seeed XIAO BLE nRF52840 Senseのアナログ出力の周波数は何Hzなんでしょうね?まぁ測ればいいか。今度観ます。
音声検出
動画では「UP!」と発話して起動していますが、音声認識はしておらず大きい音が鳴ったら起き上がるだけですww
マイクの使用方法はPMD用サンプルコードを参考にしました。
以下のように大きい音を検出したらgetup()で起き上がています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
if (samplesRead) { for (int i = 0; i < samplesRead; i++) { Serial.println(sampleBuffer[i]); if(abs(sampleBuffer[i]) > 2000){ samplesRead = 0; delay(500); getup(); break; } } // Clear the read count samplesRead = 0; } |
学習モデルで音声認識もできるようなので今度試してみたいです。
IMU調整
6軸 IMUセンサ LSM6DS3TR-C の検知フルスケールレンジとサンプリングレートを以下のように変更しています。
加速度:±4g、104Hz → ±2g、416Hz
ジャイロ:±2000dps、104Hz → ±245dps、416Hz
変更はLSM6DS3TR-C ライブラリのLSM6DS3TR_C.cppを修正