特に誰かがうなずいているときに、誰かの頭の動きを検出する必要があるアプリケーションに取り組んでいます。これを行うために、加速度計 (MPU-6050) を備えたキャップに Arduino を配置しました。加速度計は、水平から少し上を向いている場合は 0 から 10 の値を返し、少し下を向いている場合は 0 から -10 の値を返します。
こののように、単純なうなずきを表す値のパターンを認識する必要があります。次のようなものを使用する必要があると言われました。
for(int x = 0; x < 100; x++){
result += abs(oldvalue) + abs(newvalue) / 2;
}
これで100回ループ(0.5秒程度)の平均値が得られますが、人がうなずいているか否かはresult
.
私自身、ある種の波形をチェックしようと考えましたが、実際にはうなずきます。古い値はしばらくの間、他の値よりも低くまたは高くなりますが、他のセンサー (マイクとコンパス) からの出力もチェックしているため、コードを一時停止できないため、これを行う方法がわかりません。